diff --git a/CHANGELOG.md b/CHANGELOG.md
index f4596a58156dcfece00dec6b255334dea579e1fd..473016764167240953252b2bc76d16eb615ca665 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,26 @@
+2.0.0.0-dev49
+=============
+* Various improvements:
+  * Unified Area configuration
+  * Moved EventManager to Magento\Event lib component
+  * Moved FrontController, Routers, Base Actions to Magento\App
+  * Created Magento\App component in library
+  * Declared public interfaces for View component into library
+  * Plushe theme is set as the default theme
+  * Refactor the Blacklist Pattern in the Integrity Test Suite's ClassesTest to Replace Blacklist.php Files
+  * Removed JavaScript unit test TreeSuggestTest.prototype.testBind as obsolete
+  * Introduced ability to register a template engine to process template files having certain extension
+  * Removed support of the Twig template engine along with the corresponding component from the library
+  * Removed layout flag that forced template blocks to output rendered content directly to a browser bypassing the response object
+  * Moved out responsibility of rendering template debugging hints from the template block to the plugin and decorator for a template engine
+* Fixed bugs:
+  * Fixed inability to create product if multiple attributes are assigned to attribute set
+  * Fixed inability to create a new widget instance
+  * Fixed error on Customers Segments Conditions tab while the 'Number of Orders' condition is chosen
+  * Fixed blank page when placing order via Ogone
+  * Fixed various UI issues in Admin Panel with layout, aligning, buttons and fields
+  * Fixed static tests failing to verify themes files
+
 2.0.0.0-dev48
 =============
 * Various improvements:
diff --git a/app/code/Magento/AdminNotification/Model/Resource/System/Message/Collection.php b/app/code/Magento/AdminNotification/Model/Resource/System/Message/Collection.php
index 17f45c5c86299d2d88cad16873f9f571d99a8266..dc167a99ea84d06c94595add80ed282c6e85b61c 100644
--- a/app/code/Magento/AdminNotification/Model/Resource/System/Message/Collection.php
+++ b/app/code/Magento/AdminNotification/Model/Resource/System/Message/Collection.php
@@ -42,7 +42,7 @@ class Collection
     protected $_countBySeverity = array();
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -50,7 +50,7 @@ class Collection
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/AdminNotification/Model/Survey.php b/app/code/Magento/AdminNotification/Model/Survey.php
index cb3922a946b2549cfe8fbfe20e8536dd7a18bbc9..e9c956cd14e0646bb0231b3a736be7f5ab7ec71e 100644
--- a/app/code/Magento/AdminNotification/Model/Survey.php
+++ b/app/code/Magento/AdminNotification/Model/Survey.php
@@ -54,17 +54,17 @@ class Survey
     protected $_flagFactory;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
     /**
      * @param \Magento\Core\Model\FlagFactory $flagFactory
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      */
     public function __construct(
         \Magento\Core\Model\FlagFactory $flagFactory,
-        \Magento\Core\Controller\Request\Http $request
+        \Magento\App\RequestInterface $request
     ) {
         $this->_request = $request;
         $this->_flagFactory = $flagFactory;
diff --git a/app/code/Magento/AdminNotification/Model/System/Message/Baseurl.php b/app/code/Magento/AdminNotification/Model/System/Message/Baseurl.php
index 108f442d990a04041f4a6133bedcd5c2dd6a5d5c..7a129f0b3599c65081ea8a7b57c28a12391c6dc8 100644
--- a/app/code/Magento/AdminNotification/Model/System/Message/Baseurl.php
+++ b/app/code/Magento/AdminNotification/Model/System/Message/Baseurl.php
@@ -27,7 +27,7 @@ class Baseurl
     implements \Magento\AdminNotification\Model\System\MessageInterface
 {
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
@@ -49,13 +49,13 @@ class Baseurl
     /**
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Core\Model\Config\ValueFactory $configValueFactory
      */
     public function __construct(
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Core\Model\Config\ValueFactory $configValueFactory
     ) {
         $this->_urlBuilder = $urlBuilder;
diff --git a/app/code/Magento/AdminNotification/Model/System/Message/CacheOutdated.php b/app/code/Magento/AdminNotification/Model/System/Message/CacheOutdated.php
index 03366d1456b15c165cf01830dae6348d55b45d98..f262f7e640820b4ec111479c55bd5e4f63808d99 100644
--- a/app/code/Magento/AdminNotification/Model/System/Message/CacheOutdated.php
+++ b/app/code/Magento/AdminNotification/Model/System/Message/CacheOutdated.php
@@ -27,7 +27,7 @@ class CacheOutdated
     implements \Magento\AdminNotification\Model\System\MessageInterface
 {
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
@@ -43,12 +43,12 @@ class CacheOutdated
 
     /**
      * @param \Magento\AuthorizationInterface $authorization
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Core\Model\Cache\TypeListInterface $cacheTypeList
      */
     public function __construct(
         \Magento\AuthorizationInterface $authorization,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Core\Model\Cache\TypeListInterface $cacheTypeList
     ) {
         $this->_authorization = $authorization;
diff --git a/app/code/Magento/AdminNotification/Model/System/Message/Survey.php b/app/code/Magento/AdminNotification/Model/System/Message/Survey.php
index 9fa6dcc251ef567fde503e27d8b5b79ca8a72d36..9f1d67cf935d7f2d28643977d86af08ec5ba0968 100644
--- a/app/code/Magento/AdminNotification/Model/System/Message/Survey.php
+++ b/app/code/Magento/AdminNotification/Model/System/Message/Survey.php
@@ -37,7 +37,7 @@ class Survey
     protected $_authorization;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
@@ -49,13 +49,13 @@ class Survey
     /**
      * @param \Magento\Backend\Model\Auth\Session $authSession
      * @param \Magento\AuthorizationInterface $authorization
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\AdminNotification\Model\Survey $survey
      */
     public function __construct(
         \Magento\Backend\Model\Auth\Session $authSession,
         \Magento\AuthorizationInterface $authorization,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\AdminNotification\Model\Survey $survey
     ) {
         $this->_authorization = $authorization;
diff --git a/app/code/Magento/Adminhtml/Block/Catalog/Category/Helper/Image.php b/app/code/Magento/Adminhtml/Block/Catalog/Category/Helper/Image.php
index 680ac066a304b4db2d1930f47afecf140080950f..7bbc7b0c72d3a733c53619db62269fd03948d506 100644
--- a/app/code/Magento/Adminhtml/Block/Catalog/Category/Helper/Image.php
+++ b/app/code/Magento/Adminhtml/Block/Catalog/Category/Helper/Image.php
@@ -45,7 +45,7 @@ class Image extends \Magento\Data\Form\Element\Image
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Data\Form\Element\Factory $factoryElement
      * @param \Magento\Data\Form\Element\CollectionFactory $factoryCollection
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param array $attributes
      */
     public function __construct(
@@ -53,7 +53,7 @@ class Image extends \Magento\Data\Form\Element\Image
         \Magento\Core\Helper\Data $coreData,
         \Magento\Data\Form\Element\Factory $factoryElement,
         \Magento\Data\Form\Element\CollectionFactory $factoryCollection,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         $attributes = array()
     ) {
         $this->_storeManager = $storeManager;
diff --git a/app/code/Magento/Adminhtml/Block/Catalog/Form/Renderer/Config/YearRange.php b/app/code/Magento/Adminhtml/Block/Catalog/Form/Renderer/Config/YearRange.php
index 07188a06b5cd336f1718f37bdcf8734aa539d3a1..65bb1429d61184a8dfd7e214520961d6dd8031e7 100644
--- a/app/code/Magento/Adminhtml/Block/Catalog/Form/Renderer/Config/YearRange.php
+++ b/app/code/Magento/Adminhtml/Block/Catalog/Form/Renderer/Config/YearRange.php
@@ -49,8 +49,7 @@ class YearRange extends \Magento\Backend\Block\System\Config\Form\Field
 
         $from = $element->setValue(isset($values[0]) ? $values[0] : null)->getElementHtml();
         $to = $element->setValue(isset($values[1]) ? $values[1] : null)->getElementHtml();
-        return __('from') . ' ' . $from
-            . ' '
-            . __('to') . ' ' . $to;
+        return __('<label class="label"><span>from</span></label>') . $from
+            . __('<label class="label"><span>to</span></label>') . $to;
     }
 }
diff --git a/app/code/Magento/Adminhtml/Block/Catalog/Helper/Form/Wysiwyg.php b/app/code/Magento/Adminhtml/Block/Catalog/Helper/Form/Wysiwyg.php
index 512a56e02e75b8615ee3de045a6bba673bbbae17..b498f6c79f711af2c8ae38451edbc72e9dcd6e66 100644
--- a/app/code/Magento/Adminhtml/Block/Catalog/Helper/Form/Wysiwyg.php
+++ b/app/code/Magento/Adminhtml/Block/Catalog/Helper/Form/Wysiwyg.php
@@ -55,13 +55,13 @@ class Wysiwyg extends \Magento\Data\Form\Element\Textarea
     protected $_wysiwygConfig;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
      * @param \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Data\Form\Element\Factory $factoryElement
      * @param \Magento\Data\Form\Element\CollectionFactory $factoryCollection
@@ -71,7 +71,7 @@ class Wysiwyg extends \Magento\Data\Form\Element\Textarea
      */
     public function __construct(
         \Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig,
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Data\Form\Element\Factory $factoryElement,
         \Magento\Data\Form\Element\CollectionFactory $factoryCollection,
diff --git a/app/code/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/Config.php b/app/code/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/Config.php
index ae8e36f48e7cdc528980d23e443d683a25a9d71a..fe00553dc3242ab90918c30b9b7403dd079eeb8d 100644
--- a/app/code/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/Config.php
+++ b/app/code/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/Config.php
@@ -49,7 +49,7 @@ class Config
     /**
      * @var \Magento\Core\Model\App
      */
-    protected $_app;
+    protected $_storeManager;
 
     /**
      * @var \Magento\Core\Model\LocaleInterface
@@ -91,7 +91,7 @@ class Config
         $this->_configurableType = $configurableType;
         $this->_coreRegistry = $coreRegistry;
         $this->_catalogData = $catalogData;
-        $this->_app = $app;
+        $this->_storeManager = $app;
         $this->_locale = $locale;
         parent::__construct($coreData, $context, $data);
     }
@@ -489,7 +489,7 @@ class Config
      */
     public function getApp()
     {
-        return $this->_app;
+        return $this->_storeManager;
     }
 
     /**
diff --git a/app/code/Magento/Adminhtml/Block/Catalog/Product/Helper/Form/Category.php b/app/code/Magento/Adminhtml/Block/Catalog/Product/Helper/Form/Category.php
index be8dc829c1ee711bf75d6f70983af06e43ead4be..ed24df7b1817d758f853a27b3498a367f383b4b7 100644
--- a/app/code/Magento/Adminhtml/Block/Catalog/Product/Helper/Form/Category.php
+++ b/app/code/Magento/Adminhtml/Block/Catalog/Product/Helper/Form/Category.php
@@ -36,7 +36,7 @@ namespace Magento\Adminhtml\Block\Catalog\Product\Helper\Form;
 class Category extends \Magento\Data\Form\Element\Multiselect
 {
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -58,7 +58,7 @@ class Category extends \Magento\Data\Form\Element\Multiselect
      * @param \Magento\Data\Form\Element\Factory $factoryElement
      * @param \Magento\Data\Form\Element\CollectionFactory $factoryCollection
      * @param \Magento\Backend\Helper\Data $backendData
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param array $attributes
      */
     public function __construct(
@@ -67,7 +67,7 @@ class Category extends \Magento\Data\Form\Element\Multiselect
         \Magento\Data\Form\Element\Factory $factoryElement,
         \Magento\Data\Form\Element\CollectionFactory $factoryCollection,
         \Magento\Backend\Helper\Data $backendData,
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         array $attributes = array()
     ) {
         $this->_collectionFactory = $collectionFactory;
diff --git a/app/code/Magento/Adminhtml/Block/Catalog/Product/Helper/Form/Gallery.php b/app/code/Magento/Adminhtml/Block/Catalog/Product/Helper/Form/Gallery.php
index 231b2ed1f00490703b2ea6bbe14d94c64864d822..5e618e123d0e86305adcda1f1d178278df241548 100644
--- a/app/code/Magento/Adminhtml/Block/Catalog/Product/Helper/Form/Gallery.php
+++ b/app/code/Magento/Adminhtml/Block/Catalog/Product/Helper/Form/Gallery.php
@@ -42,12 +42,12 @@ class Gallery extends \Magento\Data\Form\Element\AbstractElement
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Data\Form\Element\Factory $factoryElement
@@ -55,7 +55,7 @@ class Gallery extends \Magento\Data\Form\Element\AbstractElement
      * @param array $attributes
      */
     public function __construct(
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Data\Form\Element\Factory $factoryElement,
diff --git a/app/code/Magento/Adminhtml/Block/Cms/Page/Edit/Tab/Content.php b/app/code/Magento/Adminhtml/Block/Cms/Page/Edit/Tab/Content.php
index 52a13314f0cb7ea7b807301892f9fdca79046a3a..0bbda0d7ad05b51e286d323889336fb1646b7a63 100644
--- a/app/code/Magento/Adminhtml/Block/Cms/Page/Edit/Tab/Content.php
+++ b/app/code/Magento/Adminhtml/Block/Cms/Page/Edit/Tab/Content.php
@@ -43,7 +43,7 @@ class Content
      * @param \Magento\Backend\Block\Template\Context $context
      * @param \Magento\Data\Form\Factory $formFactory
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param array $data
      */
@@ -52,7 +52,7 @@ class Content
         \Magento\Backend\Block\Template\Context $context,
         \Magento\Data\Form\Factory $formFactory,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Registry $coreRegistry,
         array $data = array()
     ) {
diff --git a/app/code/Magento/Adminhtml/Block/Page/Head.php b/app/code/Magento/Adminhtml/Block/Page/Head.php
index b6af9a48c0e0388427ace45e516b858ad0f75d32..f8b7a0a6d2ae8cf5bb0723057e87f20690019a1f 100644
--- a/app/code/Magento/Adminhtml/Block/Page/Head.php
+++ b/app/code/Magento/Adminhtml/Block/Page/Head.php
@@ -48,7 +48,7 @@ class Head extends \Magento\Page\Block\Html\Head
     /**
      * @param \Magento\Core\Model\Session $session
      * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Helper\File\Storage\Database $fileStorageDatabase
      * @param \Magento\Core\Helper\Data $coreData
@@ -62,7 +62,7 @@ class Head extends \Magento\Page\Block\Html\Head
     public function __construct(
         \Magento\Core\Model\Session $session,
         \Magento\Core\Model\LocaleInterface $locale,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Helper\File\Storage\Database $fileStorageDatabase,
         \Magento\Core\Helper\Data $coreData,
diff --git a/app/code/Magento/Adminhtml/Block/Sales/Items/AbstractItems.php b/app/code/Magento/Adminhtml/Block/Sales/Items/AbstractItems.php
index 56f57a862b44489a5a3b264719c0acd03219716f..2c924b57e1cc5790daf7977fb666d9f89bdf0cc3 100644
--- a/app/code/Magento/Adminhtml/Block/Sales/Items/AbstractItems.php
+++ b/app/code/Magento/Adminhtml/Block/Sales/Items/AbstractItems.php
@@ -127,7 +127,7 @@ class AbstractItems extends \Magento\Backend\Block\Template
     public function getItemRenderer($type)
     {
         $renderer = $this->getChildBlock($type) ?: $this->getChildBlock(self::DEFAULT_TYPE);
-        if (!$renderer instanceof \Magento\Core\Block) {
+        if (!$renderer instanceof \Magento\View\Element\BlockInterface) {
             throw new \RuntimeException('Renderer for type "' . $type . '" does not exist.');
         }
         foreach ($this->_columnRenders as $columnType => $columnRenderer) {
diff --git a/app/code/Magento/Adminhtml/Controller/Customer.php b/app/code/Magento/Adminhtml/Controller/Customer.php
index d124a6ba4ff10789c77b2b7c8c49637ff1175843..4cb4194c8c74f9b5b7e13d7d1e7d84ca44d8b31f 100644
--- a/app/code/Magento/Adminhtml/Controller/Customer.php
+++ b/app/code/Magento/Adminhtml/Controller/Customer.php
@@ -846,7 +846,7 @@ class Customer extends \Magento\Adminhtml\Controller\Action
             return $this->norouteAction();
         }
 
-        $path = $this->_objectManager->get('Magento\Core\Model\Dir')->getDir('media') . DS . 'customer';
+        $path = $this->_objectManager->get('Magento\App\Dir')->getDir('media') . DS . 'customer';
 
         /** @var \Magento\Filesystem $filesystem */
         $filesystem = $this->_objectManager->get('Magento\Filesystem');
diff --git a/app/code/Magento/Adminhtml/Controller/Sales/Order/Shipment.php b/app/code/Magento/Adminhtml/Controller/Sales/Order/Shipment.php
index fe5b4683e4fa82cf77b2908ca0dc8d83088dd003..c0c6817f60c18fdc85d5e94fc44a94a309407125 100644
--- a/app/code/Magento/Adminhtml/Controller/Sales/Order/Shipment.php
+++ b/app/code/Magento/Adminhtml/Controller/Sales/Order/Shipment.php
@@ -704,8 +704,8 @@ class Shipment extends \Magento\Adminhtml\Controller\Sales\Shipment\AbstractShip
     {
         /** @var \Magento\Filesystem $filesystem */
         $filesystem = $this->_objectManager->get('Magento\Filesystem');
-        /** @var $tmpDir \Magento\Core\Model\Dir */
-        $tmpDir = $this->_objectManager->get('Magento\Core\Model\Dir', $filesystem->getWorkingDirectory());
+        /** @var $tmpDir \Magento\App\Dir */
+        $tmpDir = $this->_objectManager->get('Magento\App\Dir', $filesystem->getWorkingDirectory());
         $image = imagecreatefromstring($imageString);
         if (!$image) {
             return false;
@@ -716,7 +716,7 @@ class Shipment extends \Magento\Adminhtml\Controller\Sales\Shipment\AbstractShip
         $page = new \Zend_Pdf_Page($xSize, $ySize);
 
         imageinterlace($image, 0);
-        $tmpFileName = $tmpDir->getDir(\Magento\Core\Model\Dir::TMP) . 'shipping_labels_'
+        $tmpFileName = $tmpDir->getDir(\Magento\App\Dir::TMP) . 'shipping_labels_'
                      . uniqid(mt_rand()) . time() . '.png';
         imagepng($image, $tmpFileName);
         $pdfImage = \Zend_Pdf_Image::imageWithPath($tmpFileName);
@@ -728,7 +728,7 @@ class Shipment extends \Magento\Adminhtml\Controller\Sales\Shipment\AbstractShip
     /**
      * Return grid with shipping items for Ajax request
      *
-     * @return \Magento\Core\Controller\Response\Http
+     * @return \Magento\App\ResponseInterface
      */
     public function getShippingItemsGridAction()
     {
diff --git a/app/code/Magento/Adminhtml/Controller/Sitemap.php b/app/code/Magento/Adminhtml/Controller/Sitemap.php
index 714a2786a46bcd73edd0140a501d6ce95a9fb2d7..5e5fdaae34d81e555f0e18077eec4e3dae3add90 100644
--- a/app/code/Magento/Adminhtml/Controller/Sitemap.php
+++ b/app/code/Magento/Adminhtml/Controller/Sitemap.php
@@ -175,9 +175,9 @@ class Sitemap extends  \Magento\Adminhtml\Controller\Action
                 $fileName = $model->getSitemapFilename();
 
                 $filesystem->setWorkingDirectory(
-                    $this->_objectManager->get('Magento\Core\Model\Dir')->getDir() . $model->getSitemapPath()
+                    $this->_objectManager->get('Magento\App\Dir')->getDir() . $model->getSitemapPath()
                 );
-                $filePath = $this->_objectManager->get('Magento\Core\Model\Dir')->getDir()
+                $filePath = $this->_objectManager->get('Magento\App\Dir')->getDir()
                     . $model->getSitemapPath() . DS . $fileName;
 
                 if ($fileName && $filesystem->isFile($filePath)) {
diff --git a/app/code/Magento/Adminhtml/Controller/System/Backup.php b/app/code/Magento/Adminhtml/Controller/System/Backup.php
index 4a9e2a024655904aa0478823052d1df46a4f07e7..88b68ed37a37e5bb7813ccb9e024050a00630e63 100644
--- a/app/code/Magento/Adminhtml/Controller/System/Backup.php
+++ b/app/code/Magento/Adminhtml/Controller/System/Backup.php
@@ -143,7 +143,7 @@ class Backup extends \Magento\Adminhtml\Controller\Action
             }
 
             if ($type != \Magento\Backup\Helper\Data::TYPE_DB) {
-                $backupManager->setRootDir($this->_objectManager->get('Magento\Core\Model\Dir')->getDir())
+                $backupManager->setRootDir($this->_objectManager->get('Magento\App\Dir')->getDir())
                     ->addIgnorePaths($helper->getBackupIgnorePaths());
             }
 
@@ -274,7 +274,7 @@ class Backup extends \Magento\Adminhtml\Controller\Action
 
             if ($type != \Magento\Backup\Helper\Data::TYPE_DB) {
 
-                $backupManager->setRootDir($this->_objectManager->get('Magento\Core\Model\Dir')->getDir())
+                $backupManager->setRootDir($this->_objectManager->get('Magento\App\Dir')->getDir())
                     ->addIgnorePaths($helper->getRollbackIgnorePaths());
 
                 if ($this->getRequest()->getParam('use_ftp', false)) {
diff --git a/app/code/Magento/Adminhtml/Controller/System/Store.php b/app/code/Magento/Adminhtml/Controller/System/Store.php
index bc10ead2b71f05abe581fb7f12b26b8f456b3193..7fe8aac1acede5bd0c4d4f3bf3d52097da75cd37 100644
--- a/app/code/Magento/Adminhtml/Controller/System/Store.php
+++ b/app/code/Magento/Adminhtml/Controller/System/Store.php
@@ -471,7 +471,7 @@ class Store extends \Magento\Adminhtml\Controller\Action
             $backup   = $this->_objectManager->create('Magento\Backup\Model\Backup')
                 ->setTime(time())
                 ->setType('db')
-                ->setPath($this->_objectManager->get('Magento\Core\Model\Dir')->getDir('var') . DS . 'backups');
+                ->setPath($this->_objectManager->get('Magento\App\Dir')->getDir('var') . DS . 'backups');
 
             $backupDb->createBackup($backup);
             $this->_getSession()->addSuccess(__('The database was backed up.'));
diff --git a/app/code/Magento/Adminhtml/Helper/Catalog/Product/Edit/Action/Attribute.php b/app/code/Magento/Adminhtml/Helper/Catalog/Product/Edit/Action/Attribute.php
index a0c32c8a951e57938b42e4c54838ad05b232b887..8c4f451926e80c28ec6627d5b7157a4e05381b50 100644
--- a/app/code/Magento/Adminhtml/Helper/Catalog/Product/Edit/Action/Attribute.php
+++ b/app/code/Magento/Adminhtml/Helper/Catalog/Product/Edit/Action/Attribute.php
@@ -34,7 +34,7 @@ class Attribute extends \Magento\Backend\Helper\Data
     /**
      * Selected products for mass-update
      *
-     * @var \Magento\Catalog\Model\Entity\Product\Collection
+     * @var \Magento\Catalog\Model\Resource\Product\Collection
      */
     protected $_products;
 
@@ -68,41 +68,37 @@ class Attribute extends \Magento\Backend\Helper\Data
     protected $_eavConfig;
 
     /**
-     * @param \Magento\Eav\Model\Config $eavConfig
-     * @param \Magento\Backend\Model\Session $session
-     * @param \Magento\Catalog\Model\Resource\Product\CollectionFactory $productsFactory
      * @param \Magento\Core\Helper\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Model\ConfigInterface $applicationConfig
      * @param \Magento\Core\Model\Config\Primary $primaryConfig
-     * @param \Magento\Core\Model\RouterList $routerList
-     * @param \Magento\Core\Model\AppInterface $app
+     * @param \Magento\App\RouterList $routerList
+     * @param \Magento\Core\Model\App\Proxy $app
      * @param \Magento\Backend\Model\Url $backendUrl
      * @param \Magento\Backend\Model\Auth $auth
-     * @param string $defaultAreaFrontName
-     * @param string $backendFrontName
+     * @param \Magento\Backend\App\Area\FrontNameResolver $frontNameResolver
+     * @param \Magento\Eav\Model\Config $eavConfig
+     * @param \Magento\Backend\Model\Session $session
+     * @param \Magento\Catalog\Model\Resource\Product\CollectionFactory $productsFactory
      */
     public function __construct(
-        \Magento\Eav\Model\Config $eavConfig,
-        \Magento\Backend\Model\Session $session,
-        \Magento\Catalog\Model\Resource\Product\CollectionFactory $productsFactory,
         \Magento\Core\Helper\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Model\ConfigInterface $applicationConfig,
         \Magento\Core\Model\Config\Primary $primaryConfig,
-        \Magento\Core\Model\RouterList $routerList,
-        \Magento\Core\Model\AppInterface $app,
+        \Magento\App\RouterList $routerList,
+        \Magento\Core\Model\App\Proxy $app,
         \Magento\Backend\Model\Url $backendUrl,
         \Magento\Backend\Model\Auth $auth,
-        $defaultAreaFrontName,
-        $backendFrontName
+        \Magento\Backend\App\Area\FrontNameResolver $frontNameResolver,
+        \Magento\Eav\Model\Config $eavConfig,
+        \Magento\Backend\Model\Session $session,
+        \Magento\Catalog\Model\Resource\Product\CollectionFactory $productsFactory
     ) {
+
         $this->_eavConfig = $eavConfig;
         $this->_session = $session;
         $this->_productsFactory = $productsFactory;
         parent::__construct(
-            $context, $coreData, $applicationConfig, $primaryConfig, $routerList, $app, $backendUrl, $auth,
-            $defaultAreaFrontName, $backendFrontName
+            $context, $coreData, $primaryConfig, $routerList, $app, $backendUrl, $auth, $frontNameResolver
         );
     }
 
diff --git a/app/code/Magento/Adminhtml/Helper/Dashboard/Data.php b/app/code/Magento/Adminhtml/Helper/Dashboard/Data.php
index b04d14555e387b4686dbd1cb4dc2c7faac6e0815..0127d6d008fcc20af597c2bccbed1ec9bf8a4fd3 100644
--- a/app/code/Magento/Adminhtml/Helper/Dashboard/Data.php
+++ b/app/code/Magento/Adminhtml/Helper/Dashboard/Data.php
@@ -41,14 +41,14 @@ class Data extends \Magento\Core\Helper\Data
 
     /**
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Http $coreHttp
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\Core\Model\Date $dateModel
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\Encryption $encryptor
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param string $installDate
@@ -56,14 +56,14 @@ class Data extends \Magento\Core\Helper\Data
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Http $coreHttp,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\Core\Model\Date $dateModel,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\Encryption $encryptor,
         $installDate,
         $dbCompatibleMode = true
diff --git a/app/code/Magento/Adminhtml/Helper/Dashboard/Order.php b/app/code/Magento/Adminhtml/Helper/Dashboard/Order.php
index ae3322df2b8de0edd4bdfb56b4338a8308a77f91..7f14046330fc12aba44b7704ee077100d0b54620 100644
--- a/app/code/Magento/Adminhtml/Helper/Dashboard/Order.php
+++ b/app/code/Magento/Adminhtml/Helper/Dashboard/Order.php
@@ -38,28 +38,28 @@ class Order extends \Magento\Adminhtml\Helper\Dashboard\AbstractDashboard
 
     /**
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Http $coreHttp
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\Core\Model\Date $dateModel
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\Encryption $encryptor
      * @param \Magento\Reports\Model\Resource\Order\Collection $orderCollection
      * @param bool $dbCompatibleMode
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Http $coreHttp,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\Core\Model\Date $dateModel,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\Encryption $encryptor,
         \Magento\Reports\Model\Resource\Order\Collection $orderCollection,
         $dbCompatibleMode = true
diff --git a/app/code/Magento/Adminhtml/Model/Email/Template.php b/app/code/Magento/Adminhtml/Model/Email/Template.php
index cfbf69f2bf1b6f5414b5c392773656319b5cf952..f192355359cfacdf8ad9de316d06fdfaf4296b49 100644
--- a/app/code/Magento/Adminhtml/Model/Email/Template.php
+++ b/app/code/Magento/Adminhtml/Model/Email/Template.php
@@ -53,12 +53,12 @@ class Template extends \Magento\Core\Model\Email\Template
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Core\Model\View\Url $viewUrl
      * @param \Magento\Core\Model\View\FileSystem $viewFileSystem
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\Config $coreConfig
      * @param \Magento\Core\Model\Email\Template\FilterFactory $emailFilterFactory
      * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\Email\Template\Config $emailConfig
      * @param \Magento\Backend\Model\Config\Structure $structure
      * @param array $data
@@ -72,12 +72,12 @@ class Template extends \Magento\Core\Model\Email\Template
         \Magento\Filesystem $filesystem,
         \Magento\Core\Model\View\Url $viewUrl,
         \Magento\Core\Model\View\FileSystem $viewFileSystem,
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\Config $coreConfig,
         \Magento\Core\Model\Email\Template\FilterFactory $emailFilterFactory,
         \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\Email\Template\Config $emailConfig,
         \Magento\Backend\Model\Config\Structure $structure,
         array $data = array()
diff --git a/app/code/Magento/Adminhtml/Model/Sales/Order/Create.php b/app/code/Magento/Adminhtml/Model/Sales/Order/Create.php
index f05f562ff89ebc579c56df43719f546f58c15a9e..a93ca31f50284622614870182a71872d72aa6e73 100644
--- a/app/code/Magento/Adminhtml/Model/Sales/Order/Create.php
+++ b/app/code/Magento/Adminhtml/Model/Sales/Order/Create.php
@@ -142,7 +142,7 @@ class Create extends \Magento\Object implements \Magento\Checkout\Model\Cart\Car
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -158,7 +158,7 @@ class Create extends \Magento\Object implements \Magento\Checkout\Model\Cart\Car
 
     /**
      * @param \Magento\ObjectManager $objectManager
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param \Magento\Sales\Model\Config $salesConfig
@@ -168,7 +168,7 @@ class Create extends \Magento\Object implements \Magento\Checkout\Model\Cart\Car
      */
     public function __construct(
         \Magento\ObjectManager $objectManager,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Model\Registry $coreRegistry,
         \Magento\Sales\Model\Config $salesConfig,
diff --git a/app/code/Magento/Adminhtml/etc/di.xml b/app/code/Magento/Adminhtml/etc/di.xml
index bb601f67688c2ee4581fd0579258412321760192..be3a96f2292948c1aa0d458ab102297bdce1e33b 100644
--- a/app/code/Magento/Adminhtml/etc/di.xml
+++ b/app/code/Magento/Adminhtml/etc/di.xml
@@ -29,14 +29,9 @@
             <instance type="Magento\Core\Model\Cache\Type\Translate" />
         </param>
     </type>
-    <type name="Magento\Adminhtml\Model\Sales\Order\Create">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Adminhtml\Helper\Dashboard\Data">
         <param name="installDate">
-            <value type="argument">Magento\Core\Model\App\State::PARAM_INSTALL_DATE</value>
+            <value type="argument">Magento\App\State::PARAM_INSTALL_DATE</value>
         </param>
     </type>
     <type name="Magento\Adminhtml\Block\Rating\Edit\Tab\Form">
diff --git a/app/code/Magento/Adminhtml/view/adminhtml/dashboard/index.phtml b/app/code/Magento/Adminhtml/view/adminhtml/dashboard/index.phtml
index 54197ca68b3ec193ec20101f2adc21970b3b9886..cd6978a99fabc02a0df099d1250b39a3d78980c6 100644
--- a/app/code/Magento/Adminhtml/view/adminhtml/dashboard/index.phtml
+++ b/app/code/Magento/Adminhtml/view/adminhtml/dashboard/index.phtml
@@ -98,13 +98,9 @@ function toggleCal(id) {
                 <?php if (is_array($this->getChildBlock('diagrams')->getTabsIds())) : ?>
                     <div id="diagram_tab_content"></div>
                 <?php endif; ?>
-                <div style="margin:20px;">
-                    <?php echo $this->getChildHtml('totals') ?>
-                </div>
-                <div style="margin:20px;">
-                    <?php echo $this->getChildHtml('grids') ?>
-                    <div id="grid_tab_content"></div>
-                </div>
+                <?php echo $this->getChildHtml('totals') ?>
+                <?php echo $this->getChildHtml('grids') ?>
+                <div id="grid_tab_content"></div>
             </div>
          </div>
          <div class="side-col">
diff --git a/app/code/Magento/Adminhtml/view/adminhtml/system/cache/additional.phtml b/app/code/Magento/Adminhtml/view/adminhtml/system/cache/additional.phtml
index 0d5133982f2cdde061756bf9d22468d7349b45a9..c96ac544f3a17ec16072f44e34ccfedae146579a 100644
--- a/app/code/Magento/Adminhtml/view/adminhtml/system/cache/additional.phtml
+++ b/app/code/Magento/Adminhtml/view/adminhtml/system/cache/additional.phtml
@@ -24,7 +24,7 @@
  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
  */
 ?>
-<div class="fieldset">
+<div class="fieldset additional-cache-management">
     <div class="legend">
         <span><?php echo __('Additional Cache Management') ?></span>
     </div>
@@ -32,13 +32,13 @@
         <button onclick="setLocation('<?php echo $this->getCleanImagesUrl()?>')" type="button">
             <?php echo __('Flush Catalog Images Cache') ?>
         </button>
-        <span class="label"><?php echo __('Pregenerated product images files')?></span>
+        <label class="label"><?php echo __('Pregenerated product images files')?></label>
     </div>
     <div class="field">
         <button onclick="setLocation('<?php echo $this->getCleanMediaUrl()?>')" type="button">
             <?php echo __('Flush JavaScript/CSS Cache') ?>
         </button>
-        <span class="label"><?php echo __('Themes JavaScript and CSS files combined to one file.')?></span>
+        <label class="label"><?php echo __('Themes JavaScript and CSS files combined to one file.')?></label>
     </div>
     <?php echo $this->getChildHtml(); ?>
 </div>
diff --git a/app/code/Magento/Authorizenet/Model/Directpost.php b/app/code/Magento/Authorizenet/Model/Directpost.php
index b855e4f79584903dcb16cbf5cc2b5e7cf68ea9fa..76b9b4b57a910ce2f9b3cf76a49b278ab93b1022 100644
--- a/app/code/Magento/Authorizenet/Model/Directpost.php
+++ b/app/code/Magento/Authorizenet/Model/Directpost.php
@@ -82,9 +82,9 @@ class Directpost extends \Magento\Paygate\Model\Authorizenet
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
      * @param \Magento\Core\Model\Session\AbstractSession $session
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Paygate\Helper\Data $paygateData
-     * @param \Magento\Core\Model\ModuleListInterface $moduleList
+     * @param \Magento\App\ModuleListInterface $moduleList
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
@@ -104,9 +104,9 @@ class Directpost extends \Magento\Paygate\Model\Authorizenet
         \Magento\Sales\Model\OrderFactory $orderFactory,
         \Magento\Core\Model\Session\AbstractSession $session,
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Paygate\Helper\Data $paygateData,
-        \Magento\Core\Model\ModuleListInterface $moduleList,
+        \Magento\App\ModuleListInterface $moduleList,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
diff --git a/app/code/Magento/Backend/App/Area/FrontNameResolver.php b/app/code/Magento/Backend/App/Area/FrontNameResolver.php
new file mode 100644
index 0000000000000000000000000000000000000000..85dd32d939e682b878617578fefd8a753afb5dd9
--- /dev/null
+++ b/app/code/Magento/Backend/App/Area/FrontNameResolver.php
@@ -0,0 +1,66 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Backend\App\Area;
+
+class FrontNameResolver implements \Magento\App\Area\FrontNameResolverInterface
+{
+    const XML_PATH_USE_CUSTOM_ADMIN_PATH        = 'admin/url/use_custom_path';
+    const XML_PATH_CUSTOM_ADMIN_PATH            = 'admin/url/custom_path';
+
+    const PARAM_BACKEND_FRONT_NAME              = 'backend.frontName';
+
+    /**
+     * @var string
+     */
+    protected $_defaultFrontName;
+
+    /**
+     * @var \Magento\Core\Model\ConfigInterface
+     */
+    protected $_config;
+
+    /**
+     * @param \Magento\Core\Model\ConfigInterface $config
+     * @param string $defaultFrontName
+     */
+    public function __construct(\Magento\Core\Model\ConfigInterface $config, $defaultFrontName)
+    {
+        $this->_config = $config;
+        $this->_defaultFrontName = $defaultFrontName;
+    }
+
+    /**
+     * Retrieve area front name
+     *
+     * @return string
+     */
+    public function getFrontName()
+    {
+        $isCustomPathUsed = (bool)(string)$this->_config->getValue(self::XML_PATH_USE_CUSTOM_ADMIN_PATH, 'default');
+        if ($isCustomPathUsed) {
+            return (string)$this->_config->getValue(self::XML_PATH_CUSTOM_ADMIN_PATH, 'default');
+        }
+        return $this->_defaultFrontName;
+    }
+}
\ No newline at end of file
diff --git a/app/code/Magento/Backend/App/Request/PathInfoProcessor.php b/app/code/Magento/Backend/App/Request/PathInfoProcessor.php
new file mode 100644
index 0000000000000000000000000000000000000000..e88af14ad33a64b29b2053790e5db1d9306bc2c0
--- /dev/null
+++ b/app/code/Magento/Backend/App/Request/PathInfoProcessor.php
@@ -0,0 +1,65 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Backend\App\Request;
+
+class PathInfoProcessor implements \Magento\App\Request\PathInfoProcessorInterface
+{
+    /**
+     * @var \Magento\Backend\Helper\Data
+     */
+    private $_helper;
+    /**
+     * @var \Magento\Core\App\Request\PathInfoProcessor
+     */
+    private $_subject;
+
+    /**
+     * @param \Magento\Core\App\Request\PathInfoProcessor $subject
+     * @param \Magento\Backend\Helper\Data $helper
+     */
+    public function __construct(
+        \Magento\Core\App\Request\PathInfoProcessor $subject, \Magento\Backend\Helper\Data $helper
+    ) {
+        $this->_helper = $helper;
+        $this->_subject = $subject;
+    }
+
+    /**
+     * Process path info
+     *
+     * @param \Magento\App\RequestInterface $request
+     * @param string $pathInfo
+     * @return string
+     */
+    public function process(\Magento\App\RequestInterface $request, $pathInfo)
+    {
+        $pathParts = explode('/', ltrim($pathInfo, '/'), 2);
+        $storeCode = $pathParts[0];
+
+        if ($storeCode != $this->_helper->getAreaFrontName()) {
+            return $this->_subject->process($request, $pathInfo);
+        }
+        return $pathInfo;
+    }
+}
\ No newline at end of file
diff --git a/app/code/Magento/Backend/Model/Router/NoRouteHandler.php b/app/code/Magento/Backend/App/Router/NoRouteHandler.php
similarity index 87%
rename from app/code/Magento/Backend/Model/Router/NoRouteHandler.php
rename to app/code/Magento/Backend/App/Router/NoRouteHandler.php
index 9e645c1895cc4d931d87a4bfbcd36ee1e511b772..da35e1856de310b106e7f1b7c43f9da16c2db661 100644
--- a/app/code/Magento/Backend/Model/Router/NoRouteHandler.php
+++ b/app/code/Magento/Backend/App/Router/NoRouteHandler.php
@@ -24,9 +24,9 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-namespace Magento\Backend\Model\Router;
+namespace Magento\Backend\App\Router;
 
-class NoRouteHandler implements \Magento\Core\Model\Router\NoRouteHandlerInterface
+class NoRouteHandler implements \Magento\Appl\Router\NoRouteHandlerInterface
 {
     /**
      * @var \Magento\Backend\Helper\Data
@@ -44,10 +44,10 @@ class NoRouteHandler implements \Magento\Core\Model\Router\NoRouteHandlerInterfa
     /**
      * Check and process no route request
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return bool
      */
-    public function process(\Magento\Core\Controller\Request\Http $request)
+    public function process(\Magento\App\RequestInterface $request)
     {
         $requestPathParams = explode('/', trim($request->getPathInfo(), '/'));
         $areaFrontName = array_shift($requestPathParams);
diff --git a/app/code/Magento/Backend/Block/Context.php b/app/code/Magento/Backend/Block/Context.php
index 54b975a2e6f1d66763acb9e07acbff0ba73d53c5..c7213a9dddde26007b2a527f17ff95a8b477b150 100644
--- a/app/code/Magento/Backend/Block/Context.php
+++ b/app/code/Magento/Backend/Block/Context.php
@@ -36,41 +36,41 @@ class Context extends \Magento\Core\Block\Context
     protected $_authorization;
 
     /**
-     * @param \Magento\Core\Controller\Request\Http $request
-     * @param \Magento\Core\Model\Layout $layout
-     * @param \Magento\Core\Model\Event\Manager $eventManager
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\App\RequestInterface $request
+     * @param \Magento\View\LayoutInterface $layout
+     * @param \Magento\Event\ManagerInterface $eventManager
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Core\Model\Translate $translator
      * @param \Magento\Core\Model\CacheInterface $cache
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Session\AbstractSession $session
      * @param \Magento\Core\Model\Store\Config $storeConfig
-     * @param \Magento\Core\Controller\Varien\Front $frontController
+     * @param \Magento\App\FrontController $frontController
      * @param \Magento\Core\Model\Factory\Helper $helperFactory
      * @param \Magento\Core\Model\View\Url $viewUrl
-     * @param \Magento\Core\Model\View\Config $viewConfig
+     * @param \Magento\View\ConfigInterface $viewConfig
      * @param \Magento\Core\Model\Cache\StateInterface $cacheState
      * @param \Magento\AuthorizationInterface $authorization
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Core\Model\App $app
      * @param array $data
-     *
+     * 
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Controller\Request\Http $request,
-        \Magento\Core\Model\Layout $layout,
-        \Magento\Core\Model\Event\Manager $eventManager,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\App\RequestInterface $request,
+        \Magento\View\LayoutInterface $layout,
+        \Magento\Event\ManagerInterface $eventManager,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Core\Model\Translate $translator,
         \Magento\Core\Model\CacheInterface $cache,
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Session\AbstractSession $session,
         \Magento\Core\Model\Store\Config $storeConfig,
-        \Magento\Core\Controller\Varien\Front $frontController,
+        \Magento\App\FrontController $frontController,
         \Magento\Core\Model\Factory\Helper $helperFactory,
         \Magento\Core\Model\View\Url $viewUrl,
-        \Magento\Core\Model\View\Config $viewConfig,
+        \Magento\View\ConfigInterface $viewConfig,
         \Magento\Core\Model\Cache\StateInterface $cacheState,
         \Magento\AuthorizationInterface $authorization,
         \Magento\Core\Model\Logger $logger,
diff --git a/app/code/Magento/Backend/Block/System/Config/Form/Field/Regexceptions.php b/app/code/Magento/Backend/Block/System/Config/Form/Field/Regexceptions.php
index ae4748fe9fe5e992020a454d3b49bef6f73c24d4..4eadf3c9e92be05b7d04b37a43401e6ff324b361 100644
--- a/app/code/Magento/Backend/Block/System/Config/Form/Field/Regexceptions.php
+++ b/app/code/Magento/Backend/Block/System/Config/Form/Field/Regexceptions.php
@@ -70,11 +70,9 @@ class Regexceptions
     {
         $this->addColumn('search', array(
             'label' => __('Search String'),
-            'style' => 'width:120px',
         ));
         $this->addColumn('value', array(
             'label' => __('Design Theme'),
-            'style' => 'width:120px',
         ));
         $this->_addAfter = false;
         $this->_addButtonLabel = __('Add \Exception');
diff --git a/app/code/Magento/Backend/Block/System/Config/Form/Fieldset/Modules/DisableOutput.php b/app/code/Magento/Backend/Block/System/Config/Form/Fieldset/Modules/DisableOutput.php
index 4c69ee8edf68b36be3a9b29c337a65c98d52ad03..923206ff93bd30b0b9c11a5e63273143022f7b53 100644
--- a/app/code/Magento/Backend/Block/System/Config/Form/Fieldset/Modules/DisableOutput.php
+++ b/app/code/Magento/Backend/Block/System/Config/Form/Fieldset/Modules/DisableOutput.php
@@ -49,20 +49,20 @@ class DisableOutput
     protected $_values;
 
     /**
-     * @var \Magento\Core\Model\ModuleListInterface
+     * @var \Magento\App\ModuleListInterface
      */
     protected $_moduleList;
 
     /**
      * @param \Magento\Backend\Block\Context $context
      * @param \Magento\Backend\Model\Auth\Session $authSession
-     * @param \Magento\Core\Model\ModuleListInterface $moduleList
+     * @param \Magento\App\ModuleListInterface $moduleList
      * @param array $data
      */
     public function __construct(
         \Magento\Backend\Block\Context $context,
         \Magento\Backend\Model\Auth\Session $authSession,
-        \Magento\Core\Model\ModuleListInterface $moduleList,
+        \Magento\App\ModuleListInterface $moduleList,
         array $data = array()
     ) {
         parent::__construct($context, $authSession, $data);
diff --git a/app/code/Magento/Backend/Block/Template/Context.php b/app/code/Magento/Backend/Block/Template/Context.php
index b861608abc632b97be3b96324f4818d8ba33be96..def099d23b20895c2ee2e3a48ab3839d003390fc 100644
--- a/app/code/Magento/Backend/Block/Template/Context.php
+++ b/app/code/Magento/Backend/Block/Template/Context.php
@@ -47,53 +47,53 @@ class Context extends \Magento\Core\Block\Template\Context
 
     /**
      * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Controller\Request\Http $request
-     * @param \Magento\Core\Model\Layout $layout
-     * @param \Magento\Core\Model\Event\Manager $eventManager
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\App\RequestInterface $request
+     * @param \Magento\View\LayoutInterface $layout
+     * @param \Magento\Event\ManagerInterface $eventManager
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Core\Model\Translate $translator
      * @param \Magento\Core\Model\CacheInterface $cache
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Session $session
      * @param \Magento\Core\Model\Store\Config $storeConfig
-     * @param \Magento\Core\Controller\Varien\Front $frontController
+     * @param \Magento\App\FrontController $frontController
      * @param \Magento\Core\Model\Factory\Helper $helperFactory
      * @param \Magento\Core\Model\View\Url $viewUrl
-     * @param \Magento\Core\Model\View\Config $viewConfig
+     * @param \Magento\View\ConfigInterface $viewConfig
      * @param \Magento\Core\Model\Cache\StateInterface $cacheState
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Core\Model\View\FileSystem $viewFileSystem
-     * @param \Magento\Core\Model\TemplateEngine\Factory $engineFactory
+     * @param \Magento\Core\Model\TemplateEngine\Pool $enginePool
      * @param \Magento\AuthorizationInterface $authorization
      * @param \Magento\Core\Model\App $app
      * @param \Magento\Backend\Model\Session $backendSession
      * @param \Magento\Core\Model\LocaleInterface $locale
-     *
+     * 
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
         \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Controller\Request\Http $request,
-        \Magento\Core\Model\Layout $layout,
-        \Magento\Core\Model\Event\Manager $eventManager,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\App\RequestInterface $request,
+        \Magento\View\LayoutInterface $layout,
+        \Magento\Event\ManagerInterface $eventManager,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Core\Model\Translate $translator,
         \Magento\Core\Model\CacheInterface $cache,
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Session $session,
         \Magento\Core\Model\Store\Config $storeConfig,
-        \Magento\Core\Controller\Varien\Front $frontController,
+        \Magento\App\FrontController $frontController,
         \Magento\Core\Model\Factory\Helper $helperFactory,
         \Magento\Core\Model\View\Url $viewUrl,
-        \Magento\Core\Model\View\Config $viewConfig,
+        \Magento\View\ConfigInterface $viewConfig,
         \Magento\Core\Model\Cache\StateInterface $cacheState,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Core\Model\Logger $logger,
         \Magento\Filesystem $filesystem,
         \Magento\Core\Model\View\FileSystem $viewFileSystem,
-        \Magento\Core\Model\TemplateEngine\Factory $engineFactory,
+        \Magento\Core\Model\TemplateEngine\Pool $enginePool,
         \Magento\AuthorizationInterface $authorization,
         \Magento\Core\Model\App $app,
         \Magento\Backend\Model\Session $backendSession,
@@ -102,7 +102,7 @@ class Context extends \Magento\Core\Block\Template\Context
         parent::__construct(
             $request, $layout, $eventManager, $urlBuilder, $translator, $cache, $design, $session, $storeConfig,
             $frontController, $helperFactory, $viewUrl, $viewConfig, $cacheState,
-            $dirs, $logger, $filesystem, $viewFileSystem, $engineFactory, $app
+            $dirs, $logger, $filesystem, $viewFileSystem, $enginePool, $app
         );
         $this->_storeManager = $storeManager;
         $this->_authorization = $authorization;
@@ -123,7 +123,7 @@ class Context extends \Magento\Core\Block\Template\Context
     /**
      * Retrieve Authorization
      *
-     * @return \\Magento\AuthorizationInterface
+     * @return \Magento\AuthorizationInterface
      */
     public function getAuthorization()
     {
diff --git a/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Currency.php b/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Currency.php
index e4a1dff97c79697766704e7bdf57ce43be844090..6ffbd69dcc4e444b6cd0db497ca9feb6aaa3f2cb 100644
--- a/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Currency.php
+++ b/app/code/Magento/Backend/Block/Widget/Grid/Column/Renderer/Currency.php
@@ -49,7 +49,7 @@ class Currency
      *
      * @var \Magento\Core\Model\App
      */
-    protected $_app;
+    protected $_storeManager;
 
     /**
      * Locale
@@ -65,20 +65,20 @@ class Currency
 
     /**
      * @param \Magento\Backend\Block\Context $context
-     * @param \Magento\Core\Model\App $app
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Directory\Model\Currency\DefaultLocator $currencyLocator
      * @param array $data
      */
     public function __construct(
         \Magento\Backend\Block\Context $context,
-        \Magento\Core\Model\App $app,
+        \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Directory\Model\Currency\DefaultLocator $currencyLocator,
         array $data = array()
     ) {
         parent::__construct($context, $data);
-        $this->_app = $app;
+        $this->_storeManager = $storeManager;
         $this->_locale = $locale;
         $this->_currencyLocator = $currencyLocator;
     }
@@ -135,7 +135,7 @@ class Currency
         if ($rate = $row->getData($this->getColumn()->getRateField())) {
             return floatval($rate);
         }
-        return $this->_app->getStore()->getBaseCurrency()->getRate($this->_getCurrencyCode($row));
+        return $this->_storeManager->getStore()->getBaseCurrency()->getRate($this->_getCurrencyCode($row));
     }
 
     /**
diff --git a/app/code/Magento/Backend/Block/Widget/Grid/Export.php b/app/code/Magento/Backend/Block/Widget/Grid/Export.php
index 775a8ebb43a0d85fa464535be4d90b8cfd8cff70..67bf75f7c953d0b6376089accea95feda407ace4 100644
--- a/app/code/Magento/Backend/Block/Widget/Grid/Export.php
+++ b/app/code/Magento/Backend/Block/Widget/Grid/Export.php
@@ -91,7 +91,7 @@ class Export
                 $this->addExportType($type['urlPath'], $type['label']);
             }
         }
-        $this->_exportPath = $this->_dirs->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'export';
+        $this->_exportPath = $this->_dirs->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'export';
     }
 
     /**
diff --git a/app/code/Magento/Backend/Block/Widget/Grid/Extended.php b/app/code/Magento/Backend/Block/Widget/Grid/Extended.php
index cd5a644fbdb0f5d62777409de34bca411c5e107d..72bdd253523a985546fe74e7f0d070fe5b30086c 100644
--- a/app/code/Magento/Backend/Block/Widget/Grid/Extended.php
+++ b/app/code/Magento/Backend/Block/Widget/Grid/Extended.php
@@ -184,7 +184,7 @@ class Extended
     {
         parent::_construct();
         $this->_emptyText = __('We couldn\'t find any records.');
-        $this->_exportPath = $this->_dirs->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'export';
+        $this->_exportPath = $this->_dirs->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'export';
     }
 
     /**
diff --git a/app/code/Magento/Backend/Controller/AbstractAction.php b/app/code/Magento/Backend/Controller/AbstractAction.php
index c7503740b8e094a76020376f0aa4f3a96072f0c8..a0f745f517503d275792eec240173f2bd650d033 100644
--- a/app/code/Magento/Backend/Controller/AbstractAction.php
+++ b/app/code/Magento/Backend/Controller/AbstractAction.php
@@ -349,9 +349,9 @@ abstract class AbstractAction extends \Magento\Core\Controller\Varien\Action
     /**
      * Process not logged in user data
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      */
-    protected function _processNotLoggedInUser(\Magento\Core\Controller\Request\Http $request)
+    protected function _processNotLoggedInUser(\Magento\App\RequestInterface $request)
     {
         $isRedirectNeeded = false;
         if ($request->getPost('login') && $this->_performLogin()) {
diff --git a/app/code/Magento/Backend/Controller/Context.php b/app/code/Magento/Backend/Controller/Context.php
index cbc37f128b37c56ba92a0777be212805c5a52758..d3218cad9d00755f3da23f4bcebd7475c9a1e482 100644
--- a/app/code/Magento/Backend/Controller/Context.php
+++ b/app/code/Magento/Backend/Controller/Context.php
@@ -70,13 +70,13 @@ class Context extends \Magento\Core\Controller\Varien\Action\Context
 
     /**
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Controller\Request\Http $request
-     * @param \Magento\Core\Controller\Response\Http $response
+     * @param \Magento\App\RequestInterface $request
+     * @param \Magento\App\ResponseInterface $response
      * @param \Magento\ObjectManager $objectManager
-     * @param \Magento\Core\Controller\Varien\Front $frontController
-     * @param \Magento\Core\Model\Layout $layout
-     * @param \Magento\Core\Model\Event\Manager $eventManager
-     * @param bool $isRenderInherited
+     * @param \Magento\App\FrontController $frontController
+     * @param \Magento\View\LayoutInterface $layout
+     * @param \Magento\Event\ManagerInterface $eventManager
+     * @param $isRenderInherited
      * @param \Magento\Backend\Model\Session $session
      * @param \Magento\Backend\Helper\Data $helper
      * @param \Magento\AuthorizationInterface $authorization
@@ -84,17 +84,17 @@ class Context extends \Magento\Core\Controller\Varien\Action\Context
      * @param \Magento\Backend\Model\Auth $auth
      * @param \Magento\Backend\Model\Url $backendUrl
      * @param \Magento\Core\Model\LocaleInterface $locale
-     *
+     * 
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Controller\Request\Http $request,
-        \Magento\Core\Controller\Response\Http $response,
+        \Magento\App\RequestInterface $request,
+        \Magento\App\ResponseInterface $response,
         \Magento\ObjectManager $objectManager,
-        \Magento\Core\Controller\Varien\Front $frontController,
-        \Magento\Core\Model\Layout $layout,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\App\FrontController $frontController,
+        \Magento\View\LayoutInterface $layout,
+        \Magento\Event\ManagerInterface $eventManager,
         $isRenderInherited,
         \Magento\Backend\Model\Session $session,
         \Magento\Backend\Helper\Data $helper,
diff --git a/app/code/Magento/Backend/Controller/Factory.php b/app/code/Magento/Backend/Controller/Factory.php
index d72ceccd66ef0eda85ea3ba589fbe0f485c4a496..18aecc8d4dbc4fe2c56d587ca0ae0563b9c8a870 100644
--- a/app/code/Magento/Backend/Controller/Factory.php
+++ b/app/code/Magento/Backend/Controller/Factory.php
@@ -33,7 +33,7 @@
  */
 namespace Magento\Backend\Controller;
 
-class Factory extends \Magento\Core\Controller\Varien\Action\Factory
+class Factory extends \Magento\App\ActionFactory
 {
     /**
      * @param string $controllerName
diff --git a/app/code/Magento/Backend/Controller/Router/DefaultRouter.php b/app/code/Magento/Backend/Controller/Router/DefaultRouter.php
index 105fced1d4c3fb38a76fa0de310eb42b0238d8ec..a5a5a2ba2a4e1e695f6789cf84e99088da1de2de 100644
--- a/app/code/Magento/Backend/Controller/Router/DefaultRouter.php
+++ b/app/code/Magento/Backend/Controller/Router/DefaultRouter.php
@@ -68,7 +68,7 @@ class DefaultRouter extends \Magento\Core\Controller\Varien\Router\Base
     protected $_defaultRouteId;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -84,18 +84,17 @@ class DefaultRouter extends \Magento\Core\Controller\Varien\Router\Base
 
     /**
      * @param \Magento\Backend\Helper\Data $backendData
-     * @param \Magento\Core\Controller\Varien\Action\Factory $controllerFactory
+     * @param \Magento\App\ActionFactory $controllerFactory
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\App\State $appState
-     * @param \Magento\Core\Model\Config\Scope $configScope
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\Route\Config $routeConfig
      * @param \Magento\Core\Model\Url\SecurityInfoInterface $securityInfo
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Url $url
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param $areaCode
      * @param $baseController
      * @param $routerId
@@ -107,18 +106,17 @@ class DefaultRouter extends \Magento\Core\Controller\Varien\Router\Base
      */
     public function __construct(
         \Magento\Backend\Helper\Data $backendData,
-        \Magento\Core\Controller\Varien\Action\Factory $controllerFactory,
+        \Magento\App\ActionFactory $controllerFactory,
         \Magento\Filesystem $filesystem,
         \Magento\Core\Model\App $app,
-        \Magento\Core\Model\App\State $appState,
-        \Magento\Core\Model\Config\Scope $configScope,
+        \Magento\App\State $appState,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\Route\Config $routeConfig,
         \Magento\Core\Model\Url\SecurityInfoInterface $securityInfo,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Url $url,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         $areaCode,
         $baseController,
         $routerId,
@@ -128,7 +126,6 @@ class DefaultRouter extends \Magento\Core\Controller\Varien\Router\Base
             $controllerFactory,
             $filesystem,
             $app,
-            $configScope,
             $coreStoreConfig,
             $routeConfig,
             $securityInfo,
@@ -147,9 +144,6 @@ class DefaultRouter extends \Magento\Core\Controller\Varien\Router\Base
         $this->_url = $url;
         $this->_areaFrontName = $this->_backendData->getAreaFrontName();
         $this->_defaultRouteId = $defaultRouteId;
-        if (empty($this->_areaFrontName)) {
-            throw new \InvalidArgumentException('Area Front Name should be defined');
-        }
     }
 
     /**
@@ -250,7 +244,7 @@ class DefaultRouter extends \Magento\Core\Controller\Varien\Router\Base
     /**
      * Retrieve current secure url
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return string
      */
     protected function _getCurrentSecureUrl($request)
diff --git a/app/code/Magento/Backend/Helper/Data.php b/app/code/Magento/Backend/Helper/Data.php
index b15851ab5ac5b63f7b669fa5299a6dc28adb13e2..58c66c98540762ff1bb192fbe1367325d7f3c2cd 100644
--- a/app/code/Magento/Backend/Helper/Data.php
+++ b/app/code/Magento/Backend/Helper/Data.php
@@ -32,38 +32,17 @@ namespace Magento\Backend\Helper;
 class Data extends \Magento\Core\Helper\AbstractHelper
 {
     const XML_PATH_USE_CUSTOM_ADMIN_URL         = 'admin/url/use_custom';
-    const XML_PATH_USE_CUSTOM_ADMIN_PATH        = 'admin/url/use_custom_path';
-    const XML_PATH_CUSTOM_ADMIN_PATH            = 'admin/url/custom_path';
-    const XML_PATH_BACKEND_AREA_FRONTNAME       = 'default/backend/frontName';
     const BACKEND_AREA_CODE                     = 'adminhtml';
 
-    const PARAM_BACKEND_FRONT_NAME              = 'backend.frontName';
-
     protected $_pageHelpUrl;
 
-    /**
-     * @var \Magento\Core\Model\ConfigInterface
-     */
-    protected $_config;
-
     /**
      * @var \Magento\Core\Model\Config\Primary
      */
     protected $_primaryConfig;
 
     /**
-     * @var string
-     */
-    protected $_defaultAreaFrontName;
-
-    /**
-     * Area front name
-     * @var string
-     */
-    protected $_areaFrontName = null;
-
-    /**
-     * @var \Magento\Core\Model\RouterList
+     * @var \Magento\App\RouterList
      */
     protected $_routerList;
 
@@ -75,7 +54,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_coreData = null;
 
     /**
-     * @var \Magento\Core\Model\AppInterface
+     * @var \Magento\Core\Model\App
      */
     protected $_app;
 
@@ -90,48 +69,38 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_auth;
 
     /**
-     * Backend area front name
-     *
-     * @var string
+     * @var \Magento\Backend\App\Area\FrontNameResolver
      */
-    protected $_backendFrontName;
+    protected $_frontNameResolver;
 
     /**
      * @param \Magento\Core\Helper\Context $context
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Model\ConfigInterface $applicationConfig
      * @param \Magento\Core\Model\Config\Primary $primaryConfig
-     * @param \Magento\Core\Model\RouterList $routerList
-     * @param \Magento\Core\Model\AppInterface $app
+     * @param \Magento\App\RouterList $routerList
+     * @param \Magento\Core\Model\App $app
      * @param \Magento\Backend\Model\Url $backendUrl
      * @param \Magento\Backend\Model\Auth $auth
-     * @param string $defaultAreaFrontName
-     * @param string $backendFrontName
-     *
-     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+     * @param \Magento\Backend\App\Area\FrontNameResolver $frontNameResolver
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Model\ConfigInterface $applicationConfig,
         \Magento\Core\Model\Config\Primary $primaryConfig,
-        \Magento\Core\Model\RouterList $routerList,
-        \Magento\Core\Model\AppInterface $app,
+        \Magento\App\RouterList $routerList,
+        \Magento\Core\Model\App $app,
         \Magento\Backend\Model\Url $backendUrl,
         \Magento\Backend\Model\Auth $auth,
-        $defaultAreaFrontName,
-        $backendFrontName
+        \Magento\Backend\App\Area\FrontNameResolver $frontNameResolver
     ) {
         parent::__construct($context);
         $this->_coreData = $coreData;
-        $this->_config = $applicationConfig;
         $this->_primaryConfig = $primaryConfig;
-        $this->_defaultAreaFrontName = $defaultAreaFrontName;
         $this->_routerList = $routerList;
         $this->_app = $app;
         $this->_backendUrl = $backendUrl;
         $this->_auth = $auth;
-        $this->_backendFrontName = $backendFrontName;
+        $this->_frontNameResolver = $frontNameResolver;
     }
 
     public function getPageHelpUrl()
@@ -252,28 +221,6 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      */
     public function getAreaFrontName()
     {
-        if (null === $this->_areaFrontName) {
-            $isCustomPathUsed = (bool)(string)$this->_config->getValue(self::XML_PATH_USE_CUSTOM_ADMIN_PATH, 'default');
-
-            if ($isCustomPathUsed) {
-                $this->_areaFrontName = (string)$this->_config->getValue(self::XML_PATH_CUSTOM_ADMIN_PATH, 'default');
-            } elseif ($this->_backendFrontName) {
-                $this->_areaFrontName = $this->_backendFrontName;
-            } else {
-                $this->_areaFrontName = $this->_defaultAreaFrontName;
-            }
-        }
-        return $this->_areaFrontName;
-    }
-
-    /**
-     * Invalidate cache of area front name
-     *
-     * @return \Magento\Backend\Helper\Data
-     */
-    public function clearAreaFrontName()
-    {
-        $this->_areaFrontName = null;
-        return $this;
+        return $this->_frontNameResolver->getFrontName();
     }
 }
diff --git a/app/code/Magento/Backend/Model/Auth.php b/app/code/Magento/Backend/Model/Auth.php
index 999e98fdf3193dbbf8cb728449843ef4ff64601d..795b7a4092d471f9e47ff86e6a2737d48e3c8609 100644
--- a/app/code/Magento/Backend/Model/Auth.php
+++ b/app/code/Magento/Backend/Model/Auth.php
@@ -51,7 +51,7 @@ class Auth
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -66,7 +66,7 @@ class Auth
     protected $_modelFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Backend\Helper\Data $backendData
      * @param \Magento\Backend\Model\Auth\StorageInterface $authStorage
      * @param \Magento\Backend\Model\Auth\Credential\StorageInterface $credentialStorage
@@ -74,7 +74,7 @@ class Auth
      * @param \Magento\Core\Model\Factory $modelFactory
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Backend\Helper\Data $backendData,
         \Magento\Backend\Model\Auth\StorageInterface $authStorage,
         \Magento\Backend\Model\Auth\Credential\StorageInterface $credentialStorage,
@@ -131,21 +131,11 @@ class Auth
      * Initialize credential storage from configuration
      *
      * @return void
-     * @throw \Magento\Backend\Model\Auth\Exception if credential storage absent or has not correct configuration
      */
     protected function _initCredentialStorage()
     {
-        $areaConfig = $this->_coreConfig->getAreaConfig($this->_backendData->getAreaCode());
-
-        if (isset($areaConfig['auth_credential_storage'])) {
-            $storage = $this->_modelFactory->create($areaConfig['auth_credential_storage']);
-            if ($storage instanceof \Magento\Backend\Model\Auth\Credential\StorageInterface) {
-                $this->_credentialStorage = $storage;
-                return;
-            }
-        }
-        self::throwException(
-            __('There are no authentication credential storage.')
+        $this->_credentialStorage = $this->_modelFactory->create(
+            'Magento\Backend\Model\Auth\Credential\StorageInterface'
         );
     }
 
diff --git a/app/code/Magento/Backend/Model/Config.php b/app/code/Magento/Backend/Model/Config.php
index 6f7ad29e737af8d0124411de42d52445977e6ebe..dde68d58c088f03be1169c97c99d170ff0aca3cd 100644
--- a/app/code/Magento/Backend/Model/Config.php
+++ b/app/code/Magento/Backend/Model/Config.php
@@ -47,7 +47,7 @@ class Config extends \Magento\Object
     /**
      * Event dispatcher
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -108,7 +108,7 @@ class Config extends \Magento\Object
     /**
      * @param \Magento\Core\Model\App $application
      * @param \Magento\Core\Model\Config $config
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Backend\Model\Config\Structure $configStructure
      * @param \Magento\Core\Model\Resource\TransactionFactory $transactionFactory
      * @param \Magento\Backend\Model\Config\Loader $configLoader
@@ -119,7 +119,7 @@ class Config extends \Magento\Object
     public function __construct(
         \Magento\Core\Model\App $application,
         \Magento\Core\Model\Config $config,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Backend\Model\Config\Structure $configStructure,
         \Magento\Core\Model\Resource\TransactionFactory $transactionFactory,
         \Magento\Backend\Model\Config\Loader $configLoader,
diff --git a/app/code/Magento/Backend/Model/Config/Backend/Admin/Custompath.php b/app/code/Magento/Backend/Model/Config/Backend/Admin/Custompath.php
index 729dbe6d8877ba9e495f09b33b6945feb491d3d8..72f7107ac47d9886c610da2dcd914a9780379340 100644
--- a/app/code/Magento/Backend/Model/Config/Backend/Admin/Custompath.php
+++ b/app/code/Magento/Backend/Model/Config/Backend/Admin/Custompath.php
@@ -35,37 +35,6 @@ namespace Magento\Backend\Model\Config\Backend\Admin;
 
 class Custompath extends \Magento\Core\Model\Config\Value
 {
-    /**
-     * Backend data
-     *
-     * @var \Magento\Backend\Helper\Data
-     */
-    protected $_backendData = null;
-
-    /**
-     * @param \Magento\Backend\Helper\Data $backendData
-     * @param \Magento\Core\Model\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\Config $config
-     * @param \Magento\Core\Model\Resource\AbstractResource $resource
-     * @param \Magento\Data\Collection\Db $resourceCollection
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Backend\Helper\Data $backendData,
-        \Magento\Core\Model\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\Config $config,
-        \Magento\Core\Model\Resource\AbstractResource $resource = null,
-        \Magento\Data\Collection\Db $resourceCollection = null,
-        array $data = array()
-    ) {
-        $this->_backendData = $backendData;
-        parent::__construct($context, $registry, $storeManager, $config, $resource, $resourceCollection, $data);
-    }
-
     /**
      * Check whether redirect should be set
      *
@@ -74,7 +43,6 @@ class Custompath extends \Magento\Core\Model\Config\Value
     protected function _beforeSave()
     {
         if ($this->getOldValue() != $this->getValue()) {
-            $this->_backendData->clearAreaFrontName();
             $this->_coreRegistry->register('custom_admin_path_redirect', true, true);
         }
         return $this;
diff --git a/app/code/Magento/Backend/Model/Config/Backend/Admin/Robots.php b/app/code/Magento/Backend/Model/Config/Backend/Admin/Robots.php
index ad83d0ad79defd6fb79d4362e6c681051c7b7032..1da5b648850d4d583f2fd0c3237c07c3708f6457 100644
--- a/app/code/Magento/Backend/Model/Config/Backend/Admin/Robots.php
+++ b/app/code/Magento/Backend/Model/Config/Backend/Admin/Robots.php
@@ -47,7 +47,7 @@ class Robots extends \Magento\Core\Model\Config\Value
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -58,7 +58,7 @@ class Robots extends \Magento\Core\Model\Config\Value
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
@@ -73,7 +73,7 @@ class Robots extends \Magento\Core\Model\Config\Value
             $data
         );
         $this->_filesystem = $filesystem;
-        $this->_filePath = $dir->getDir(\Magento\Core\Model\Dir::ROOT) . '/robots.txt';
+        $this->_filePath = $dir->getDir(\Magento\App\Dir::ROOT) . '/robots.txt';
     }
 
     /**
diff --git a/app/code/Magento/Backend/Model/Config/Backend/Admin/Usecustompath.php b/app/code/Magento/Backend/Model/Config/Backend/Admin/Usecustompath.php
deleted file mode 100644
index cf10a3ce6793481cad6299c36a81cb1f5ec3d875..0000000000000000000000000000000000000000
--- a/app/code/Magento/Backend/Model/Config/Backend/Admin/Usecustompath.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @category    Magento
- * @package     Magento_Backend
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-
-
-/**
- * Config backend model for "Use Custom Admin Path" option
- *
- * @category   Magento
- * @package    Magento_Backend
- * @author     Magento Core Team <core@magentocommerce.com>
- */
-namespace Magento\Backend\Model\Config\Backend\Admin;
-
-class Usecustompath extends \Magento\Core\Model\Config\Value
-{
-    /**
-     * Backend data
-     *
-     * @var \Magento\Backend\Helper\Data
-     */
-    protected $_backendData = null;
-
-    /**
-     * @param \Magento\Backend\Helper\Data $backendData
-     * @param \Magento\Core\Model\Context $context
-     * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\Config $config
-     * @param \Magento\Core\Model\Resource\AbstractResource $resource
-     * @param \Magento\Data\Collection\Db $resourceCollection
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Backend\Helper\Data $backendData,
-        \Magento\Core\Model\Context $context,
-        \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\Config $config,
-        \Magento\Core\Model\Resource\AbstractResource $resource = null,
-        \Magento\Data\Collection\Db $resourceCollection = null,
-        array $data = array()
-    ) {
-        $this->_backendData = $backendData;
-        parent::__construct($context, $registry, $storeManager, $config, $resource, $resourceCollection, $data);
-    }
-
-    /**
-     * Check whether redirect should be set
-     *
-     * @return \Magento\Backend\Model\Config\Backend\Admin\Usecustompath
-     */
-    protected function _beforeSave()
-    {
-        if ($this->getOldValue() != $this->getValue()) {
-            $this->_backendData->clearAreaFrontName();
-            $this->_coreRegistry->register('custom_admin_path_redirect', true, true);
-        }
-
-        return $this;
-    }
-}
diff --git a/app/code/Magento/Backend/Model/Config/Backend/File.php b/app/code/Magento/Backend/Model/Config/Backend/File.php
index b345145672c0bddf07b72bbea05cf42f7873b1c7..0c09afff08b7e90d61fdee9772ae59a763d3a81c 100644
--- a/app/code/Magento/Backend/Model/Config/Backend/File.php
+++ b/app/code/Magento/Backend/Model/Config/Backend/File.php
@@ -56,7 +56,7 @@ class File extends \Magento\Core\Model\Config\Value
     protected $_uploaderFactory;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -68,7 +68,7 @@ class File extends \Magento\Core\Model\Config\Value
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Backend\Model\Config\Backend\File\RequestData\RequestDataInterface $requestData
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -83,7 +83,7 @@ class File extends \Magento\Core\Model\Config\Value
         \Magento\Core\Model\Config $config,
         \Magento\Backend\Model\Config\Backend\File\RequestData\RequestDataInterface $requestData,
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
@@ -216,7 +216,7 @@ class File extends \Magento\Core\Model\Config\Value
      */
     protected function _getUploadRoot($token)
     {
-        return $this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA);
+        return $this->_dir->getDir(\Magento\App\Dir::MEDIA);
     }
 
     /**
diff --git a/app/code/Magento/Backend/Model/Config/ScopeDefiner.php b/app/code/Magento/Backend/Model/Config/ScopeDefiner.php
index 464576a9778eb9c4a37989297cc4dd54cebea147..c723557ea6c723f17532b52ebec6a694e216f4e9 100644
--- a/app/code/Magento/Backend/Model/Config/ScopeDefiner.php
+++ b/app/code/Magento/Backend/Model/Config/ScopeDefiner.php
@@ -38,14 +38,14 @@ class ScopeDefiner
     /**
      * Request object
      *
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
     /**
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      */
-    public function __construct(\Magento\Core\Controller\Request\Http $request)
+    public function __construct(\Magento\App\RequestInterface $request)
     {
         $this->_request = $request;
     }
diff --git a/app/code/Magento/Backend/Model/Locale.php b/app/code/Magento/Backend/Model/Locale.php
index d8188c18fdb7a848f6020da918535271ddcc73c5..c96f676f0d4147ce9613a062b02e06ac4b9d7be0 100644
--- a/app/code/Magento/Backend/Model/Locale.php
+++ b/app/code/Magento/Backend/Model/Locale.php
@@ -44,7 +44,7 @@ class Locale extends \Magento\Core\Model\Locale
     protected $_localeManager;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
@@ -54,14 +54,14 @@ class Locale extends \Magento\Core\Model\Locale
     protected $_localeValidator;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Backend\Model\Session $session
      * @param \Magento\Backend\Model\Locale\Manager $localeManager
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param \Magento\Core\Model\Locale\Validator $localeValidator
      * @param \Magento\Core\Helper\Translate $translate
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Locale\Config $config
      * @param \Magento\Core\Model\App $app
@@ -70,14 +70,14 @@ class Locale extends \Magento\Core\Model\Locale
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Backend\Model\Session $session,
         \Magento\Backend\Model\Locale\Manager $localeManager,
-        \Magento\Core\Controller\Request\Http $request,
+        \Magento\App\RequestInterface $request,
         \Magento\Core\Model\Locale\Validator $localeValidator,
         \Magento\Core\Helper\Translate $translate,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Locale\Config $config,
         \Magento\Core\Model\App $app,
diff --git a/app/code/Magento/Backend/Model/Menu/Config.php b/app/code/Magento/Backend/Model/Menu/Config.php
index d96c0870299881d0c17dc646cc2c79521de366cf..84afc92fa39205421e433b69de2afb4a32ccd343 100644
--- a/app/code/Magento/Backend/Model/Menu/Config.php
+++ b/app/code/Magento/Backend/Model/Menu/Config.php
@@ -36,7 +36,7 @@ class Config
     protected $_configCacheType;
 
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -77,7 +77,7 @@ class Config
      * @param \Magento\Backend\Model\MenuFactory $menuFactory
      * @param \Magento\Backend\Model\Menu\Config\Reader $configReader
      * @param \Magento\Core\Model\Cache\Type\Config $configCacheType
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
@@ -87,7 +87,7 @@ class Config
         \Magento\Backend\Model\MenuFactory $menuFactory,
         \Magento\Backend\Model\Menu\Config\Reader $configReader,
         \Magento\Core\Model\Cache\Type\Config $configCacheType,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
diff --git a/app/code/Magento/Backend/Model/Menu/Item.php b/app/code/Magento/Backend/Model/Menu/Item.php
index 2dfb5fcc7e18312808003b46d7893fb17f1db788..17a3dcbf226b765ca5b7c43ed6fe7b3084925b1c 100644
--- a/app/code/Magento/Backend/Model/Menu/Item.php
+++ b/app/code/Magento/Backend/Model/Menu/Item.php
@@ -161,7 +161,7 @@ class Item
     /**
      * Module list
      *
-     * @var \Magento\Core\Model\ModuleListInterface
+     * @var \Magento\App\ModuleListInterface
      */
     protected $_moduleList;
 
@@ -172,7 +172,7 @@ class Item
      * @param \Magento\Backend\Model\MenuFactory $menuFactory
      * @param \Magento\Backend\Model\Url $urlModel
      * @param \Magento\Core\Helper\AbstractHelper $helper
-     * @param \Magento\Core\Model\ModuleListInterface $moduleList
+     * @param \Magento\App\ModuleListInterface $moduleList
      * @param array $data
      */
     public function __construct(
@@ -182,7 +182,7 @@ class Item
         \Magento\Backend\Model\MenuFactory $menuFactory,
         \Magento\Backend\Model\Url $urlModel,
         \Magento\Core\Helper\AbstractHelper $helper,
-        \Magento\Core\Model\ModuleListInterface $moduleList,
+        \Magento\App\ModuleListInterface $moduleList,
         array $data = array()
     ) {
         $this->_validator = $validator;
@@ -499,7 +499,7 @@ class Item
         $this->_storeConfig = $objectManager->get('Magento\Core\Model\Store\Config');
         $this->_menuFactory = $objectManager->get('Magento\Backend\Model\MenuFactory');
         $this->_urlModel = $objectManager->get('Magento\Backend\Model\Url');
-        $this->_moduleList = $objectManager->get('Magento\Core\Model\ModuleListInterface');
+        $this->_moduleList = $objectManager->get('Magento\App\ModuleListInterface');
         if ($this->_serializedSubmenu) {
             $this->_submenu = $this->_menuFactory->create();
             $this->_submenu->unserialize($this->_serializedSubmenu);
diff --git a/app/code/Magento/Backend/Model/Observer.php b/app/code/Magento/Backend/Model/Observer.php
index b34ad29148a4c62f148e25082d0415a31017b338..6f8e5428160986ee8d5602c7c31928c84247cf58 100644
--- a/app/code/Magento/Backend/Model/Observer.php
+++ b/app/code/Magento/Backend/Model/Observer.php
@@ -41,16 +41,24 @@ class Observer
      */
     protected $_app;
 
+    /**
+     * @var \Magento\App\RequestInterface
+     */
+    protected $_request;
+
     /**
      * @param \Magento\Backend\Model\Session $backendSession
      * @param \Magento\Core\Model\App $app
+     * @param \Magento\App\RequestInterface $request
      */
     public function __construct(
         \Magento\Backend\Model\Session $backendSession,
-        \Magento\Core\Model\App $app
+        \Magento\Core\Model\App $app,
+        \Magento\App\RequestInterface $request
     ) {
         $this->_backendSession = $backendSession;
         $this->_app = $app;
+        $this->_request = $request;
     }
 
     /**
@@ -78,12 +86,11 @@ class Observer
      */
     public function massactionPrepareKey()
     {
-        $request = $this->_app->getFrontController()->getRequest();
-        $key = $request->getPost('massaction_prepare_key');
+        $key = $this->_request->getPost('massaction_prepare_key');
         if ($key) {
-            $postData = $request->getPost($key);
+            $postData = $this->_request->getPost($key);
             $value = is_array($postData) ? $postData : explode(',', $postData);
-            $request->setPost($key, $value ? $value : null);
+            $this->_request->setPost($key, $value ? $value : null);
         }
         return $this;
     }
diff --git a/app/code/Magento/Backend/Model/Url.php b/app/code/Magento/Backend/Model/Url.php
index f3f8cd929ff215101b00e0035eee748b58d2ea9f..20242b6159f4171716414cf1b8e1edc77ef96fd6 100644
--- a/app/code/Magento/Backend/Model/Url.php
+++ b/app/code/Magento/Backend/Model/Url.php
@@ -26,6 +26,9 @@
 
 namespace Magento\Backend\Model;
 
+use Magento\Backend\Model\Auth;
+use Magento\Backend\Model\Menu;
+
 /**
  * Class \Magento\Backend\Model\Url
  *
@@ -89,21 +92,23 @@ class Url extends \Magento\Core\Model\Url
     protected $_cache;
 
     /**
+     * @param \Magento\App\RouterListInterface $routerList
+     * @param \Magento\App\RequestInterface $request
      * @param \Magento\Core\Model\Url\SecurityInfoInterface $securityInfo
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Backend\Helper\Data $backendHelper
      * @param \Magento\Core\Model\Session $session
-     * @param \Magento\Backend\Model\Menu\Config $menuConfig
+     * @param Menu\Config $menuConfig
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Model\App $app
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\CacheInterface $cache
-     * @param \Magento\Backend\Model\Auth\Session $authSession
+     * @param Auth\Session $authSession
      * @param array $data
-     *
-     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
+        \Magento\App\RouterListInterface $routerList,
+        \Magento\App\RequestInterface $request,
         \Magento\Core\Model\Url\SecurityInfoInterface $securityInfo,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Backend\Helper\Data $backendHelper,
@@ -116,7 +121,8 @@ class Url extends \Magento\Core\Model\Url
         \Magento\Backend\Model\Auth\Session $authSession,
         array $data = array()
     ) {
-        parent::__construct($securityInfo, $coreStoreConfig, $coreData, $app, $storeManager, $session, $data);
+        parent::__construct(
+            $routerList, $request, $securityInfo, $coreStoreConfig, $coreData, $app, $storeManager, $session, $data);
         $this->_startupMenuItemId = $coreStoreConfig->getConfig(self::XML_PATH_STARTUP_MENU_ITEM);
         $this->_backendHelper = $backendHelper;
         $this->_coreSession = $session;
diff --git a/app/code/Magento/Backend/Model/Url/Proxy.php b/app/code/Magento/Backend/Model/Url/Proxy.php
index 4300dfbfd4b9046c8ea175a940e5ce90c9ee6f74..a12360168c352fb5afeef19988d6788804165893 100644
--- a/app/code/Magento/Backend/Model/Url/Proxy.php
+++ b/app/code/Magento/Backend/Model/Url/Proxy.php
@@ -239,7 +239,7 @@ class Proxy extends \Magento\Backend\Model\Url
     /**
      * {@inheritdoc}
      */
-    public function setRequest(\Zend_Controller_Request_Http $request)
+    public function setRequest(\Magento\App\RequestInterface $request)
     {
         return $this->_getObject()->setRequest($request);
     }
diff --git a/app/code/Magento/Backend/etc/adminhtml/di.xml b/app/code/Magento/Backend/etc/adminhtml/di.xml
index 4783a361347ea5f6beb06b0fe19d442d6899b532..714ade4dfffb8613c67e5b15fe1da7126d706187 100644
--- a/app/code/Magento/Backend/etc/adminhtml/di.xml
+++ b/app/code/Magento/Backend/etc/adminhtml/di.xml
@@ -27,7 +27,7 @@
     <preference for="Magento\Authorization\Policy" type="Magento\Authorization\Policy\Acl" />
     <preference for="Magento\Authorization\RoleLocator" type="Magento\Backend\Model\Authorization\RoleLocator" />
     <preference for="Magento\Core\Model\LocaleInterface" type="Magento\Backend\Model\Locale" />
-    <preference for="Magento\Core\Model\UrlInterface" type="Magento\Backend\Model\Url" />
+    <preference for="Magento\UrlInterface" type="Magento\Backend\Model\Url" />
     <preference for="Magento\Backend\Model\Auth\StorageInterface" type="Magento\Backend\Model\Auth\Session" />
     <preference for="Magento\Backend\Model\Config\Structure\SearchInterface" type="Magento\Backend\Model\Config\Structure" />
     <preference for="Magento\Backend\Model\Config\Backend\File\RequestData\RequestDataInterface" type="Magento\Backend\Model\Config\Backend\File\RequestData" />
diff --git a/app/code/Magento/Backend/etc/adminhtml/system.xml b/app/code/Magento/Backend/etc/adminhtml/system.xml
index 831a102c69f51addc2734426e0c6da8bc4db719a..a0a9149973e53c8e720140622012891356358e0b 100644
--- a/app/code/Magento/Backend/etc/adminhtml/system.xml
+++ b/app/code/Magento/Backend/etc/adminhtml/system.xml
@@ -451,7 +451,7 @@
                 <field id="use_custom_path" translate="label" type="select" sortOrder="3" showInDefault="1" showInWebsite="0" showInStore="0">
                     <label>Use Custom Admin Path</label>
                     <source_model>Magento\Backend\Model\Config\Source\Yesno</source_model>
-                    <backend_model>Magento\Backend\Model\Config\Backend\Admin\Usecustompath</backend_model>
+                    <backend_model>Magento\Backend\Model\Config\Backend\Admin\Custompath</backend_model>
                 </field>
                 <field id="custom_path" translate="label comment" type="text" sortOrder="4" showInDefault="1" showInWebsite="0" showInStore="0">
                     <label>Custom Admin Path</label>
diff --git a/app/code/Magento/Backend/etc/di.xml b/app/code/Magento/Backend/etc/di.xml
index 7e5f09bf18ff0399fa3fd71e0517fe54ac1abc3e..3944fb928762bdcbf0db077c22797c457dd0efc1 100644
--- a/app/code/Magento/Backend/etc/di.xml
+++ b/app/code/Magento/Backend/etc/di.xml
@@ -25,6 +25,16 @@
 -->
 <config>
     <preference for="Magento\Core\Model\Config\Storage\WriterInterface" type="Magento\Core\Model\Config\Storage\Writer\Db" />
+    <preference for="Magento\App\Request\PathInfoProcessorInterface" type="Magento\Backend\App\Request\PathInfoProcessor" />
+    <type name="Magento\App\AreaList">
+        <param name="areas">
+            <value>
+                <adminhtml>
+                    <frontNameResolver>Magento\Backend\App\Area\FrontNameResolver</frontNameResolver>
+                </adminhtml>
+            </value>
+        </param>
+    </type>
     <type name="Magento\Backend\Controller\Context">
         <param name="translator">
             <instance type="Magento\Core\Model\Translate\Proxy" />
@@ -55,7 +65,7 @@
     <type name="Magento\Backend\Model\Menu\Config">
         <param name="menuDirector"><instance type="Magento\Backend\Model\Menu\Director\Director"/></param>
     </type>
-    <type name="Magento\Core\Model\RouterList">
+    <type name="Magento\App\RouterList">
         <param name="routerList">
             <value>
                 <admin>
@@ -66,13 +76,12 @@
             </value>
         </param>
     </type>
-    <type name="Magento\Backend\Helper\Data">
-        <param name="defaultAreaFrontName">
-            <value>backend</value>
-        </param>
-        <param name="backendFrontName">
-            <value type="argument">Magento\Backend\Helper\Data::PARAM_BACKEND_FRONT_NAME</value>
+    <type name="Magento\Backend\App\Area\FrontNameResolver">
+        <param name="defaultFrontName">
+            <value type="argument">Magento\Backend\App\Area\FrontNameResolver::PARAM_BACKEND_FRONT_NAME</value>
         </param>
+    </type>
+    <type name="Magento\Backend\Helper\Data">
         <param name="app">
             <instance type="Magento\Core\Model\App\Proxy" />
         </param>
@@ -83,11 +92,11 @@
             <instance type="Magento\Backend\Model\Auth\Proxy" />
         </param>
     </type>
-    <type name="Magento\Core\Model\NoRouteHandlerList">
+    <type name="Magento\App\Router\NoRouteHandlerList">
         <param name="handlerClassesList">
             <value>
                 <backend>
-                    <instance>Magento\Backend\Model\Router\NoRouteHandler</instance>
+                    <instance>Magento\Backend\App\Router\NoRouteHandler</instance>
                     <sortOrder>10</sortOrder>
                 </backend>
             </value>
diff --git a/app/code/Magento/Backend/view/adminhtml/system/config/form/field/array.phtml b/app/code/Magento/Backend/view/adminhtml/system/config/form/field/array.phtml
index 0ec28f11d2f9a9dd1e064e02d6ef0d683edf74f1..f6c19c2ae8a1ff590152eebde1ba26dd88223741 100644
--- a/app/code/Magento/Backend/view/adminhtml/system/config/form/field/array.phtml
+++ b/app/code/Magento/Backend/view/adminhtml/system/config/form/field/array.phtml
@@ -27,90 +27,81 @@
 
 <?php
 $_htmlId = $this->getHtmlId() ? $this->getHtmlId() : '_' . uniqid();
-
-$_colspan = 2;
-if (!$this->isAddAfter()) {
-    $_colspan -= 1;
-}
-$_colspan = $_colspan > 1 ? 'colspan="' . $_colspan . '"' : '';
+$_colspan = $this->isAddAfter() ? 2 : 1;
 ?>
 
-<div class="grid" id="grid<?php echo $_htmlId ?>">
-    <table cellpadding="0" cellspacing="0" class="border">
-        <tbody>
-
-            <tr class="headings" id="headings<?php echo $_htmlId ?>">
-<?php foreach ($this->getColumns() as $columnName => $column):?>
-                <th><?php echo $column['label'] ?></th>
-<?php endforeach;?>
-                <th <?php echo $_colspan?>></th>
-            </tr>
-
-            <tr id="addRow<?php echo $_htmlId ?>">
-                <td colspan="<?php echo count($this->getColumns()) ?>"></td>
-                <td <?php echo $_colspan?>>
-                    <button style="" onclick="" class="scalable add" type="button" id="addToEndBtn<?php echo $_htmlId ?>">
-                        <span><span><span><?php echo $this->getAddButtonLabel() ?></span></span></span>
-                    </button>
-                </td>
-            </tr>
-
-        </tbody>
+<div class="design_theme_ua_regexp" id="grid<?php echo $_htmlId; ?>">
+    <table cellspacing="0" class="data-table">
+        <thead>
+        <tr>
+            <?php foreach ($this->getColumns() as $columnName => $column): ?>
+            <th><?php echo $column['label']; ?></th>
+            <?php endforeach;?>
+            <th class="col-actions" colspan="<?php echo $_colspan; ?>">Action</th>
+        </tr>
+        </thead>
+        <tfoot>
+        <tr>
+            <td colspan="<?php echo count($this->getColumns())+$_colspan; ?>">
+                <button id="addToEndBtn<?php echo $_htmlId; ?>" class="action- add" title="<?php echo __('Add'); ?>" type="button">
+                    <span><?php echo $this->getAddButtonLabel(); ?><?php echo __('Add'); ?></span>
+                </button>
+            </td>
+        </tr>
+        </tfoot>
+        <tbody id="addRow<?php echo $_htmlId; ?>"></tbody>
     </table>
-    <input type="hidden" name="<?php echo $this->getElement()->getName() ?>[__empty]" value="" />
-</div>
-<div id="empty<?php echo $_htmlId ?>">
-    <button style="" onclick="" class="scalable add" type="button" id="emptyAddBtn<?php echo $_htmlId ?>">
-        <span><span><span><?php echo $this->getAddButtonLabel() ?></span></span></span>
-    </button>
-</div>
-
-<script type="text/javascript">
-//<![CDATA[
-// create row creator
-var arrayRow<?php echo $_htmlId ?> = {
-    // define row prototypeJS template
-    template : new Template(
-        '<tr id="#{_id}">'
-<?php foreach ($this->getColumns() as $columnName => $column):?>
-            +'<td>'
-                +'<?php echo $this->renderCellTemplate($columnName)?>'
-            +'<\/td>'
-<?php endforeach;?>
-<?php if ($this->isAddAfter()):?>
-            +'<td><button onclick="" class="scalable add" type="button" id="addAfterBtn#{_id}"><span><span><span><?php echo __('Add after') ?><\/span><\/span><\/span><\/button><\/td>'
-<?php endif;?>
-            +'<td><button onclick="arrayRow<?php echo $_htmlId ?>.del(\'#{_id}\')" class="scalable delete" type="button"><span><span><span><?php echo __('Delete') ?><\/span><\/span><\/span><\/button><\/td>'
-        +'<\/tr>'
-    ),
-
-    rowsCount : 0,
-
-    add : function(rowData, insertAfterId)
-    {
-        // generate default template data
-        if (rowData == false) {
-            var d = new Date();
-            var templateValues = {
-<?php foreach ($this->getColumns() as $columnName => $column):?>
-                <?php echo $columnName ?> : '',
-<?php endforeach;?>
-                _id : '_' + d.getTime() + '_' + d.getMilliseconds()
-            };
-        } else {
-            var templateValues = rowData;
-        }
+    <input type="hidden" name="<?php echo $this->getElement()->getName(); ?>[__empty]" value="" />
+
+    <script type="text/javascript">
+        //<![CDATA[
+
+        // create row creator
+        var arrayRow<?php echo $_htmlId ?> = {
+
+            // define row prototypeJS template
+            template: new Template(
+                    '<tr id="#{_id}">'
+                    <?php foreach ($this->getColumns() as $columnName => $column): ?>
+                            + '<td>'
+                            + '<?php echo $this->renderCellTemplate($columnName)?>'
+                            + '<\/td>'
+                        <?php endforeach; ?>
+
+                    <?php if ($this->isAddAfter()): ?>
+                            + '<td><button class="action- add" type="button" id="addAfterBtn#{_id}"><span><?php echo __('Add after'); ?><\/span><\/button><\/td>'
+                        <?php endif; ?>
+
+                            + '<td class="col-actions"><button onclick="arrayRow<?php echo $_htmlId ?>.del(\'#{_id}\')" class="action- delete" type="button"><span><?php echo __('Delete'); ?><\/span><\/button><\/td>'
+                            +'<\/tr>'
+            ),
+
+            add: function(rowData, insertAfterId) {
+                // generate default template data
+                var templateValues;
+
+                // Prepare template values
+                if (rowData) {
+                    templateValues = rowData;
+                } else {
+                    var d = new Date();
+                    templateValues = {
+                <?php foreach ($this->getColumns() as $columnName => $column): ?>
+                    <?php echo $columnName ?>: '',
+                    <?php endforeach; ?>
+                        _id: '_' + d.getTime() + '_' + d.getMilliseconds()
+                };
+            }
 
-        // insert before last row
-        if ('' == insertAfterId) {
-            Element.insert($('addRow<?php echo $_htmlId ?>'), {before: this.template.evaluate(templateValues)});
-        }
-        // insert after specified row
-        else {
+            // Insert new row after specified row or at the bottom
+            if (insertAfterId) {
             Element.insert($(insertAfterId), {after: this.template.evaluate(templateValues)});
+        } else {
+            Element.insert($('addRow<?php echo $_htmlId ?>'), {bottom: this.template.evaluate(templateValues)});
         }
 
-        if (rowData != false) {
+        // Fill controls with data
+        if (rowData) {
             var rowInputElementNames = Object.keys(rowData.column_values);
             for (var i = 0; i < rowInputElementNames.length; i++) {
                 if ($(rowInputElementNames[i])) {
@@ -119,57 +110,32 @@ var arrayRow<?php echo $_htmlId ?> = {
             }
         }
 
-<?php if ($this->isAddAfter()):?>
-        Event.observe('addAfterBtn' + templateValues._id, 'click', this.add.bind(this, '', templateValues._id));
-<?php endif;?>
+        // Add event for {addAfterBtn} button
+        <?php if ($this->isAddAfter()): ?>
+        Event.observe('addAfterBtn' + templateValues._id, 'click', this.add.bind(this, false, templateValues._id));
+            <?php endif; ?>
+        },
 
-        this.rowsCount += 1;
-    },
-
-    del : function(rowId)
-    {
-        $(rowId).remove();
-        this.rowsCount -= 1;
-        if (0 == this.rowsCount) {
-            this.showButtonOnly();
+        del: function(rowId) {
+            $(rowId).remove();
+        }
         }
-    },
 
-    showButtonOnly : function()
-    {
-        $('grid<?php echo $_htmlId ?>').hide();
-        $('empty<?php echo $_htmlId ?>').show();
-    }
-}
+        // bind add action to "Add" button in last row
+        Event.observe('addToEndBtn<?php echo $_htmlId ?>', 'click', arrayRow<?php echo $_htmlId ?>.add.bind(arrayRow<?php echo $_htmlId ?>, false, false));
 
-// bind add action to "Add" button in last row
-Event.observe('addToEndBtn<?php echo $_htmlId ?>', 'click', arrayRow<?php echo $_htmlId ?>.add.bind(arrayRow<?php echo $_htmlId ?>, false, false));
+        // add existing rows
+        <?php
+        foreach ($this->getArrayRows() as $_rowId => $_row) {
+            echo "arrayRow{$_htmlId}.add(" . $_row->toJson() . ");\n";
+        }
+        ?>
 
-// add existing rows
-<?php
-$_addAfterId = "headings{$_htmlId}";
-foreach ($this->getArrayRows() as $_rowId => $_row) {
-    echo "arrayRow{$_htmlId}.add(" . $_row->toJson() . ", '{$_addAfterId}');\n";
-    $_addAfterId = $_rowId;
-}
-?>
+        // Toggle the grid availability, if element is disabled (depending on scope)
+        <?php if ($this->getElement()->getDisabled()):?>
+        toggleValueElements({checked: true}, $('grid<?php echo $_htmlId; ?>').parentNode);
+            <?php endif;?>
 
-// initialize standalone button
-$('empty<?php echo $_htmlId ?>').hide();
-Event.observe('emptyAddBtn<?php echo $_htmlId ?>', 'click', function () {
-    $('grid<?php echo $_htmlId ?>').show();
-    $('empty<?php echo $_htmlId ?>').hide();
-    arrayRow<?php echo $_htmlId ?>.add('', '');
-});
-
-// if no rows, hide grid and show button only
-<?php if (!$this->getArrayRows()):?>
-arrayRow<?php echo $_htmlId ?>.showButtonOnly();
-<?php endif;?>
-
-// toggle the grid, if element is disabled (depending on scope)
-<?php if ($this->getElement()->getDisabled()):?>
-toggleValueElements({checked:true}, $('grid<?php echo $_htmlId ?>').parentNode);
-<?php endif;?>
-//]]>
-</script>
+        //]]>
+    </script>
+</div>
\ No newline at end of file
diff --git a/app/code/Magento/Backend/view/adminhtml/widget/grid/column_set.phtml b/app/code/Magento/Backend/view/adminhtml/widget/grid/column_set.phtml
index 5c5f217476224995915ccb2cf998b2a59e469d09..c260dc7fe75ee7787c8c4eb7fd7e94dc053c4956 100644
--- a/app/code/Magento/Backend/view/adminhtml/widget/grid/column_set.phtml
+++ b/app/code/Magento/Backend/view/adminhtml/widget/grid/column_set.phtml
@@ -44,7 +44,7 @@ $numColumns = sizeof($this->getColumns());
                 <?php foreach ($this->getColumns() as $_column): ?>
                 <?php /* @var $_column \Magento\Backend\Block\Widget\Grid\Column */ ?>
                     <th data-column="<?php echo $_column->getId() ?>" <?php echo $_column->getHeaderHtmlProperty() ?>>
-                            <span class="nobr"><?php echo $_column->getHeaderHtml() ?></span>
+                            <span><?php echo $_column->getHeaderHtml() ?></span>
                     </th>
                 <?php endforeach; ?>
                 </tr>
diff --git a/app/code/Magento/Backup/Helper/Data.php b/app/code/Magento/Backup/Helper/Data.php
index 05fa372fad469a4ff883a308196a6799bca26e5d..7e85b1b14d0950f559b458c80437073a31c8cce4 100644
--- a/app/code/Magento/Backup/Helper/Data.php
+++ b/app/code/Magento/Backup/Helper/Data.php
@@ -77,7 +77,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     /**
      * Directory model
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -96,7 +96,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      * @param \Magento\AuthorizationInterface $authorization
      * @param \Magento\Core\Model\Cache\Config $cacheConfig
      * @param \Magento\Core\Model\Cache\TypeListInterface $cacheTypeList
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Index\Model\Resource\Process\CollectionFactory $processFactory
      */
     public function __construct(
@@ -105,7 +105,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
         \Magento\AuthorizationInterface $authorization,
         \Magento\Core\Model\Cache\Config $cacheConfig,
         \Magento\Core\Model\Cache\TypeListInterface $cacheTypeList,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Index\Model\Resource\Process\CollectionFactory $processFactory
     ) {
         parent::__construct($context);
@@ -163,7 +163,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      */
     public function getBackupsDir()
     {
-        return $this->_dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'backups';
+        return $this->_dir->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'backups';
     }
 
     /**
@@ -227,12 +227,12 @@ class Data extends \Magento\Core\Helper\AbstractHelper
             '.git',
             '.svn',
             'maintenance.flag',
-            $this->_dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'session',
-            $this->_dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'cache',
-            $this->_dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'full_page_cache',
-            $this->_dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'locks',
-            $this->_dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'log',
-            $this->_dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'report',
+            $this->_dir->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'session',
+            $this->_dir->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'cache',
+            $this->_dir->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'full_page_cache',
+            $this->_dir->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'locks',
+            $this->_dir->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'log',
+            $this->_dir->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'report',
         );
     }
 
@@ -247,10 +247,10 @@ class Data extends \Magento\Core\Helper\AbstractHelper
             '.svn',
             '.git',
             'maintenance.flag',
-            $this->_dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'session',
-            $this->_dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'locks',
-            $this->_dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'log',
-            $this->_dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'report',
+            $this->_dir->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'session',
+            $this->_dir->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'locks',
+            $this->_dir->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'log',
+            $this->_dir->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'report',
             $this->_dir->getDir() . DS . 'errors',
             $this->_dir->getDir() . DS . 'index.php',
         );
diff --git a/app/code/Magento/Backup/Model/Fs/Collection.php b/app/code/Magento/Backup/Model/Fs/Collection.php
index 014832e2571bb2aec9a8de40968f12a22d859f98..3d581477295f2262726ee12671626049cab76171 100644
--- a/app/code/Magento/Backup/Model/Fs/Collection.php
+++ b/app/code/Magento/Backup/Model/Fs/Collection.php
@@ -51,7 +51,7 @@ class Collection extends \Magento\Data\Collection\Filesystem
     /**
      * Directory model
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -66,14 +66,14 @@ class Collection extends \Magento\Data\Collection\Filesystem
      * @param \Magento\Backup\Helper\Data $backupData
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Core\Model\EntityFactory $entityFactory
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Backup\Model\Backup $backup
      */
     public function __construct(
         \Magento\Backup\Helper\Data $backupData,
         \Magento\Filesystem $filesystem,
         \Magento\Core\Model\EntityFactory $entityFactory,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Backup\Model\Backup $backup
     ) {
         $this->_backupData = $backupData;
@@ -83,7 +83,7 @@ class Collection extends \Magento\Data\Collection\Filesystem
         $this->_filesystem = $filesystem;
         $this->_dir = $dir;
         $this->_backup = $backup;
-        $this->_baseDir = $this->_dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'backups';
+        $this->_baseDir = $this->_dir->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'backups';
 
         $this->_filesystem->setIsAllowCreateDirectories(true);
         $this->_filesystem->ensureDirectoryExists($this->_baseDir);
diff --git a/app/code/Magento/Backup/Model/Observer.php b/app/code/Magento/Backup/Model/Observer.php
index cb865b6d935137fe287b1f12a8b7af38a1fc1f8b..924e7446845405d9804ce06dad2286b3afc2708c 100644
--- a/app/code/Magento/Backup/Model/Observer.php
+++ b/app/code/Magento/Backup/Model/Observer.php
@@ -75,7 +75,7 @@ class Observer
     /**
      * Directory model
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -89,7 +89,7 @@ class Observer
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Backup\Factory $backupFactory
      */
     public function __construct(
@@ -97,7 +97,7 @@ class Observer
         \Magento\Core\Model\Registry $coreRegistry,
         \Magento\Core\Model\Logger $logger,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Backup\Factory $backupFactory
     ) {
         $this->_backupData = $backupData;
diff --git a/app/code/Magento/Bundle/Model/Product/Price.php b/app/code/Magento/Bundle/Model/Product/Price.php
index 1defc7e4f236062be93d78443e8e17af7914b5ac..9a5b72029060e8949679069b3f2efd9580a45679 100644
--- a/app/code/Magento/Bundle/Model/Product/Price.php
+++ b/app/code/Magento/Bundle/Model/Product/Price.php
@@ -64,7 +64,7 @@ class Price extends \Magento\Catalog\Model\Product\Type\Price
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Customer\Model\Session $customerSession
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Tax\Helper\Data $taxData
      */
     public function __construct(
@@ -72,7 +72,7 @@ class Price extends \Magento\Catalog\Model\Product\Type\Price
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Customer\Model\Session $customerSession,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Tax\Helper\Data $taxData
     ) {
         $this->_taxData = $taxData;
diff --git a/app/code/Magento/Bundle/Model/Product/Type.php b/app/code/Magento/Bundle/Model/Product/Type.php
index 69f05502e9dd7ef1da37b22fb5b72b658b6668cd..9ff53ebcd0058eed276344921dc6a05bc7e5ec16 100644
--- a/app/code/Magento/Bundle/Model/Product/Type.php
+++ b/app/code/Magento/Bundle/Model/Product/Type.php
@@ -147,7 +147,7 @@ class Type extends \Magento\Catalog\Model\Product\Type\AbstractType
      * @param \Magento\Catalog\Model\Product\Option $catalogProductOption
      * @param \Magento\Eav\Model\Config $eavConfig
      * @param \Magento\Catalog\Model\Product\Type $catalogProductType
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Helper\File\Storage\Database $fileStorageDb
      * @param \Magento\Filesystem $filesystem
@@ -171,7 +171,7 @@ class Type extends \Magento\Catalog\Model\Product\Type\AbstractType
         \Magento\Catalog\Model\Product\Option $catalogProductOption,
         \Magento\Eav\Model\Config $eavConfig,
         \Magento\Catalog\Model\Product\Type $catalogProductType,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Helper\File\Storage\Database $fileStorageDb,
         \Magento\Filesystem $filesystem,
diff --git a/app/code/Magento/Bundle/Model/Resource/Price/Index.php b/app/code/Magento/Bundle/Model/Resource/Price/Index.php
index e639a00119d6db5e83d5ef81d027ca15aa45a8a9..4c3e2c27c32889ff07387c402ed42289badee918 100644
--- a/app/code/Magento/Bundle/Model/Resource/Price/Index.php
+++ b/app/code/Magento/Bundle/Model/Resource/Price/Index.php
@@ -60,7 +60,7 @@ class Index extends \Magento\Core\Model\Resource\Db\AbstractDb
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -97,7 +97,7 @@ class Index extends \Magento\Core\Model\Resource\Db\AbstractDb
      * @param \Magento\CatalogRule\Model\Resource\RuleFactory $catalogRuleFactory
      * @param \Magento\Customer\Model\GroupFactory $customerGroup
      * @param \Magento\Catalog\Model\Config $config
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Resource $resource
      */
     public function __construct(
@@ -106,7 +106,7 @@ class Index extends \Magento\Core\Model\Resource\Db\AbstractDb
         \Magento\CatalogRule\Model\Resource\RuleFactory $catalogRuleFactory,
         \Magento\Customer\Model\GroupFactory $customerGroup,
         \Magento\Catalog\Model\Config $config,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Resource $resource
     ) {
         $this->_eventManager = $eventManager;
diff --git a/app/code/Magento/Bundle/Model/Sales/Order/Pdf/Items/Creditmemo.php b/app/code/Magento/Bundle/Model/Sales/Order/Pdf/Items/Creditmemo.php
index 7c981b7da137f863e5336aab5b178fa8c258f75d..e08d8e0e98db0934bd99a40e932de8f5413646ea 100644
--- a/app/code/Magento/Bundle/Model/Sales/Order/Pdf/Items/Creditmemo.php
+++ b/app/code/Magento/Bundle/Model/Sales/Order/Pdf/Items/Creditmemo.php
@@ -47,7 +47,7 @@ class Creditmemo extends \Magento\Bundle\Model\Sales\Order\Pdf\Items\AbstractIte
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param array $data
@@ -57,7 +57,7 @@ class Creditmemo extends \Magento\Bundle\Model\Sales\Order\Pdf\Items\AbstractIte
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Data\Collection\Db $resourceCollection = null,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         array $data = array()
diff --git a/app/code/Magento/Bundle/Model/Sales/Order/Pdf/Items/Invoice.php b/app/code/Magento/Bundle/Model/Sales/Order/Pdf/Items/Invoice.php
index ba0eb6421e7388713d2c208d9bbd9ac930cfa861..929957b8ff858eadb3a40f9b18aa67459a607767 100644
--- a/app/code/Magento/Bundle/Model/Sales/Order/Pdf/Items/Invoice.php
+++ b/app/code/Magento/Bundle/Model/Sales/Order/Pdf/Items/Invoice.php
@@ -47,7 +47,7 @@ class Invoice extends \Magento\Bundle\Model\Sales\Order\Pdf\Items\AbstractItems
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param array $data
@@ -57,7 +57,7 @@ class Invoice extends \Magento\Bundle\Model\Sales\Order\Pdf\Items\AbstractItems
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Data\Collection\Db $resourceCollection = null,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         array $data = array()
diff --git a/app/code/Magento/Bundle/Model/Sales/Order/Pdf/Items/Shipment.php b/app/code/Magento/Bundle/Model/Sales/Order/Pdf/Items/Shipment.php
index 5b9ef9fd34a959774000888c64d7012bd08103e6..4a0a376c34a225596883eb9d3e1f8b3c2ee26492 100644
--- a/app/code/Magento/Bundle/Model/Sales/Order/Pdf/Items/Shipment.php
+++ b/app/code/Magento/Bundle/Model/Sales/Order/Pdf/Items/Shipment.php
@@ -47,7 +47,7 @@ class Shipment extends \Magento\Bundle\Model\Sales\Order\Pdf\Items\AbstractItems
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param array $data
@@ -57,7 +57,7 @@ class Shipment extends \Magento\Bundle\Model\Sales\Order\Pdf\Items\AbstractItems
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Data\Collection\Db $resourceCollection = null,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         array $data = array()
diff --git a/app/code/Magento/Bundle/etc/di.xml b/app/code/Magento/Bundle/etc/di.xml
index 938b0ac2047c58201da8c02098ba01ffa594c312..c98e3d4a334c98eb24eef24a72eaed9b93e85b7b 100644
--- a/app/code/Magento/Bundle/etc/di.xml
+++ b/app/code/Magento/Bundle/etc/di.xml
@@ -24,11 +24,6 @@
  */
 -->
 <config>
-    <type name="Magento\Bundle\Model\Resource\Price\Index">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Bundle\Model\Source\Option\Type">
         <param name="options">
             <value>
@@ -39,8 +34,8 @@
             </value>
         </param>
     </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <bundle_setup>Magento\Catalog\Model\Resource\Setup</bundle_setup>
             </value>
diff --git a/app/code/Magento/Captcha/Helper/Data.php b/app/code/Magento/Captcha/Helper/Data.php
index 33c1cb14104336968a650b4a602db0ab0027e52e..8661550acaba7a7f6095d8ce000d0e93ece21002 100644
--- a/app/code/Magento/Captcha/Helper/Data.php
+++ b/app/code/Magento/Captcha/Helper/Data.php
@@ -77,7 +77,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_filesystem;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs = null;
 
@@ -93,7 +93,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
 
     /**
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Filesystem $filesystem
@@ -101,7 +101,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Config $config,
         \Magento\Filesystem $filesystem,
@@ -164,7 +164,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
         $fontsConfig = $this->_config->getValue(\Magento\Captcha\Helper\Data::XML_PATH_CAPTCHA_FONTS, 'default');
         $fonts = array();
         if ($fontsConfig) {
-            $libDir = $this->_dirs->getDir(\Magento\Core\Model\Dir::LIB);
+            $libDir = $this->_dirs->getDir(\Magento\App\Dir::LIB);
             foreach ($fontsConfig as $fontName => $fontConfig) {
                 $fonts[$fontName] = array(
                     'label' => $fontConfig['label'],
@@ -183,7 +183,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      */
     public function getImgDir($website = null)
     {
-        $mediaDir =  $this->_dirs->getDir(\Magento\Core\Model\Dir::MEDIA);
+        $mediaDir =  $this->_dirs->getDir(\Magento\App\Dir::MEDIA);
         $captchaDir = $mediaDir . '/captcha/' . $this->_storeManager->getWebsite($website)->getCode();
         $this->_filesystem->setWorkingDirectory($mediaDir);
         $this->_filesystem->setIsAllowCreateDirectories(true);
@@ -199,7 +199,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      */
     public function getImgUrl($website = null)
     {
-        return $this->_storeManager->getStore()->getBaseUrl(\Magento\Core\Model\Dir::MEDIA) . 'captcha'
+        return $this->_storeManager->getStore()->getBaseUrl(\Magento\App\Dir::MEDIA) . 'captcha'
             . '/' . $this->_storeManager->getWebsite($website)->getCode() . '/';
     }
 }
diff --git a/app/code/Magento/Captcha/Model/Observer.php b/app/code/Magento/Captcha/Model/Observer.php
index d6fa298de422ea12502b42f6f429b525de6e345a..48f518076336c041421f86a6f352fa5aebd5ed5e 100644
--- a/app/code/Magento/Captcha/Model/Observer.php
+++ b/app/code/Magento/Captcha/Model/Observer.php
@@ -69,7 +69,7 @@ class Observer
     protected $_coreData;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
@@ -102,7 +102,7 @@ class Observer
      * @param \Magento\Captcha\Helper\Data $helper
      * @param \Magento\Core\Model\Url $urlManager
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param \Magento\Core\Model\StoreManager $storeManager
      */
     public function __construct(
@@ -114,7 +114,7 @@ class Observer
         \Magento\Captcha\Helper\Data $helper,
         \Magento\Core\Model\Url $urlManager,
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Controller\Request\Http $request,
+        \Magento\App\RequestInterface $request,
         \Magento\Core\Model\StoreManager $storeManager
     ) {
         $this->_resLogFactory = $resLogFactory;
@@ -380,11 +380,11 @@ class Observer
     /**
      * Get Captcha String
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param string $formId
      * @return string
      */
-    protected function _getCaptchaString(\Magento\Core\Controller\Request\Http $request, $formId)
+    protected function _getCaptchaString(\Magento\App\RequestInterface $request, $formId)
     {
         $captchaParams = $request->getPost(\Magento\Captcha\Helper\Data::INPUT_NAME_FIELD_VALUE);
         return isset($captchaParams[$formId]) ? $captchaParams[$formId] : '';
diff --git a/app/code/Magento/Catalog/Helper/Product.php b/app/code/Magento/Catalog/Helper/Product.php
index 63463d0cede9788386df840e5f97b570a70e4054..66a2db4375dad36c78aa2fea24c8e56e59784475 100644
--- a/app/code/Magento/Catalog/Helper/Product.php
+++ b/app/code/Magento/Catalog/Helper/Product.php
@@ -67,7 +67,7 @@ class Product extends \Magento\Core\Helper\Url
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -133,7 +133,7 @@ class Product extends \Magento\Core\Helper\Url
      * @param \Magento\Catalog\Model\ProductFactory $productFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Catalog\Model\Session $catalogSession
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Context $context
      * @param \Magento\Core\Model\View\Url $viewUrl
      * @param \Magento\Core\Model\Registry $coreRegistry
@@ -149,7 +149,7 @@ class Product extends \Magento\Core\Helper\Url
         \Magento\Catalog\Model\ProductFactory $productFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Catalog\Model\Session $catalogSession,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Context $context,
         \Magento\Core\Model\View\Url $viewUrl,
         \Magento\Core\Model\Registry $coreRegistry,
@@ -356,7 +356,7 @@ class Product extends \Magento\Core\Helper\Url
          */
         $inputTypes = array(
             'multiselect'   => array(
-                'backend_model'     => 'Magento\Eav\Model\Entity\Attribute\Backend\Array'
+                'backend_model'     => 'Magento\Eav\Model\Entity\Attribute\Backend\ArrayBackend'
             ),
             'boolean'       => array(
                 'source_model'      => 'Magento\Eav\Model\Entity\Attribute\Source\Boolean'
diff --git a/app/code/Magento/Catalog/Helper/Product/Options.php b/app/code/Magento/Catalog/Helper/Product/Options.php
index 965fa29e26ca6fedd9367ae9f7a66979d3b2cc7b..40291d5012ca59c2c4bb2ccc1337a88176b29365 100644
--- a/app/code/Magento/Catalog/Helper/Product/Options.php
+++ b/app/code/Magento/Catalog/Helper/Product/Options.php
@@ -59,7 +59,7 @@ class Options extends \Magento\Core\Helper\AbstractHelper
      *  - 'size' - size of file
      *  - 'title' - user-friendly name of file (usually - original name as uploaded in Magento)
      *
-     * @param \Magento\Core\Controller\Response\Http $response
+     * @param \Magento\App\ResponseInterface $response
      * @param string $filePath
      * @param array $info
      * @return bool
diff --git a/app/code/Magento/Catalog/Helper/Product/View.php b/app/code/Magento/Catalog/Helper/Product/View.php
index 9f0bad4b8d5413295b7f23ff07216d239c92c320..5b9e125519bac2c0a0a2489c3e978409040349f0 100644
--- a/app/code/Magento/Catalog/Helper/Product/View.php
+++ b/app/code/Magento/Catalog/Helper/Product/View.php
@@ -70,7 +70,7 @@ class View extends \Magento\Core\Helper\AbstractHelper
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -93,7 +93,7 @@ class View extends \Magento\Core\Helper\AbstractHelper
      *
      * @param \Magento\Catalog\Model\Session $catalogSession
      * @param \Magento\Catalog\Model\Design $catalogDesign
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Catalog\Helper\Product $catalogProduct
      * @param \Magento\Page\Helper\Layout $pageLayout
      * @param \Magento\Core\Helper\Context $context
@@ -103,7 +103,7 @@ class View extends \Magento\Core\Helper\AbstractHelper
     public function __construct(
         \Magento\Catalog\Model\Session $catalogSession,
         \Magento\Catalog\Model\Design $catalogDesign,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Catalog\Helper\Product $catalogProduct,
         \Magento\Page\Helper\Layout $pageLayout,
         \Magento\Core\Helper\Context $context,
diff --git a/app/code/Magento/Catalog/Model/Category.php b/app/code/Magento/Catalog/Model/Category.php
index 6710c2810372b2ad44794eaa30b95df2d319f81e..bb70f6ef4d0419a9884a5b886b569848280e3aba 100644
--- a/app/code/Magento/Catalog/Model/Category.php
+++ b/app/code/Magento/Catalog/Model/Category.php
@@ -128,7 +128,7 @@ class Category extends \Magento\Catalog\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -189,12 +189,12 @@ class Category extends \Magento\Catalog\Model\AbstractModel
      * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory
      * @param \Magento\Core\Model\Url\RewriteFactory $urlRewriteFactory
      * @param \Magento\Core\Model\Resource\Store\CollectionFactory $storeCollectionFactory
-     * @param \Magento\Core\Model\UrlInterface $url
+     * @param \Magento\UrlInterface $url
      * @param \Magento\Catalog\Model\Resource\Product\CollectionFactory $productCollectionFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Catalog\Model\Config $catalogConfig
      * @param \Magento\Index\Model\Indexer $indexIndexer
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Helper\Category\Flat $catalogCategoryFlat
      * @param \Magento\Core\Model\Context $context
@@ -211,12 +211,12 @@ class Category extends \Magento\Catalog\Model\AbstractModel
         \Magento\Catalog\Model\CategoryFactory $categoryFactory,
         \Magento\Core\Model\Url\RewriteFactory $urlRewriteFactory,
         \Magento\Core\Model\Resource\Store\CollectionFactory $storeCollectionFactory,
-        \Magento\Core\Model\UrlInterface $url,
+        \Magento\UrlInterface $url,
         \Magento\Catalog\Model\Resource\Product\CollectionFactory $productCollectionFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Catalog\Model\Config $catalogConfig,
         \Magento\Index\Model\Indexer $indexIndexer,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Helper\Category\Flat $catalogCategoryFlat,
         \Magento\Core\Model\Context $context,
diff --git a/app/code/Magento/Catalog/Model/Category/Attribute/Backend/Image.php b/app/code/Magento/Catalog/Model/Category/Attribute/Backend/Image.php
index 0c214005c042535a5b0ecbdd7aa44848b3eef3ec..c687969e5c4ba4b2ebeb58c9fe3a5a1e1a709131 100644
--- a/app/code/Magento/Catalog/Model/Category/Attribute/Backend/Image.php
+++ b/app/code/Magento/Catalog/Model/Category/Attribute/Backend/Image.php
@@ -44,7 +44,7 @@ class Image extends \Magento\Eav\Model\Entity\Attribute\Backend\AbstractBackend
     /**
      * Dir model
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -59,12 +59,12 @@ class Image extends \Magento\Eav\Model\Entity\Attribute\Backend\AbstractBackend
      * Construct
      *
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\File\UploaderFactory $fileUploaderFactory
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\File\UploaderFactory $fileUploaderFactory
     ) {
         $this->_dir = $dir;
@@ -94,7 +94,7 @@ class Image extends \Magento\Eav\Model\Entity\Attribute\Backend\AbstractBackend
             return $this;
         }
 
-        $path = $this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA) . DS . 'catalog' . DS . 'category' . DS;
+        $path = $this->_dir->getDir(\Magento\App\Dir::MEDIA) . DS . 'catalog' . DS . 'category' . DS;
 
         try {
             /** @var $uploader \Magento\Core\Model\File\Uploader */
diff --git a/app/code/Magento/Catalog/Model/Design.php b/app/code/Magento/Catalog/Model/Design.php
index 26d2d9f86af7d0d23f415b6cf77161260060ed6f..698db0fe2e9cb59ceb12d8d7c8b9eec225d491c3 100644
--- a/app/code/Magento/Catalog/Model/Design.php
+++ b/app/code/Magento/Catalog/Model/Design.php
@@ -42,7 +42,7 @@ class Design extends \Magento\Core\Model\AbstractModel
     /**
      * Design package instance
      *
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_design = null;
 
@@ -57,7 +57,7 @@ class Design extends \Magento\Core\Model\AbstractModel
      * Construct
      *
      * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
@@ -66,7 +66,7 @@ class Design extends \Magento\Core\Model\AbstractModel
      */
     public function __construct(
         \Magento\Core\Model\LocaleInterface $locale,
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
diff --git a/app/code/Magento/Catalog/Model/Layer/Filter/Item.php b/app/code/Magento/Catalog/Model/Layer/Filter/Item.php
index 73072cbb03fda9e07a9bc4ace4955e7bbc7d3f17..4de4a29ef3ad5b943876bbd878289dc1a8a687f6 100644
--- a/app/code/Magento/Catalog/Model/Layer/Filter/Item.php
+++ b/app/code/Magento/Catalog/Model/Layer/Filter/Item.php
@@ -38,7 +38,7 @@ class Item extends \Magento\Object
     /**
      * Url
      *
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_url;
 
@@ -52,12 +52,12 @@ class Item extends \Magento\Object
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\UrlInterface $url
+     * @param \Magento\UrlInterface $url
      * @param \Magento\Page\Block\Html\Pager $htmlPagerBlock
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\UrlInterface $url,
+        \Magento\UrlInterface $url,
         \Magento\Page\Block\Html\Pager $htmlPagerBlock,
         array $data = array()
     ) {
diff --git a/app/code/Magento/Catalog/Model/Product.php b/app/code/Magento/Catalog/Model/Product.php
index b18900ba64295a14a2e9fde2f9ab24ed61a8817e..7966229e8f9c6b300f96ee3429910e31aa0ce6bb 100644
--- a/app/code/Magento/Catalog/Model/Product.php
+++ b/app/code/Magento/Catalog/Model/Product.php
@@ -141,7 +141,7 @@ class Product extends \Magento\Catalog\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -229,7 +229,7 @@ class Product extends \Magento\Catalog\Model\AbstractModel
      * @param \Magento\Catalog\Model\Product\Media\Config $catalogProductMediaConfig
      * @param \Magento\Index\Model\Indexer $indexIndexer
      * @param \Magento\Catalog\Model\Product\Type $catalogProductType
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Catalog\Helper\Image $catalogImage
      * @param \Magento\Catalog\Helper\Data $catalogData
      * @param \Magento\Catalog\Helper\Product $catalogProduct
@@ -256,7 +256,7 @@ class Product extends \Magento\Catalog\Model\AbstractModel
         \Magento\Catalog\Model\Product\Media\Config $catalogProductMediaConfig,
         \Magento\Index\Model\Indexer $indexIndexer,
         \Magento\Catalog\Model\Product\Type $catalogProductType,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Catalog\Helper\Image $catalogImage,
         \Magento\Catalog\Helper\Data $catalogData,
         \Magento\Catalog\Helper\Product $catalogProduct,
diff --git a/app/code/Magento/Catalog/Model/Product/Action.php b/app/code/Magento/Catalog/Model/Product/Action.php
index 460da89afc1d33e8aeb8e4e996cf5cdd36b2b9e3..87243c33104a2e9d068e110939a306e72120516f 100644
--- a/app/code/Magento/Catalog/Model/Product/Action.php
+++ b/app/code/Magento/Catalog/Model/Product/Action.php
@@ -39,7 +39,7 @@ class Action extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -62,7 +62,7 @@ class Action extends \Magento\Core\Model\AbstractModel
      *
      * @param \Magento\Catalog\Model\Product\WebsiteFactory $productWebsiteFactory
      * @param \Magento\Index\Model\Indexer $indexIndexer
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
@@ -72,7 +72,7 @@ class Action extends \Magento\Core\Model\AbstractModel
     public function __construct(
         \Magento\Catalog\Model\Product\WebsiteFactory $productWebsiteFactory,
         \Magento\Index\Model\Indexer $indexIndexer,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
diff --git a/app/code/Magento/Catalog/Model/Product/Attribute/Backend/Media.php b/app/code/Magento/Catalog/Model/Product/Attribute/Backend/Media.php
index da02671aedb81cc2b835c8b2d766e2bea3f4fad5..72525d680998696c60c92ca47b90af555180efa7 100644
--- a/app/code/Magento/Catalog/Model/Product/Attribute/Backend/Media.php
+++ b/app/code/Magento/Catalog/Model/Product/Attribute/Backend/Media.php
@@ -81,7 +81,7 @@ class Media extends \Magento\Eav\Model\Entity\Attribute\Backend\AbstractBackend
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -97,22 +97,22 @@ class Media extends \Magento\Eav\Model\Entity\Attribute\Backend\AbstractBackend
      *
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Catalog\Model\Resource\ProductFactory $productFactory
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\File\Storage\Database $fileStorageDb
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Catalog\Model\Product\Media\Config $mediaConfig
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Catalog\Model\Resource\Product\Attribute\Backend\Media $resourceProductAttribute
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
         \Magento\Catalog\Model\Resource\ProductFactory $productFactory,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\File\Storage\Database $fileStorageDb,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Catalog\Model\Product\Media\Config $mediaConfig,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Filesystem $filesystem,
         \Magento\Catalog\Model\Resource\Product\Attribute\Backend\Media $resourceProductAttribute
     ) {
@@ -124,7 +124,7 @@ class Media extends \Magento\Eav\Model\Entity\Attribute\Backend\AbstractBackend
         $this->_mediaConfig = $mediaConfig;
         $this->_filesystem = $filesystem;
         $this->_filesystem->setIsAllowCreateDirectories(true);
-        $this->_filesystem->setWorkingDirectory($dirs->getDir(\Magento\Core\Model\Dir::MEDIA));
+        $this->_filesystem->setWorkingDirectory($dirs->getDir(\Magento\App\Dir::MEDIA));
         $this->_baseMediaPath = $this->_mediaConfig->getBaseMediaPath();
         $this->_baseTmpMediaPath = $this->_mediaConfig->getBaseTmpMediaPath();
         $this->_filesystem->ensureDirectoryExists($this->_baseMediaPath);
diff --git a/app/code/Magento/Catalog/Model/Product/Attribute/Source/Inputtype.php b/app/code/Magento/Catalog/Model/Product/Attribute/Source/Inputtype.php
index 653c9009b26c65d6d7893964b51be38ad3f45bb3..0d19ea7eeb22984cbdc00e5f1391907f1535df4e 100644
--- a/app/code/Magento/Catalog/Model/Product/Attribute/Source/Inputtype.php
+++ b/app/code/Magento/Catalog/Model/Product/Attribute/Source/Inputtype.php
@@ -40,16 +40,16 @@ class Inputtype extends \Magento\Eav\Model\Adminhtml\System\Config\Source\Inputt
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Registry $coreRegistry
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Registry $coreRegistry
     ) {
         $this->_eventManager = $eventManager;
diff --git a/app/code/Magento/Catalog/Model/Product/Image.php b/app/code/Magento/Catalog/Model/Product/Image.php
index d8ae3b2f685f72c175665ecc3187bd37f227a650..c8d15e5eee40b0fa193486787529ff9746288b60 100644
--- a/app/code/Magento/Catalog/Model/Product/Image.php
+++ b/app/code/Magento/Catalog/Model/Product/Image.php
@@ -102,7 +102,7 @@ class Image extends \Magento\Core\Model\AbstractModel
     /**
      * Dir
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -117,7 +117,7 @@ class Image extends \Magento\Core\Model\AbstractModel
      * Construct
      *
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Catalog\Model\Product\Media\Config $catalogProductMediaConfig
      * @param \Magento\Core\Helper\File\Storage\Database $coreFileStorageDatabase
      * @param \Magento\Core\Model\Context $context
@@ -135,7 +135,7 @@ class Image extends \Magento\Core\Model\AbstractModel
      */
     public function __construct(
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Catalog\Model\Product\Media\Config $catalogProductMediaConfig,
         \Magento\Core\Helper\File\Storage\Database $coreFileStorageDatabase,
         \Magento\Core\Model\Context $context,
@@ -599,7 +599,7 @@ class Image extends \Magento\Core\Model\AbstractModel
                 "Magento_Catalog::images/product/placeholder/{$this->getDestinationSubdir()}.jpg"
             );
         } else {
-            $baseDir = $this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA);
+            $baseDir = $this->_dir->getDir(\Magento\App\Dir::MEDIA);
             $path = str_replace($baseDir . DS, "", $this->_newFile);
             $url = $this->_storeManager->getStore()->getBaseUrl(\Magento\Core\Model\Store::URL_TYPE_MEDIA) . str_replace(DS, '/', $path);;
         }
@@ -792,7 +792,7 @@ class Image extends \Magento\Core\Model\AbstractModel
 
     public function clearCache()
     {
-        $directory = $this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA) . DS . 'catalog' . DS . 'product'
+        $directory = $this->_dir->getDir(\Magento\App\Dir::MEDIA) . DS . 'catalog' . DS . 'product'
             . DS . 'cache' . DS;
         $this->_filesystem->delete($directory);
 
diff --git a/app/code/Magento/Catalog/Model/Product/Image/View.php b/app/code/Magento/Catalog/Model/Product/Image/View.php
index 38cace60375ee5694f4a1069ed6b5c44fd4cf3bc..6dfa9e323e085774c2aa2d0223d77478478a3e6f 100644
--- a/app/code/Magento/Catalog/Model/Product/Image/View.php
+++ b/app/code/Magento/Catalog/Model/Product/Image/View.php
@@ -89,18 +89,18 @@ class View extends \Magento\Object
     /**
      * View config model
      *
-     * @var \Magento\Core\Model\View\Config
+     * @var \Magento\View\ConfigInterface
      */
     protected $_viewConfig;
 
     /**
      * @param \Magento\Catalog\Helper\Image $helperImage
-     * @param \Magento\Core\Model\View\Config $viewConfig
+     * @param \Magento\View\ConfigInterface $viewConfig
      * @param array $data
      */
     public function __construct(
         \Magento\Catalog\Helper\Image $helperImage,
-        \Magento\Core\Model\View\Config $viewConfig,
+        \Magento\View\ConfigInterface $viewConfig,
         array $data = array()
     ) {
         $this->_helperImage = $helperImage;
diff --git a/app/code/Magento/Catalog/Model/Product/Media/Config.php b/app/code/Magento/Catalog/Model/Product/Media/Config.php
index 81bb3c44b1c720078d570f87b05e12730caae9c4..2717238980c844dee4d022cfed27d112af1d5a25 100644
--- a/app/code/Magento/Catalog/Model/Product/Media/Config.php
+++ b/app/code/Magento/Catalog/Model/Product/Media/Config.php
@@ -39,7 +39,7 @@ class Config implements \Magento\Media\Model\Image\Config\ConfigInterface
     /**
      * Dir
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -54,11 +54,11 @@ class Config implements \Magento\Media\Model\Image\Config\ConfigInterface
      * Construct
      *
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      */
     public function __construct(
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Dir $dir
+        \Magento\App\Dir $dir
     ) {
         $this->_storeManager = $storeManager;
         $this->_dir = $dir;
@@ -110,7 +110,7 @@ class Config implements \Magento\Media\Model\Image\Config\ConfigInterface
 
     public function getBaseMediaPath()
     {
-        return $this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA) . DIRECTORY_SEPARATOR
+        return $this->_dir->getDir(\Magento\App\Dir::MEDIA) . DIRECTORY_SEPARATOR
             . 'catalog' . DIRECTORY_SEPARATOR . 'product';
     }
 
@@ -122,7 +122,7 @@ class Config implements \Magento\Media\Model\Image\Config\ConfigInterface
 
     public function getBaseTmpMediaPath()
     {
-        return $this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA) . DIRECTORY_SEPARATOR
+        return $this->_dir->getDir(\Magento\App\Dir::MEDIA) . DIRECTORY_SEPARATOR
             . $this->getBaseTmpMediaPathAddition();
     }
 
diff --git a/app/code/Magento/Catalog/Model/Product/Option/Type/File.php b/app/code/Magento/Catalog/Model/Product/Option/Type/File.php
index ac5db6acba5201a684662341e1c11716bda14719..fa120dd6f16c198b91dde23449ff8749e70819a5 100644
--- a/app/code/Magento/Catalog/Model/Product/Option/Type/File.php
+++ b/app/code/Magento/Catalog/Model/Product/Option/Type/File.php
@@ -73,14 +73,14 @@ class File extends \Magento\Catalog\Model\Product\Option\Type\DefaultType
     /**
      * Dir
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
     /**
      * Url
      *
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_url;
 
@@ -95,8 +95,8 @@ class File extends \Magento\Catalog\Model\Product\Option\Type\DefaultType
      * Construct
      *
      * @param \Magento\Sales\Model\Quote\Item\OptionFactory $itemOptionFactory
-     * @param \Magento\Core\Model\UrlInterface $url
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\UrlInterface $url
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Helper\File\Storage\Database $coreFileStorageDatabase
@@ -107,8 +107,8 @@ class File extends \Magento\Catalog\Model\Product\Option\Type\DefaultType
      */
     public function __construct(
         \Magento\Sales\Model\Quote\Item\OptionFactory $itemOptionFactory,
-        \Magento\Core\Model\UrlInterface $url,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\UrlInterface $url,
+        \Magento\App\Dir $dir,
         \Magento\Checkout\Model\Session $checkoutSession,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Helper\File\Storage\Database $coreFileStorageDatabase,
@@ -761,7 +761,7 @@ class File extends \Magento\Catalog\Model\Product\Option\Type\DefaultType
      */
     public function getTargetDir($relative = false)
     {
-        $fullPath = $this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA) . DS . 'custom_options';
+        $fullPath = $this->_dir->getDir(\Magento\App\Dir::MEDIA) . DS . 'custom_options';
         return $relative ? str_replace($this->_dir->getDir(), '', $fullPath) : $fullPath;
     }
 
diff --git a/app/code/Magento/Catalog/Model/Product/Status.php b/app/code/Magento/Catalog/Model/Product/Status.php
index a6ebb63d5bcdc9e6415fcefa064c7cccd8e51d58..eeb654e054ca37aa97475baae4677f23c26cc72c 100644
--- a/app/code/Magento/Catalog/Model/Product/Status.php
+++ b/app/code/Magento/Catalog/Model/Product/Status.php
@@ -57,7 +57,7 @@ class Status extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -80,7 +80,7 @@ class Status extends \Magento\Core\Model\AbstractModel
      *
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Catalog\Model\Product\Action $catalogProductAction
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
@@ -90,7 +90,7 @@ class Status extends \Magento\Core\Model\AbstractModel
     public function __construct(
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Catalog\Model\Product\Action $catalogProductAction,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
diff --git a/app/code/Magento/Catalog/Model/Product/Type/AbstractType.php b/app/code/Magento/Catalog/Model/Product/Type/AbstractType.php
index a936b23376d40c3950315302dad3a7dc4ea9ddfb..d97dd402425e670fc81f21120fbf6944ccfe73fb 100644
--- a/app/code/Magento/Catalog/Model/Product/Type/AbstractType.php
+++ b/app/code/Magento/Catalog/Model/Product/Type/AbstractType.php
@@ -138,7 +138,7 @@ abstract class AbstractType
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -182,7 +182,7 @@ abstract class AbstractType
      * @param \Magento\Catalog\Model\Product\Option $catalogProductOption
      * @param \Magento\Eav\Model\Config $eavConfig
      * @param \Magento\Catalog\Model\Product\Type $catalogProductType
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Helper\File\Storage\Database $fileStorageDb
      * @param \Magento\Filesystem $filesystem
@@ -195,7 +195,7 @@ abstract class AbstractType
         \Magento\Catalog\Model\Product\Option $catalogProductOption,
         \Magento\Eav\Model\Config $eavConfig,
         \Magento\Catalog\Model\Product\Type $catalogProductType,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Helper\File\Storage\Database $fileStorageDb,
         \Magento\Filesystem $filesystem,
diff --git a/app/code/Magento/Catalog/Model/Product/Type/Configurable.php b/app/code/Magento/Catalog/Model/Product/Type/Configurable.php
index 66fa72bee49e24aa55c57caf4475bc0b9a3244d9..d4f7ad732e9a260d6dba03b65ddaa698939690f7 100644
--- a/app/code/Magento/Catalog/Model/Product/Type/Configurable.php
+++ b/app/code/Magento/Catalog/Model/Product/Type/Configurable.php
@@ -178,7 +178,7 @@ class Configurable extends \Magento\Catalog\Model\Product\Type\AbstractType
      * @param \Magento\Catalog\Model\Resource\Product\Type\Configurable\Attribute\CollectionFactory $attributeCollectionFactory
      * @param \Magento\Catalog\Model\Resource\Product\Type\Configurable $catalogProductTypeConfigurable
      * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Helper\File\Storage\Database $fileStorageDb
      * @param \Magento\Filesystem $filesystem
@@ -202,7 +202,7 @@ class Configurable extends \Magento\Catalog\Model\Product\Type\AbstractType
         \Magento\Catalog\Model\Resource\Product\Type\Configurable\Attribute\CollectionFactory $attributeCollectionFactory,
         \Magento\Catalog\Model\Resource\Product\Type\Configurable $catalogProductTypeConfigurable,
         \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Helper\File\Storage\Database $fileStorageDb,
         \Magento\Filesystem $filesystem,
diff --git a/app/code/Magento/Catalog/Model/Product/Type/Grouped.php b/app/code/Magento/Catalog/Model/Product/Type/Grouped.php
index e2fc38812aebfefa2ffafb541f7082776e334641..4dbbc4bd44240887929c7b677015d0933db3ef09 100644
--- a/app/code/Magento/Catalog/Model/Product/Type/Grouped.php
+++ b/app/code/Magento/Catalog/Model/Product/Type/Grouped.php
@@ -103,7 +103,7 @@ class Grouped extends \Magento\Catalog\Model\Product\Type\AbstractType
      * @param \Magento\Catalog\Model\Resource\Product\Link $catalogProductLink
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Catalog\Model\Product\Status $catalogProductStatus
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Helper\File\Storage\Database $fileStorageDb
      * @param \Magento\Filesystem $filesystem
@@ -119,7 +119,7 @@ class Grouped extends \Magento\Catalog\Model\Product\Type\AbstractType
         \Magento\Catalog\Model\Resource\Product\Link $catalogProductLink,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Catalog\Model\Product\Status $catalogProductStatus,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Helper\File\Storage\Database $fileStorageDb,
         \Magento\Filesystem $filesystem,
diff --git a/app/code/Magento/Catalog/Model/Product/Type/Price.php b/app/code/Magento/Catalog/Model/Product/Type/Price.php
index 33da634f46fbd807f75c4d2fcb4ac7fc5f9fa86d..8d1b57b72d01f8b317af1896a85c4e47a41a5eb4 100644
--- a/app/code/Magento/Catalog/Model/Product/Type/Price.php
+++ b/app/code/Magento/Catalog/Model/Product/Type/Price.php
@@ -42,7 +42,7 @@ class Price
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -81,14 +81,14 @@ class Price
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Customer\Model\Session $customerSession
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      */
     public function __construct(
         \Magento\CatalogRule\Model\Resource\RuleFactory $ruleFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Customer\Model\Session $customerSession,
-        \Magento\Core\Model\Event\Manager $eventManager
+        \Magento\Event\ManagerInterface $eventManager
     ) {
         $this->_ruleFactory = $ruleFactory;
         $this->_storeManager = $storeManager;
diff --git a/app/code/Magento/Catalog/Model/Product/Url.php b/app/code/Magento/Catalog/Model/Product/Url.php
index c46a5d07b1a66f8af67125229cbd391af6c6570c..8a6f5438008315f4e3af8bf651dce7001c6ebe72 100644
--- a/app/code/Magento/Catalog/Model/Product/Url.php
+++ b/app/code/Magento/Catalog/Model/Product/Url.php
@@ -84,7 +84,7 @@ class Url extends \Magento\Object
      * Construct
      *
      * @param \Magento\Core\Model\Url\RewriteFactory $urlRewriteFactory
-     * @param \Magento\Core\Model\UrlInterface $url
+     * @param \Magento\UrlInterface $url
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Catalog\Helper\Category $catalogCategory
      * @param \Magento\Catalog\Helper\Product\Url $catalogProductUrl
@@ -93,7 +93,7 @@ class Url extends \Magento\Object
      */
     public function __construct(
         \Magento\Core\Model\Url\RewriteFactory $urlRewriteFactory,
-        \Magento\Core\Model\UrlInterface $url,
+        \Magento\UrlInterface $url,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Catalog\Helper\Category $catalogCategory,
         \Magento\Catalog\Helper\Product\Url $catalogProductUrl,
diff --git a/app/code/Magento/Catalog/Model/Resource/Category.php b/app/code/Magento/Catalog/Model/Resource/Category.php
index ccdbecc9986cadf41021bd568070c78c095ad8a2..0c861a49f68eac7d25ba07f0493cbc389dcf72f5 100644
--- a/app/code/Magento/Catalog/Model/Resource/Category.php
+++ b/app/code/Magento/Catalog/Model/Resource/Category.php
@@ -67,7 +67,7 @@ class Category extends \Magento\Catalog\Model\Resource\AbstractResource
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -96,7 +96,7 @@ class Category extends \Magento\Catalog\Model\Resource\AbstractResource
      * @param \Magento\Validator\UniversalFactory $universalFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Catalog\Model\Factory $modelFactory
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Catalog\Model\Resource\Category\TreeFactory $categoryTreeFactory
      * @param \Magento\Catalog\Model\Resource\Category\CollectionFactory $categoryCollectionFactory
      * @param array $data
@@ -112,7 +112,7 @@ class Category extends \Magento\Catalog\Model\Resource\AbstractResource
         \Magento\Validator\UniversalFactory $universalFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Catalog\Model\Factory $modelFactory,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Catalog\Model\Resource\Category\TreeFactory $categoryTreeFactory,
         \Magento\Catalog\Model\Resource\Category\CollectionFactory $categoryCollectionFactory,
         $data = array()
diff --git a/app/code/Magento/Catalog/Model/Resource/Category/Attribute/Collection.php b/app/code/Magento/Catalog/Model/Resource/Category/Attribute/Collection.php
index 9ebda769687c1cf3a1ad774520f565bdc8fdb99f..81f129748ed8f4cffce5dd470232b7fce7711d95 100644
--- a/app/code/Magento/Catalog/Model/Resource/Category/Attribute/Collection.php
+++ b/app/code/Magento/Catalog/Model/Resource/Category/Attribute/Collection.php
@@ -48,7 +48,7 @@ class Collection
      * Construct
      *
      * @param \Magento\Eav\Model\EntityFactory $eavEntityFactory
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -56,7 +56,7 @@ class Collection
      */
     public function __construct(
         \Magento\Eav\Model\EntityFactory $eavEntityFactory,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Catalog/Model/Resource/Category/Flat.php b/app/code/Magento/Catalog/Model/Resource/Category/Flat.php
index 5ee993ac2306a2776dff6c673f699525333aaf11..1d0540dd1953579c1baa2782b636e761a181c31c 100644
--- a/app/code/Magento/Catalog/Model/Resource/Category/Flat.php
+++ b/app/code/Magento/Catalog/Model/Resource/Category/Flat.php
@@ -108,7 +108,7 @@ class Flat extends \Magento\Index\Model\Resource\AbstractResource
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -163,7 +163,7 @@ class Flat extends \Magento\Index\Model\Resource\AbstractResource
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Catalog\Model\Config $catalogConfig
      * @param \Magento\Catalog\Model\Category $catalogCategory
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Catalog\Model\Resource\Helper $resourceHelper
      */
     public function __construct(
@@ -173,7 +173,7 @@ class Flat extends \Magento\Index\Model\Resource\AbstractResource
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Catalog\Model\Config $catalogConfig,
         \Magento\Catalog\Model\Category $catalogCategory,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Catalog\Model\Resource\Helper $resourceHelper
     ) {
         $this->_categoryFactory = $categoryFactory;
diff --git a/app/code/Magento/Catalog/Model/Resource/Category/Flat/Collection.php b/app/code/Magento/Catalog/Model/Resource/Category/Flat/Collection.php
index 8b966529ddb55bdb1d94e1b67f0133226f617903..cbeca8bafa19b3d69bbaa553713f8512b79af9f1 100644
--- a/app/code/Magento/Catalog/Model/Resource/Category/Flat/Collection.php
+++ b/app/code/Magento/Catalog/Model/Resource/Category/Flat/Collection.php
@@ -68,7 +68,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * Construct
      *
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -76,7 +76,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      */
     public function __construct(
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Catalog/Model/Resource/Category/Tree.php b/app/code/Magento/Catalog/Model/Resource/Category/Tree.php
index 791c5029b490a3a6addd977cd288e648a11cadfc..dce8772cc17897512cb46cb4707c627abbd4c7ec 100644
--- a/app/code/Magento/Catalog/Model/Resource/Category/Tree.php
+++ b/app/code/Magento/Catalog/Model/Resource/Category/Tree.php
@@ -31,7 +31,7 @@ class Tree extends \Magento\Data\Tree\Dbp
     const LEVEL_FIELD = 'level';
 
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     private $_eventManager;
     
@@ -113,7 +113,7 @@ class Tree extends \Magento\Data\Tree\Dbp
      * @param \Magento\Core\Model\CacheInterface $cache
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Resource $resource
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Catalog\Model\Attribute\Config $attributeConfig
      * @param \Magento\Catalog\Model\Resource\Category\Collection\Factory $collectionFactory
      */
@@ -122,7 +122,7 @@ class Tree extends \Magento\Data\Tree\Dbp
         \Magento\Core\Model\CacheInterface $cache,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Resource $resource,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Catalog\Model\Attribute\Config $attributeConfig,
         \Magento\Catalog\Model\Resource\Category\Collection\Factory $collectionFactory
     ) {
diff --git a/app/code/Magento/Catalog/Model/Resource/Collection/AbstractCollection.php b/app/code/Magento/Catalog/Model/Resource/Collection/AbstractCollection.php
index 2b963e5a3af873c9b569fce8fea1bd62f6dbf6b7..c4457cace2d6af2ed25638a2509ba16a8e0cdb3d 100644
--- a/app/code/Magento/Catalog/Model/Resource/Collection/AbstractCollection.php
+++ b/app/code/Magento/Catalog/Model/Resource/Collection/AbstractCollection.php
@@ -54,7 +54,7 @@ class AbstractCollection extends \Magento\Eav\Model\Entity\Collection\AbstractCo
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -66,7 +66,7 @@ class AbstractCollection extends \Magento\Eav\Model\Entity\Collection\AbstractCo
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Catalog/Model/Resource/Layer/Filter/Price.php b/app/code/Magento/Catalog/Model/Resource/Layer/Filter/Price.php
index de00891ab74c1f67a393c5cfcb6610fc21ef05cb..77e22eabd43f09d8cd62a743c0a02dd94209279d 100644
--- a/app/code/Magento/Catalog/Model/Resource/Layer/Filter/Price.php
+++ b/app/code/Magento/Catalog/Model/Resource/Layer/Filter/Price.php
@@ -44,7 +44,7 @@ class Price extends \Magento\Core\Model\Resource\Db\AbstractDb
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -53,11 +53,11 @@ class Price extends \Magento\Core\Model\Resource\Db\AbstractDb
      *
      *
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Resource $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Resource $resource
     ) {
         $this->_eventManager = $eventManager;
diff --git a/app/code/Magento/Catalog/Model/Resource/Product/Attribute/Backend/Image.php b/app/code/Magento/Catalog/Model/Resource/Product/Attribute/Backend/Image.php
index c30db7a0ebf9d8dd0ac8c668fb5c175c2cafa4e3..8add8de7aa6ebf6fd245b15153b1f5d47f035875 100644
--- a/app/code/Magento/Catalog/Model/Resource/Product/Attribute/Backend/Image.php
+++ b/app/code/Magento/Catalog/Model/Resource/Product/Attribute/Backend/Image.php
@@ -40,7 +40,7 @@ class Image
     /**
      * Dir model
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -54,12 +54,12 @@ class Image
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Core\Model\File\UploaderFactory $fileUploaderFactory
      */
     public function __construct(
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\Logger $logger,
         \Magento\Core\Model\File\UploaderFactory $fileUploaderFactory
     ) {
@@ -94,7 +94,7 @@ class Image
         } catch (\Exception $e){
             return $this;
         }
-        $uploader->save($this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA) . '/catalog/product');
+        $uploader->save($this->_dir->getDir(\Magento\App\Dir::MEDIA) . '/catalog/product');
 
         $fileName = $uploader->getUploadedFileName();
         if ($fileName) {
diff --git a/app/code/Magento/Catalog/Model/Resource/Product/Attribute/Collection.php b/app/code/Magento/Catalog/Model/Resource/Product/Attribute/Collection.php
index 55d4ee5b172bf53a068588472876abfd14ca29e0..8c8e3e8737979f2c6c2c57d4a38bf21302e757cd 100644
--- a/app/code/Magento/Catalog/Model/Resource/Product/Attribute/Collection.php
+++ b/app/code/Magento/Catalog/Model/Resource/Product/Attribute/Collection.php
@@ -48,7 +48,7 @@ class Collection
      * Construct
      *
      * @param \Magento\Eav\Model\EntityFactory $eavEntityFactory
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -56,7 +56,7 @@ class Collection
      */
     public function __construct(
         \Magento\Eav\Model\EntityFactory $eavEntityFactory,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Catalog/Model/Resource/Product/Collection.php b/app/code/Magento/Catalog/Model/Resource/Product/Collection.php
index c597ec85c3ab46ea49f6fd4be1d89d9d8e44f5ff..d9317c9a798fc3a354fa5e874c86c1c6a66be100 100644
--- a/app/code/Magento/Catalog/Model/Resource/Product/Collection.php
+++ b/app/code/Magento/Catalog/Model/Resource/Product/Collection.php
@@ -260,7 +260,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Collection\AbstractColl
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -281,7 +281,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Collection\AbstractColl
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Catalog/Model/Resource/Product/Collection/AssociatedProduct.php b/app/code/Magento/Catalog/Model/Resource/Product/Collection/AssociatedProduct.php
index 681ca01a2b28a3c2e535bbdf5e2db54fa335bc7a..caee095e4d7fd7e8db99ce649fb6b3d5a2657546 100644
--- a/app/code/Magento/Catalog/Model/Resource/Product/Collection/AssociatedProduct.php
+++ b/app/code/Magento/Catalog/Model/Resource/Product/Collection/AssociatedProduct.php
@@ -57,7 +57,7 @@ class AssociatedProduct
     protected $_configurationHelper;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -80,7 +80,7 @@ class AssociatedProduct
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Catalog/Model/Resource/Product/Compare/Item/Collection.php b/app/code/Magento/Catalog/Model/Resource/Product/Compare/Item/Collection.php
index a974a08b8c59e38800200ddc73ba3d96302e90cd..7b05d36586c9e9f76de30be4a8c04823320ec8d3 100644
--- a/app/code/Magento/Catalog/Model/Resource/Product/Compare/Item/Collection.php
+++ b/app/code/Magento/Catalog/Model/Resource/Product/Compare/Item/Collection.php
@@ -73,7 +73,7 @@ class Collection
     protected $_catalogProductCompareItem;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -96,7 +96,7 @@ class Collection
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Catalog/Model/Resource/Product/Flat/Indexer.php b/app/code/Magento/Catalog/Model/Resource/Product/Flat/Indexer.php
index 4532a74fd3eeff35942623ecf0bcf06efc49a82f..70c22b4337425ea04d8eab5976e3515c8c993f5f 100644
--- a/app/code/Magento/Catalog/Model/Resource/Product/Flat/Indexer.php
+++ b/app/code/Magento/Catalog/Model/Resource/Product/Flat/Indexer.php
@@ -120,7 +120,7 @@ class Indexer extends \Magento\Index\Model\Resource\AbstractResource
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -180,7 +180,7 @@ class Indexer extends \Magento\Index\Model\Resource\AbstractResource
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Resource $resource
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Eav\Model\Config $eavConfig
      * @param \Magento\Catalog\Model\Attribute\Config $attributeConfig
@@ -198,7 +198,7 @@ class Indexer extends \Magento\Index\Model\Resource\AbstractResource
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Resource $resource,
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Eav\Model\Config $eavConfig,
         \Magento\Catalog\Model\Attribute\Config $attributeConfig,
diff --git a/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Eav/AbstractEav.php b/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Eav/AbstractEav.php
index 07182bd588d65c5545d816c6895011e5136ed3fb..39da61a6335d06d628d2a2dbcd4d08d7712f4130 100644
--- a/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Eav/AbstractEav.php
+++ b/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Eav/AbstractEav.php
@@ -40,7 +40,7 @@ abstract class AbstractEav
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -49,12 +49,12 @@ abstract class AbstractEav
      *
      * @param \Magento\Core\Model\Resource $resource
      * @param \Magento\Eav\Model\Config $eavConfig
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      */
     public function __construct(
         \Magento\Core\Model\Resource $resource,
         \Magento\Eav\Model\Config $eavConfig,
-        \Magento\Core\Model\Event\Manager $eventManager
+        \Magento\Event\ManagerInterface $eventManager
     ) {
         $this->_eventManager = $eventManager;
         parent::__construct($resource, $eavConfig);
diff --git a/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Eav/Source.php b/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Eav/Source.php
index b4057548fbaa3ed29481d9a3c85f275df00050a0..94b16cbdf10a080ab74b7b11bc2e21493af493c8 100644
--- a/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Eav/Source.php
+++ b/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Eav/Source.php
@@ -49,13 +49,13 @@ class Source
      *
      * @param \Magento\Core\Model\Resource $resource
      * @param \Magento\Eav\Model\Config $eavConfig
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Catalog\Model\Resource\Helper $resourceHelper
      */
     public function __construct(
         \Magento\Core\Model\Resource $resource,
         \Magento\Eav\Model\Config $eavConfig,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Catalog\Model\Resource\Helper $resourceHelper
     ) {
         $this->_resourceHelper = $resourceHelper;
diff --git a/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Price/DefaultPrice.php b/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Price/DefaultPrice.php
index 05e7373ce0634b9489a81004e989d94305cc2045..85338f590a0ae473c4d310d6cd8f94cbd115276f 100644
--- a/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Price/DefaultPrice.php
+++ b/app/code/Magento/Catalog/Model/Resource/Product/Indexer/Price/DefaultPrice.php
@@ -63,20 +63,20 @@ class DefaultPrice
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
     /**
      * @param \Magento\Core\Model\Resource $resource
      * @param \Magento\Eav\Model\Config $eavConfig
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      */
     public function __construct(
         \Magento\Core\Model\Resource $resource,
         \Magento\Eav\Model\Config $eavConfig,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData
     ) {
         $this->_eventManager = $eventManager;
diff --git a/app/code/Magento/Catalog/Model/Resource/Product/Option/Collection.php b/app/code/Magento/Catalog/Model/Resource/Product/Option/Collection.php
index db36bbff79b88d0753b7be5787d5270ca4c22c01..06125badce53c29364d04ff3aa73f2143e575688 100644
--- a/app/code/Magento/Catalog/Model/Resource/Product/Option/Collection.php
+++ b/app/code/Magento/Catalog/Model/Resource/Product/Option/Collection.php
@@ -52,7 +52,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      *
      * @param \Magento\Catalog\Model\Resource\Product\Option\Value\CollectionFactory $optionValueCollectionFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -61,7 +61,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     public function __construct(
         \Magento\Catalog\Model\Resource\Product\Option\Value\CollectionFactory $optionValueCollectionFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Catalog/Model/Resource/Product/Type/Configurable/Attribute/Collection.php b/app/code/Magento/Catalog/Model/Resource/Product/Type/Configurable/Attribute/Collection.php
index 464ff82f98556ae3a00d069061937cd92f807813..8bcc774f8da63633be10c1a54d64554b3e66e49e 100644
--- a/app/code/Magento/Catalog/Model/Resource/Product/Type/Configurable/Attribute/Collection.php
+++ b/app/code/Magento/Catalog/Model/Resource/Product/Type/Configurable/Attribute/Collection.php
@@ -81,7 +81,7 @@ class Collection
      *
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Catalog\Model\Product\Type\Configurable $catalogProductTypeConfigurable
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Catalog\Helper\Data $catalogData
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
@@ -91,7 +91,7 @@ class Collection
     public function __construct(
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Catalog\Model\Product\Type\Configurable $catalogProductTypeConfigurable,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Catalog\Helper\Data $catalogData,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
diff --git a/app/code/Magento/Catalog/Model/Resource/Product/Type/Grouped/AssociatedProductsCollection.php b/app/code/Magento/Catalog/Model/Resource/Product/Type/Grouped/AssociatedProductsCollection.php
index 6c399e32ebe5b609996db8c4dd3a653e1daf8c5c..af0a033e75321fccadc5fb70c0445eb606918907 100644
--- a/app/code/Magento/Catalog/Model/Resource/Product/Type/Grouped/AssociatedProductsCollection.php
+++ b/app/code/Magento/Catalog/Model/Resource/Product/Type/Grouped/AssociatedProductsCollection.php
@@ -53,7 +53,7 @@ class AssociatedProductsCollection
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -76,7 +76,7 @@ class AssociatedProductsCollection
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Catalog/etc/di.xml b/app/code/Magento/Catalog/etc/di.xml
index 99b245d3e68c91590a8a97f302ccabb887c7f62b..6ab78d7fa06fc6377fb8c320869e5524039331e0 100644
--- a/app/code/Magento/Catalog/etc/di.xml
+++ b/app/code/Magento/Catalog/etc/di.xml
@@ -29,15 +29,7 @@
     <type name="Magento\Log\Model\Resource\Log">
         <plugin name="catalogLog" type="Magento\Catalog\Model\Plugin\Log" />
     </type>
-    <type name="Magento\Catalog\Model\Product\Attribute\Backend\Price">
-        <param name="coreString">
-            <instance type="Magento\Core\Helper\String\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Catalog\Helper\Product\View">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
         <param name="messageModels">
             <value>
                 <catalog>Magento\Catalog\Model\Session</catalog>
@@ -46,78 +38,21 @@
         </param>
     </type>
     <type name="Magento\Catalog\Helper\Product">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
         <param name="typeSwitcherLabel">
             <value>Virtual</value>
         </param>
     </type>
-    <type name="Magento\Catalog\Model\Category">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Catalog\Model\Product\Attribute\Backend\Media">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Catalog\Model\Product\Attribute\Source\Inputtype">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Catalog\Model\Product\Status">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Catalog\Model\Product\Type\AbstractType">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Catalog\Model\Product\Type\Price">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Catalog\Model\Product">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
         <param name="catalogProductStatus">
             <instance type="Magento\Catalog\Model\Product\Status\Proxy" />
         </param>
     </type>
     <type name="Magento\Catalog\Model\Resource\Category\Flat">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
         <param name="catalogCategory">
             <instance type="Magento\Catalog\Model\Category\Proxy" />
         </param>
     </type>
-    <type name="Magento\Catalog\Model\Resource\Category\Tree">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Catalog\Model\Resource\Category">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Catalog\Model\Resource\Layer\Filter\Price">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Catalog\Model\Resource\Product\Flat\Indexer">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
         <param name="maxIndexCount">
             <value type="int">64</value>
         </param>
@@ -127,16 +62,6 @@
             </value>
         </param>
     </type>
-    <type name="Magento\Catalog\Model\Resource\Product\Indexer\Eav\AbstractEav">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Catalog\Model\Resource\Product\Indexer\Price\DefaultPrice">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Catalog\Model\Resource\Product\Collection">
         <param name="catalogUrl">
             <instance type="Magento\Catalog\Model\Resource\Url\Proxy" />
@@ -156,14 +81,6 @@
             </value>
         </param>
     </type>
-    <type name="Magento\Catalog\Model\Attribute\Config\Data">
-        <param name="cacheId">
-            <value>catalog_attributes</value>
-        </param>
-        <param name="scope">
-            <value type="const">Magento\Core\Model\App\Area::AREA_GLOBAL</value>
-        </param>
-    </type>
     <type name="Magento\Catalog\Helper\Product\Flat">
         <param name="addFilterableAttrs">
             <value type="int">0</value>
@@ -188,12 +105,12 @@
         </param>
     </type>
     <type name="Magento\Catalog\Block\Layer\View">
-        <param name="layer">
+        <param name="catalogLayer">
             <instance type="Magento\Catalog\Model\Layer\Proxy" />
         </param>
     </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <catalog_setup>Magento\Catalog\Model\Resource\Setup</catalog_setup>
             </value>
diff --git a/app/code/Magento/CatalogInventory/Block/Adminhtml/Form/Field/Minsaleqty.php b/app/code/Magento/CatalogInventory/Block/Adminhtml/Form/Field/Minsaleqty.php
index d94f9641de894a158974f09a370ddbc0ccb4ecd4..2a7dd937c474049e7dabb2e8e004c0763d80ac5f 100644
--- a/app/code/Magento/CatalogInventory/Block/Adminhtml/Form/Field/Minsaleqty.php
+++ b/app/code/Magento/CatalogInventory/Block/Adminhtml/Form/Field/Minsaleqty.php
@@ -54,7 +54,6 @@ class Minsaleqty
                 array('data' => array('is_render_to_js_template' => true))
             );
             $this->_groupRenderer->setClass('customer_group_select');
-            $this->_groupRenderer->setExtraParams('style="width:120px"');
         }
         return $this->_groupRenderer;
     }
@@ -70,7 +69,6 @@ class Minsaleqty
         ));
         $this->addColumn('min_sale_qty', array(
             'label' => __('Minimum Qty'),
-            'style' => 'width:100px',
         ));
         $this->_addAfter = false;
         $this->_addButtonLabel = __('Add Minimum Qty');
diff --git a/app/code/Magento/CatalogInventory/Model/Resource/Stock/Item/Collection.php b/app/code/Magento/CatalogInventory/Model/Resource/Stock/Item/Collection.php
index 03351c042176be787d1c3207778119659c0b7936..efa15f0d8fec702b52674f731078d9c4e3bd8629 100644
--- a/app/code/Magento/CatalogInventory/Model/Resource/Stock/Item/Collection.php
+++ b/app/code/Magento/CatalogInventory/Model/Resource/Stock/Item/Collection.php
@@ -37,7 +37,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -45,7 +45,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\Abstract $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/CatalogInventory/etc/di.xml b/app/code/Magento/CatalogInventory/etc/di.xml
index a4040c25196232ec5a3e941311fe817ee313c021..00ca544b8dae5a430b3e2b56bb2d8265f550c522 100644
--- a/app/code/Magento/CatalogInventory/etc/di.xml
+++ b/app/code/Magento/CatalogInventory/etc/di.xml
@@ -47,8 +47,8 @@
             <instance type="Magento\CatalogInventory\Helper\Data\Proxy" />
         </param>
     </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <cataloginventory_setup>Magento\Eav\Model\Entity\Setup</cataloginventory_setup>
             </value>
diff --git a/app/code/Magento/CatalogRule/Model/Resource/Rule.php b/app/code/Magento/CatalogRule/Model/Resource/Rule.php
index fa4d79a4e6661aeedf4c0c751a53da745c3c2e5b..63a3ce5761488eb4ccd87374e8673c65ebf7daa2 100644
--- a/app/code/Magento/CatalogRule/Model/Resource/Rule.php
+++ b/app/code/Magento/CatalogRule/Model/Resource/Rule.php
@@ -69,7 +69,7 @@ class Rule extends \Magento\Rule\Model\Resource\AbstractResource
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -98,7 +98,7 @@ class Rule extends \Magento\Rule\Model\Resource\AbstractResource
      * @param \Magento\Catalog\Model\Product\ConditionFactory $conditionFactory
      * @param \Magento\Core\Model\Date $coreDate
      * @param \Magento\Eav\Model\Config $eavConfig
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\CatalogRule\Helper\Data $catalogRuleData
      * @param \Magento\Core\Model\Resource $resource
      */
@@ -107,7 +107,7 @@ class Rule extends \Magento\Rule\Model\Resource\AbstractResource
         \Magento\Catalog\Model\Product\ConditionFactory $conditionFactory,
         \Magento\Core\Model\Date $coreDate,
         \Magento\Eav\Model\Config $eavConfig,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\CatalogRule\Helper\Data $catalogRuleData,
         \Magento\Core\Model\Resource $resource
     ) {
diff --git a/app/code/Magento/CatalogRule/Model/Rule/Action/Collection.php b/app/code/Magento/CatalogRule/Model/Rule/Action/Collection.php
index a671806ffe33dd98a73c1c445f4f48f036f1d812..ad4bbde5a6fd9d5030e9ccf60b4bc58c0ba5442a 100644
--- a/app/code/Magento/CatalogRule/Model/Rule/Action/Collection.php
+++ b/app/code/Magento/CatalogRule/Model/Rule/Action/Collection.php
@@ -32,13 +32,13 @@ class Collection extends \Magento\Rule\Model\Action\Collection
     /**
      * @param \Magento\Core\Model\View\Url $viewUrl
      * @param \Magento\Rule\Model\ActionFactory $actionFactory
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param array $data
      */
     public function __construct(
         \Magento\Core\Model\View\Url $viewUrl,
         \Magento\Rule\Model\ActionFactory $actionFactory,
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         array $data = array()
     ) {
         parent::__construct($viewUrl, $actionFactory, $layout, $data);
diff --git a/app/code/Magento/CatalogRule/Model/Rule/Job.php b/app/code/Magento/CatalogRule/Model/Rule/Job.php
index 093cf6098da68cd99691437654f272c727a1bb02..06867b2b6cf0bd773a3e1012cf0b7f7c219bf079 100644
--- a/app/code/Magento/CatalogRule/Model/Rule/Job.php
+++ b/app/code/Magento/CatalogRule/Model/Rule/Job.php
@@ -47,16 +47,16 @@ class Job extends \Magento\Object
     /**
      * Instance of event manager model
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
     /**
      * Basic object initialization
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      */
-    public function __construct(\Magento\Core\Model\Event\Manager $eventManager)
+    public function __construct(\Magento\Event\ManagerInterface $eventManager)
     {
         $this->_eventManager = $eventManager;
     }
diff --git a/app/code/Magento/CatalogRule/etc/di.xml b/app/code/Magento/CatalogRule/etc/di.xml
index 1aaed99347b0cfc583f74ff39702b771d5784b5e..b0fde245ae4a6a67f6bf2db90a4c5a1a59cbb215 100644
--- a/app/code/Magento/CatalogRule/etc/di.xml
+++ b/app/code/Magento/CatalogRule/etc/di.xml
@@ -24,14 +24,9 @@
  */
 -->
 <config>
-    <type name="Magento\CatalogRule\Model\Rule\Job">
-        <param name="helper">
-            <instance type="Magento\CatalogRule\Helper\Data" />
-        </param>
-    </type>
     <type name="Magento\CatalogRule\Model\Resource\Rule">
         <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
+            <instance type="Magento\Event\Manager\Proxy" />
         </param>
     </type>
     <type name="Magento\CatalogRule\Model\Resource\Rule\Collection" shared="false" />
@@ -46,8 +41,8 @@
             <instance type="Magento\Backend\Model\Session\Proxy" />
         </param>
     </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <catalogrule_setup>Magento\Core\Model\Resource\Setup\Generic</catalogrule_setup>
             </value>
diff --git a/app/code/Magento/CatalogSearch/Model/Fulltext.php b/app/code/Magento/CatalogSearch/Model/Fulltext.php
index b4e62cc844ee7a9a364e378575632a8924cdd335..dd544df5bba92335e976639dcc16e22918242510 100644
--- a/app/code/Magento/CatalogSearch/Model/Fulltext.php
+++ b/app/code/Magento/CatalogSearch/Model/Fulltext.php
@@ -59,7 +59,7 @@ class Fulltext extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -71,7 +71,7 @@ class Fulltext extends \Magento\Core\Model\AbstractModel
     protected $_coreStoreConfig;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\CatalogSearch\Helper\Data $catalogSearchData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
@@ -81,7 +81,7 @@ class Fulltext extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\CatalogSearch\Helper\Data $catalogSearchData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
diff --git a/app/code/Magento/CatalogSearch/Model/Resource/Advanced.php b/app/code/Magento/CatalogSearch/Model/Resource/Advanced.php
index 0b3a8016e0c4ccf945b69ce674fb1cc95a6f199b..5d3ebe37e5894d7bd5e949d15c2aad33a7a5249d 100644
--- a/app/code/Magento/CatalogSearch/Model/Resource/Advanced.php
+++ b/app/code/Magento/CatalogSearch/Model/Resource/Advanced.php
@@ -39,7 +39,7 @@ class Advanced extends \Magento\Core\Model\Resource\Db\AbstractDb
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -55,12 +55,12 @@ class Advanced extends \Magento\Core\Model\Resource\Db\AbstractDb
      *
      * @param \Magento\Core\Model\Resource $resource
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      */
     public function __construct(
         \Magento\Core\Model\Resource $resource,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Event\Manager $eventManager
+        \Magento\Event\ManagerInterface $eventManager
     ) {
         $this->_storeManager = $storeManager;
         $this->_eventManager = $eventManager;
diff --git a/app/code/Magento/CatalogSearch/Model/Resource/Advanced/Collection.php b/app/code/Magento/CatalogSearch/Model/Resource/Advanced/Collection.php
index 0ab32ec2cb89539c359c15e17644258be03ff885..9ae353ae4c36d19fb3e6aacfc98e65e7758fbf95 100644
--- a/app/code/Magento/CatalogSearch/Model/Resource/Advanced/Collection.php
+++ b/app/code/Magento/CatalogSearch/Model/Resource/Advanced/Collection.php
@@ -44,7 +44,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
     protected $_date;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -66,7 +66,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/CatalogSearch/Model/Resource/Fulltext.php b/app/code/Magento/CatalogSearch/Model/Resource/Fulltext.php
index 715a44feda9dbf4b07d95caf1bea31f2ba581f01..04a525732934f4856f53a866e57db0f96baa2084 100644
--- a/app/code/Magento/CatalogSearch/Model/Resource/Fulltext.php
+++ b/app/code/Magento/CatalogSearch/Model/Resource/Fulltext.php
@@ -114,7 +114,7 @@ class Fulltext extends \Magento\Core\Model\Resource\Db\AbstractDb
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -153,7 +153,7 @@ class Fulltext extends \Magento\Core\Model\Resource\Db\AbstractDb
      * @param \Magento\Catalog\Model\Product\Status $catalogProductStatus
      * @param \Magento\Catalog\Model\Resource\Product\Attribute\CollectionFactory $productAttributeCollFactory
      * @param \Magento\CatalogSearch\Model\Resource\EngineProvider $engineProvider
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\String $coreString
      * @param \Magento\CatalogSearch\Helper\Data $catalogSearchData
      * @param \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig
@@ -167,7 +167,7 @@ class Fulltext extends \Magento\Core\Model\Resource\Db\AbstractDb
         \Magento\Catalog\Model\Product\Status $catalogProductStatus,
         \Magento\Catalog\Model\Resource\Product\Attribute\CollectionFactory $productAttributeCollFactory,
         \Magento\CatalogSearch\Model\Resource\EngineProvider $engineProvider,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\String $coreString,
         \Magento\CatalogSearch\Helper\Data $catalogSearchData,
         \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig,
diff --git a/app/code/Magento/CatalogSearch/Model/Resource/Fulltext/Collection.php b/app/code/Magento/CatalogSearch/Model/Resource/Fulltext/Collection.php
index cd8e028c22aaecf50880fa6fafd226ed16699ba6..5449cc3cc9f8c3d42039976278da515941470587 100644
--- a/app/code/Magento/CatalogSearch/Model/Resource/Fulltext/Collection.php
+++ b/app/code/Magento/CatalogSearch/Model/Resource/Fulltext/Collection.php
@@ -51,7 +51,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
     protected $_catalogSearchFulltext;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -74,7 +74,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/CatalogSearch/Model/Resource/Query/Collection.php b/app/code/Magento/CatalogSearch/Model/Resource/Query/Collection.php
index 3d8141a4ac75e0acde7429e37c4869d337727e94..487230cd6028ecd6acc47d54965c1de7f8a27167 100644
--- a/app/code/Magento/CatalogSearch/Model/Resource/Query/Collection.php
+++ b/app/code/Magento/CatalogSearch/Model/Resource/Query/Collection.php
@@ -60,7 +60,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -69,7 +69,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/CatalogSearch/Model/Resource/Search/Collection.php b/app/code/Magento/CatalogSearch/Model/Resource/Search/Collection.php
index 227b3b25a78a46a0aefcd70c360350a32ca900b2..316c6498933156d677b6179a7819bb3cbe8fce06 100644
--- a/app/code/Magento/CatalogSearch/Model/Resource/Search/Collection.php
+++ b/app/code/Magento/CatalogSearch/Model/Resource/Search/Collection.php
@@ -63,7 +63,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
     protected $_attributeCollectionFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -84,7 +84,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
      * @param \Magento\Core\Model\Resource $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/CatalogSearch/etc/di.xml b/app/code/Magento/CatalogSearch/etc/di.xml
index d945eff955d4f94bc8566db9d43d247e20921759..cad205dce5f672f3eaad988542c686c5c451a8f6 100644
--- a/app/code/Magento/CatalogSearch/etc/di.xml
+++ b/app/code/Magento/CatalogSearch/etc/di.xml
@@ -24,21 +24,6 @@
  */
 -->
 <config>
-    <type name="Magento\CatalogSearch\Model\Fulltext">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\CatalogSearch\Model\Resource\Advanced">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\CatalogSearch\Model\Resource\Fulltext">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
     <type name="Magento\CatalogSearch\Block\Layer">
         <param name="layer">
             <instance type="Magento\CatalogSearch\Model\Layer\Proxy" />
diff --git a/app/code/Magento/Centinel/Helper/Data.php b/app/code/Magento/Centinel/Helper/Data.php
index 189c68ed3aa0f4e6afd56d58ff65fd02280347b3..146401eadf074a684c74c6dbe16af5880d27b4db 100644
--- a/app/code/Magento/Centinel/Helper/Data.php
+++ b/app/code/Magento/Centinel/Helper/Data.php
@@ -36,16 +36,18 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     /**
      * Layout factory
      *
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      */
-    public function __construct(\Magento\Core\Helper\Context $context, \Magento\Core\Model\Layout $layout)
-    {
+    public function __construct(
+        \Magento\Core\Helper\Context $context,
+        \Magento\View\LayoutInterface $layout
+    ) {
         $this->_layout = $layout;
         parent::__construct($context);
     }
diff --git a/app/code/Magento/Centinel/Model/Service.php b/app/code/Magento/Centinel/Model/Service.php
index 509360417d930a64f1d75b4820ac9833084b6081..8f9721f4ed1ae70761fe2ce8babd9340d88b3c38 100644
--- a/app/code/Magento/Centinel/Model/Service.php
+++ b/app/code/Magento/Centinel/Model/Service.php
@@ -78,14 +78,14 @@ class Service extends \Magento\Object
     /**
      * Backend url
      *
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_backendUrl;
 
     /**
      * Frontend url
      *
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_frontendUrl;
 
@@ -127,8 +127,8 @@ class Service extends \Magento\Object
     /**
      * @param \Magento\Centinel\Model\Config $config
      * @param \Magento\Centinel\Model\Api $api
-     * @param \Magento\Core\Model\UrlInterface $backendUrl
-     * @param \Magento\Core\Model\UrlInterface $frontendUrl
+     * @param \Magento\UrlInterface $backendUrl
+     * @param \Magento\UrlInterface $frontendUrl
      * @param \Magento\Core\Model\Session\AbstractSession $centinelSession
      * @param \Magento\Core\Model\Session $session
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
@@ -138,8 +138,8 @@ class Service extends \Magento\Object
     public function __construct(
         \Magento\Centinel\Model\Config $config,
         \Magento\Centinel\Model\Api $api,
-        \Magento\Core\Model\UrlInterface $backendUrl,
-        \Magento\Core\Model\UrlInterface $frontendUrl,
+        \Magento\UrlInterface $backendUrl,
+        \Magento\UrlInterface $frontendUrl,
         \Magento\Core\Model\Session\AbstractSession $centinelSession,
         \Magento\Core\Model\Session $session,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
diff --git a/app/code/Magento/Centinel/etc/adminhtml/di.xml b/app/code/Magento/Centinel/etc/adminhtml/di.xml
index 767d9b1c11b884e4afc13041ed71765f2f46b42d..a48080f8cdd46a65ce725af56b2c5096a74fdb7f 100644
--- a/app/code/Magento/Centinel/etc/adminhtml/di.xml
+++ b/app/code/Magento/Centinel/etc/adminhtml/di.xml
@@ -32,15 +32,7 @@
             <value>adminhtml</value>
         </param>
     </virtualType>
-    <type name="Magento\Centinel\Controller\Adminhtml\Centinel\Index">
-        <param name="checkoutCart">
-            <instance type="Magento\Adminhtml\Model\Sales\Order\Create" />
-        </param>
-    </type>
     <type name="Magento\Centinel\Model\Service">
-        <param name="checkoutCart">
-            <instance type="Magento\Adminhtml\Model\Sales\Order\Create" />
-        </param>
         <param name="backendUrl">
             <instance type="Magento\Backend\Model\Url" />
         </param>
diff --git a/app/code/Magento/Checkout/Block/Cart.php b/app/code/Magento/Checkout/Block/Cart.php
index 777b88b208900b2017dc60f443130f7ad0f14cba..f7db27f48211787e52f33c8ab05fb5308a9883cf 100644
--- a/app/code/Magento/Checkout/Block/Cart.php
+++ b/app/code/Magento/Checkout/Block/Cart.php
@@ -46,7 +46,7 @@ class Cart extends \Magento\Checkout\Block\Cart\AbstractCart
     protected $_catalogUrlBuilder;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
@@ -56,7 +56,7 @@ class Cart extends \Magento\Checkout\Block\Cart\AbstractCart
      * @param \Magento\Core\Block\Template\Context $context
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Catalog\Model\Resource\Url $catalogUrlBuilder
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param array $data
@@ -69,7 +69,7 @@ class Cart extends \Magento\Checkout\Block\Cart\AbstractCart
         \Magento\Checkout\Model\Session $checkoutSession,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Catalog\Model\Resource\Url $catalogUrlBuilder,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         array $data = array()
     ) {
         $this->_storeManager = $storeManager;
diff --git a/app/code/Magento/Checkout/Block/Cart/AbstractCart.php b/app/code/Magento/Checkout/Block/Cart/AbstractCart.php
index a3723987d0a6db151bf43033aab727eb433c590d..19183c6d6ba13a40d096f6d563ec965db24e1f2b 100644
--- a/app/code/Magento/Checkout/Block/Cart/AbstractCart.php
+++ b/app/code/Magento/Checkout/Block/Cart/AbstractCart.php
@@ -109,7 +109,7 @@ class AbstractCart extends \Magento\Core\Block\Template
     public function getItemRenderer($type)
     {
         $renderer = $this->getChildBlock($type) ?: $this->getChildBlock(self::DEFAULT_TYPE);
-        if (!$renderer instanceof \Magento\Core\Block) {
+        if (!$renderer instanceof \Magento\View\Element\BlockInterface) {
             throw new \RuntimeException('Renderer for type "' . $type . '" does not exist.');
         }
         $renderer->setRenderedBlock($this);
diff --git a/app/code/Magento/Checkout/Block/Multishipping/Overview.php b/app/code/Magento/Checkout/Block/Multishipping/Overview.php
index 8cdda3870d5a29f9bcf84bda89badc0541a2817e..e9219bdbae1a7515839169b9c735c731f872cc70 100644
--- a/app/code/Magento/Checkout/Block/Multishipping/Overview.php
+++ b/app/code/Magento/Checkout/Block/Multishipping/Overview.php
@@ -367,7 +367,7 @@ class Overview extends \Magento\Sales\Block\Items\AbstractItems
     protected function _getRowItemRenderer($type)
     {
         $renderer = $this->getChildBlock($this->_getRowItemType($type));
-        if ($renderer instanceof \Magento\Core\Block) {
+        if ($renderer instanceof \Magento\View\Element\BlockInterface) {
             $renderer->setRenderedBlock($this);
             return $renderer;
         }
diff --git a/app/code/Magento/Checkout/Controller/Cart.php b/app/code/Magento/Checkout/Controller/Cart.php
index bb3af4f700d1a6bcc04c60225e88d1d1ad71ec9c..ebe8bfcb12c32fcccbfdc21b5de9d5998ba5a0d6 100644
--- a/app/code/Magento/Checkout/Controller/Cart.php
+++ b/app/code/Magento/Checkout/Controller/Cart.php
@@ -482,7 +482,7 @@ class Cart
                 $this->_objectManager->get('Magento\Core\Model\Logger')->logException($e);
             }
         }
-        $this->_redirectReferer($this->_objectManager->create('Magento\Core\Model\UrlInterface')->getUrl('*/*'));
+        $this->_redirectReferer($this->_objectManager->create('Magento\UrlInterface')->getUrl('*/*'));
     }
 
     /**
diff --git a/app/code/Magento/Checkout/Controller/Multishipping.php b/app/code/Magento/Checkout/Controller/Multishipping.php
index 0507562f7e8c931282bf2c029c04a919c850380d..7ac37e99e253d772841d2633ab68d428752ba97a 100644
--- a/app/code/Magento/Checkout/Controller/Multishipping.php
+++ b/app/code/Magento/Checkout/Controller/Multishipping.php
@@ -550,7 +550,7 @@ class Multishipping extends \Magento\Checkout\Controller\Action
     public function redirectLogin()
     {
         $this->setFlag('', 'no-dispatch', true);
-        $url = $this->_objectManager->create('Magento\Core\Model\UrlInterface')
+        $url = $this->_objectManager->create('Magento\UrlInterface')
             ->getUrl('*/*', array('_secure' => true));
         $this->_objectManager->get('Magento\Customer\Model\Session')->setBeforeAuthUrl($url);
 
diff --git a/app/code/Magento/Checkout/Controller/Multishipping/Address.php b/app/code/Magento/Checkout/Controller/Multishipping/Address.php
index 9885f2c99b07b2a90c06e696a507ae4df20bb0ff..cebec53488063838b38a3e0708820b6430574f46 100644
--- a/app/code/Magento/Checkout/Controller/Multishipping/Address.php
+++ b/app/code/Magento/Checkout/Controller/Multishipping/Address.php
@@ -36,17 +36,17 @@ namespace Magento\Checkout\Controller\Multishipping;
 class Address extends \Magento\Core\Controller\Front\Action
 {
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
     /**
      * @param \Magento\Core\Controller\Varien\Action\Context $context
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      */
     public function __construct(
         \Magento\Core\Controller\Varien\Action\Context $context,
-        \Magento\Core\Model\UrlInterface $urlBuilder
+        \Magento\UrlInterface $urlBuilder
     ) {
         $this->_urlBuilder = $urlBuilder;
         parent::__construct($context);
diff --git a/app/code/Magento/Checkout/Controller/Onepage.php b/app/code/Magento/Checkout/Controller/Onepage.php
index 6f89d5611f1d4c119797e20b9ec97dbed87d11c1..cc6869c7f66f463d7b254e07da020667f71661cc 100644
--- a/app/code/Magento/Checkout/Controller/Onepage.php
+++ b/app/code/Magento/Checkout/Controller/Onepage.php
@@ -214,7 +214,7 @@ class Onepage extends \Magento\Checkout\Controller\Action
             return;
         }
         $this->_objectManager->get('Magento\Checkout\Model\Session')->setCartWasUpdated(false);
-        $currentUrl = $this->_objectManager->create('Magento\Core\Model\UrlInterface')
+        $currentUrl = $this->_objectManager->create('Magento\UrlInterface')
             ->getUrl('*/*/*', array('_secure'=>true));
         $this->_objectManager->get('Magento\Customer\Model\Session')->setBeforeAuthUrl($currentUrl);
         $this->getOnepage()->initCheckout();
diff --git a/app/code/Magento/Checkout/Helper/Data.php b/app/code/Magento/Checkout/Helper/Data.php
index 25f70cec378f9facf08be96a53920a84b84b4ccb..ba27c5b1dc1e2d29a8764336eaec876a05f6465d 100644
--- a/app/code/Magento/Checkout/Helper/Data.php
+++ b/app/code/Magento/Checkout/Helper/Data.php
@@ -41,7 +41,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -78,7 +78,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_emailTemplFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
@@ -88,7 +88,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      * @param \Magento\Core\Model\Email\TemplateFactory $emailTemplFactory
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
diff --git a/app/code/Magento/Checkout/Model/Cart.php b/app/code/Magento/Checkout/Model/Cart.php
index 74fc00ab18d9bcf0546ca35c30d9c4924646966d..667ecd068aee07b1cf86fd56efe72ae99c658a84 100644
--- a/app/code/Magento/Checkout/Model/Cart.php
+++ b/app/code/Magento/Checkout/Model/Cart.php
@@ -52,7 +52,7 @@ class Cart extends \Magento\Object implements \Magento\Checkout\Model\Cart\CartI
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -94,7 +94,7 @@ class Cart extends \Magento\Object implements \Magento\Checkout\Model\Cart\CartI
     protected $_message;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Catalog\Model\ProductFactory $productFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
@@ -105,7 +105,7 @@ class Cart extends \Magento\Object implements \Magento\Checkout\Model\Cart\CartI
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Catalog\Model\ProductFactory $productFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
diff --git a/app/code/Magento/Checkout/Model/Session.php b/app/code/Magento/Checkout/Model/Session.php
index 37e56e7ac27f10fbcc3beffd5cb39f0f2fab0a15..4aa73f1edd77697dea58d74654b9c7c13289fd74 100644
--- a/app/code/Magento/Checkout/Model/Session.php
+++ b/app/code/Magento/Checkout/Model/Session.php
@@ -85,7 +85,7 @@ class Session extends \Magento\Core\Model\Session\AbstractSession
     protected $_quoteFactory;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
diff --git a/app/code/Magento/Checkout/Model/Type/Multishipping.php b/app/code/Magento/Checkout/Model/Type/Multishipping.php
index 9cd7b37e1b9cb0d01b979f5bae5fec61a314a7cb..c7b60d8f68a41c5909e9bbbcdd1a44c2d53d920c 100644
--- a/app/code/Magento/Checkout/Model/Type/Multishipping.php
+++ b/app/code/Magento/Checkout/Model/Type/Multishipping.php
@@ -45,7 +45,7 @@ class Multishipping extends \Magento\Checkout\Model\Type\AbstractType
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -80,7 +80,7 @@ class Multishipping extends \Magento\Checkout\Model\Type\AbstractType
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\Session $session
      * @param \Magento\Sales\Model\Quote\AddressFactory $addressFactory
@@ -92,7 +92,7 @@ class Multishipping extends \Magento\Checkout\Model\Type\AbstractType
         \Magento\Checkout\Model\Session $checkoutSession,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Sales\Model\OrderFactory $orderFactory,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\Session $session,
         \Magento\Sales\Model\Quote\AddressFactory $addressFactory,
diff --git a/app/code/Magento/Checkout/Model/Type/Onepage.php b/app/code/Magento/Checkout/Model/Type/Onepage.php
index 04b23320894ec568e96ee661f336e10e45987ba0..4258599363db9221d22bef55aef4cf763ca596bd 100644
--- a/app/code/Magento/Checkout/Model/Type/Onepage.php
+++ b/app/code/Magento/Checkout/Model/Type/Onepage.php
@@ -87,7 +87,7 @@ class Onepage
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -97,7 +97,7 @@ class Onepage
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
@@ -127,7 +127,7 @@ class Onepage
     protected $_orderFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Checkout\Helper\Data $helper
      * @param \Magento\Customer\Helper\Data $customerData
      * @param \Magento\Core\Helper\Data $coreData
@@ -135,7 +135,7 @@ class Onepage
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param \Magento\Customer\Model\AddressFactory $customrAddrFactory
      * @param \Magento\Customer\Model\FormFactory $customerFormFactory
      * @param \Magento\Customer\Model\CustomerFactory $customerFactory
@@ -143,7 +143,7 @@ class Onepage
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Checkout\Helper\Data $helper,
         \Magento\Customer\Helper\Data $customerData,
         \Magento\Core\Helper\Data $coreData,
@@ -151,7 +151,7 @@ class Onepage
         \Magento\Checkout\Model\Session $checkoutSession,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Controller\Request\Http $request,
+        \Magento\App\RequestInterface $request,
         \Magento\Customer\Model\AddressFactory $customrAddrFactory,
         \Magento\Customer\Model\FormFactory $customerFormFactory,
         \Magento\Customer\Model\CustomerFactory $customerFactory,
diff --git a/app/code/Magento/Checkout/etc/di.xml b/app/code/Magento/Checkout/etc/di.xml
index d190f74355ece05a98ca8b6e174dbe43d63a8dbe..cd103944fe67b270b56ca2e273e1458570e36794 100644
--- a/app/code/Magento/Checkout/etc/di.xml
+++ b/app/code/Magento/Checkout/etc/di.xml
@@ -24,33 +24,8 @@
  */
 -->
 <config>
-    <type name="Magento\Checkout\Helper\Data">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Checkout\Model\Cart\Api">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Checkout\Model\Cart">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Checkout\Model\Type\Multishipping">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Checkout\Model\Type\Onepage">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <checkout_setup>Magento\Checkout\Model\Resource\Setup</checkout_setup>
             </value>
diff --git a/app/code/Magento/Cms/Controller/Router.php b/app/code/Magento/Cms/Controller/Router.php
index d41cf1c4c16eabbf47948e91e3f8d86d062eb774..4dae02e646c556c893d919694d0f33b95b9cada9 100644
--- a/app/code/Magento/Cms/Controller/Router.php
+++ b/app/code/Magento/Cms/Controller/Router.php
@@ -34,12 +34,12 @@
  */
 namespace Magento\Cms\Controller;
 
-class Router extends \Magento\Core\Controller\Varien\Router\AbstractRouter
+class Router extends \Magento\App\Router\AbstractRouter
 {
     /**
      * Event manager
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -60,43 +60,43 @@ class Router extends \Magento\Core\Controller\Varien\Router\AbstractRouter
     /**
      * Config primary
      *
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
     /**
      * Url
      *
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_url;
 
     /**
      * Response
      *
-     * @var \Magento\Core\Controller\Response\Http
+     * @var \Magento\App\ResponseInterface
      */
     protected $_response;
 
     /**
      * Construct
      *
-     * @param \Magento\Core\Controller\Varien\Action\Factory $controllerFactory
-     * @param \Magento\Core\Model\Event\Manager $eventManager
-     * @param \Magento\Core\Model\UrlInterface $url
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\ActionFactory $controllerFactory
+     * @param \Magento\Event\ManagerInterface $eventManager
+     * @param \Magento\UrlInterface $url
+     * @param \Magento\App\State $appState
      * @param \Magento\Cms\Model\PageFactory $pageFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Controller\Response\Http $response
+     * @param \Magento\App\ResponseInterface $response
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Factory $controllerFactory,
-        \Magento\Core\Model\Event\Manager $eventManager,
-        \Magento\Core\Model\UrlInterface $url,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\ActionFactory $controllerFactory,
+        \Magento\Event\ManagerInterface $eventManager,
+        \Magento\UrlInterface $url,
+        \Magento\App\State $appState,
         \Magento\Cms\Model\PageFactory $pageFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Controller\Response\Http $response
+        \Magento\App\ResponseInterface $response
     ) {
         parent::__construct($controllerFactory);
         $this->_eventManager = $eventManager;
@@ -110,12 +110,12 @@ class Router extends \Magento\Core\Controller\Varien\Router\AbstractRouter
     /**
      * Validate and Match Cms Page and modify request
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return bool
      *
      * @SuppressWarnings(PHPMD.ExitExpression)
      */
-    public function match(\Magento\Core\Controller\Request\Http $request)
+    public function match(\Magento\App\RequestInterface $request)
     {
         if (!$this->_appState->isInstalled()) {
             $this->_response->setRedirect($this->_url->getUrl('install'))
@@ -139,7 +139,7 @@ class Router extends \Magento\Core\Controller\Varien\Router\AbstractRouter
             $this->_response->setRedirect($condition->getRedirectUrl())
                 ->sendResponse();
             $request->setDispatched(true);
-            return $this->_controllerFactory->createController('Magento\Core\Controller\Varien\Action\Redirect',
+            return $this->_controllerFactory->createController('Magento\App\Action\Redirect',
                 array('request' => $request)
             );
         }
@@ -164,7 +164,7 @@ class Router extends \Magento\Core\Controller\Varien\Router\AbstractRouter
             $identifier
         );
 
-        return $this->_controllerFactory->createController('Magento\Core\Controller\Varien\Action\Forward',
+        return $this->_controllerFactory->createController('Magento\App\Action\Forward',
             array('request' => $request)
         );
     }
diff --git a/app/code/Magento/Cms/Helper/Page.php b/app/code/Magento/Cms/Helper/Page.php
index 894aca46a11b6b407429d6a3356cd007849442ed..54ea4f7f1a9b127777b2f22c70260523de49040d 100644
--- a/app/code/Magento/Cms/Helper/Page.php
+++ b/app/code/Magento/Cms/Helper/Page.php
@@ -50,14 +50,14 @@ class Page extends \Magento\Core\Helper\AbstractHelper
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
     /**
      * Design package instance
      *
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_design;
 
@@ -95,20 +95,18 @@ class Page extends \Magento\Core\Helper\AbstractHelper
     /**
      * Url
      *
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_url;
 
     /**
-     * Construct
-     *
      * @param \Magento\Core\Helper\Context $context
      * @param \Magento\Core\Model\Session\Pool $sessionFactory
      * @param \Magento\Cms\Model\Page $page
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Page\Helper\Layout $pageLayout
-     * @param \Magento\Core\Model\View\DesignInterface $design
-     * @param \Magento\Core\Model\UrlInterface $url
+     * @param \Magento\View\DesignInterface $design
+     * @param \Magento\UrlInterface $url
      * @param \Magento\Cms\Model\PageFactory $pageFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\LocaleInterface $locale
@@ -117,10 +115,10 @@ class Page extends \Magento\Core\Helper\AbstractHelper
         \Magento\Core\Helper\Context $context,
         \Magento\Core\Model\Session\Pool $sessionFactory,
         \Magento\Cms\Model\Page $page,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Page\Helper\Layout $pageLayout,
-        \Magento\Core\Model\View\DesignInterface $design,
-        \Magento\Core\Model\UrlInterface $url,
+        \Magento\View\DesignInterface $design,
+        \Magento\UrlInterface $url,
         \Magento\Cms\Model\PageFactory $pageFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\LocaleInterface $locale
diff --git a/app/code/Magento/Cms/Helper/Wysiwyg/Images.php b/app/code/Magento/Cms/Helper/Wysiwyg/Images.php
index 6cb0ac885077c292d9c56c68d5ed530827a5246c..65f82ba9f5c80056a92766a6bce10e79a4a9e00d 100644
--- a/app/code/Magento/Cms/Helper/Wysiwyg/Images.php
+++ b/app/code/Magento/Cms/Helper/Wysiwyg/Images.php
@@ -73,7 +73,7 @@ class Images extends \Magento\Core\Helper\AbstractHelper
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -87,7 +87,7 @@ class Images extends \Magento\Core\Helper\AbstractHelper
     /**
      * Dir
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -95,21 +95,21 @@ class Images extends \Magento\Core\Helper\AbstractHelper
      * Construct
      *
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Backend\Helper\Data $backendData
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Backend\Helper\Data $backendData,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Filesystem $filesystem,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Dir $dir
+        \Magento\App\Dir $dir
     ) {
         parent::__construct($context);
         $this->_eventManager = $eventManager;
@@ -143,7 +143,7 @@ class Images extends \Magento\Core\Helper\AbstractHelper
      */
     public function getStorageRoot()
     {
-        return $this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA) . DS
+        return $this->_dir->getDir(\Magento\App\Dir::MEDIA) . DS
             . \Magento\Cms\Model\Wysiwyg\Config::IMAGE_DIRECTORY . DS;
     }
 
@@ -305,7 +305,7 @@ class Images extends \Magento\Core\Helper\AbstractHelper
     public function getCurrentUrl()
     {
         if (!$this->_currentUrl) {
-            $path = str_replace($this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA), '', $this->getCurrentPath());
+            $path = str_replace($this->_dir->getDir(\Magento\App\Dir::MEDIA), '', $this->getCurrentPath());
             $path = trim($path, DS);
             $mediaUrl = $this->_storeManager->getStore($this->_storeId)
                 ->getBaseUrl(\Magento\Core\Model\Store::URL_TYPE_MEDIA);
diff --git a/app/code/Magento/Cms/Model/Page.php b/app/code/Magento/Cms/Model/Page.php
index 1c2f7b1ce609b28855a0f00672eaae93bdba492f..50de0f72df01c9121c7cdac2d421c9b8192748d2 100644
--- a/app/code/Magento/Cms/Model/Page.php
+++ b/app/code/Magento/Cms/Model/Page.php
@@ -94,12 +94,12 @@ class Page extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
@@ -107,7 +107,7 @@ class Page extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
diff --git a/app/code/Magento/Cms/Model/Resource/Page/Collection.php b/app/code/Magento/Cms/Model/Resource/Page/Collection.php
index 8bbbcd474d67b94f5fcb82f41f2a59e6e4bb0813..a07fef4f2adb4d7583ae2535687c6b9d3aaf4ea7 100644
--- a/app/code/Magento/Cms/Model/Resource/Page/Collection.php
+++ b/app/code/Magento/Cms/Model/Resource/Page/Collection.php
@@ -54,7 +54,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -62,7 +62,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Cms/Model/Wysiwyg/Config.php b/app/code/Magento/Cms/Model/Wysiwyg/Config.php
index 587fb8483b37b4330beada016b59c5fc074ffd61..986d88a6707ab116597cc161a5d9464f24577cfd 100644
--- a/app/code/Magento/Cms/Model/Wysiwyg/Config.php
+++ b/app/code/Magento/Cms/Model/Wysiwyg/Config.php
@@ -73,7 +73,7 @@ class Config extends \Magento\Object
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -96,7 +96,7 @@ class Config extends \Magento\Object
 
     /**
      * @param \Magento\Backend\Model\Url $backendUrl
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Cms\Helper\Data $cmsData
      * @param \Magento\AuthorizationInterface $authorization
      * @param \Magento\Core\Model\View\Url $viewUrl
@@ -108,7 +108,7 @@ class Config extends \Magento\Object
      */
     public function __construct(
         \Magento\Backend\Model\Url $backendUrl,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Cms\Helper\Data $cmsData,
         \Magento\AuthorizationInterface $authorization,
         \Magento\Core\Model\View\Url $viewUrl,
diff --git a/app/code/Magento/Cms/Model/Wysiwyg/Images/Storage.php b/app/code/Magento/Cms/Model/Wysiwyg/Images/Storage.php
index 6d5cb9ae1271e4aa4f8149f0f064b186643b9191..a4b3a4cd28ccd6d8c59b55c627dfbceafdf84217 100644
--- a/app/code/Magento/Cms/Model/Wysiwyg/Images/Storage.php
+++ b/app/code/Magento/Cms/Model/Wysiwyg/Images/Storage.php
@@ -136,7 +136,7 @@ class Storage extends \Magento\Object
     /**
      * Dir
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -157,7 +157,7 @@ class Storage extends \Magento\Object
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Core\Model\Image\AdapterFactory $imageFactory
      * @param \Magento\Core\Model\View\Url $viewUrl
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Cms\Model\Wysiwyg\Images\Storage\CollectionFactory $storageCollectionFactory
      * @param \Magento\Core\Model\File\Storage\FileFactory $storageFileFactory
      * @param \Magento\Core\Model\File\Storage\DatabaseFactory $storageDatabaseFactory
@@ -178,7 +178,7 @@ class Storage extends \Magento\Object
         \Magento\Filesystem $filesystem,
         \Magento\Core\Model\Image\AdapterFactory $imageFactory,
         \Magento\Core\Model\View\Url $viewUrl,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Cms\Model\Wysiwyg\Images\Storage\CollectionFactory $storageCollectionFactory,
         \Magento\Core\Model\File\Storage\FileFactory $storageFileFactory,
         \Magento\Core\Model\File\Storage\DatabaseFactory $storageDatabaseFactory,
@@ -582,7 +582,7 @@ class Storage extends \Magento\Object
      */
     public function getThumbsPath($filePath = false)
     {
-        $mediaRootDir = $this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA);
+        $mediaRootDir = $this->_dir->getDir(\Magento\App\Dir::MEDIA);
         $thumbnailDir = $this->getThumbnailRoot();
 
         if ($filePath && strpos($filePath, $mediaRootDir) === 0) {
diff --git a/app/code/Magento/Cms/etc/di.xml b/app/code/Magento/Cms/etc/di.xml
index d04a15269e7f121f49e97d2a73719d94d11ddf4c..f764b802e9ef0ee79adac13fd0c56356d5226a09 100644
--- a/app/code/Magento/Cms/etc/di.xml
+++ b/app/code/Magento/Cms/etc/di.xml
@@ -24,7 +24,7 @@
  */
 -->
 <config>
-    <type name="Magento\Core\Model\RouterList">
+    <type name="Magento\App\RouterList">
         <param name="routerList">
             <value>
                 <cms>
@@ -36,9 +36,6 @@
         </param>
     </type>
     <type name="Magento\Cms\Model\Wysiwyg\Config">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
         <param name="windowSize">
             <value>
                 <height type="int">600</height>
@@ -84,56 +81,13 @@
             </value>
         </param>
     </type>
-    <type name="Magento\Cms\Helper\Page">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Cms\Helper\Wysiwyg\Images">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Cms\Model\Page">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>       
-    </type>
     <type name="Magento\Core\Helper\Data">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
         <param name="config">
             <instance type="Magento\Core\Model\ConfigProxy" />
         </param>
     </type>
-    <type name="Magento\Core\Model\Layout">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Core\Model\Locale">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Core\Model\Resource\Db\Collection\AbstractCollection">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Core\Model\Resource\Setup">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Core\Model\Session\AbstractSession">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <cms_setup>Magento\Cms\Model\Resource\Setup</cms_setup>
             </value>
diff --git a/app/code/Magento/Connect/Helper/Data.php b/app/code/Magento/Connect/Helper/Data.php
index c7e9e2909c8b30282601412ed996a404a93ab63d..5d323abaa7fb0ffd990c1e01c0f72a0233c5f06c 100644
--- a/app/code/Magento/Connect/Helper/Data.php
+++ b/app/code/Magento/Connect/Helper/Data.php
@@ -43,38 +43,38 @@ class Data extends \Magento\Core\Helper\Data
     /**
      * Application dirs
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
     /**
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Http $coreHttp
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\Core\Model\Date $dateModel
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\Encryption $encryptor
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param bool $dbCompatibleMode
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Http $coreHttp,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\Core\Model\Date $dateModel,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\Encryption $encryptor,
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         $dbCompatibleMode = true
     )
     {
diff --git a/app/code/Magento/Connect/Model/Extension/Collection.php b/app/code/Magento/Connect/Model/Extension/Collection.php
index e086de340f8331ae0a4e938bb93ded73ffcf711d..86486fe09ac03d44ca2538ee13b9f9b520ea4841 100644
--- a/app/code/Magento/Connect/Model/Extension/Collection.php
+++ b/app/code/Magento/Connect/Model/Extension/Collection.php
@@ -54,10 +54,10 @@ class Collection extends \Magento\Data\Collection\Filesystem
     /**
      * Set base dir
      *
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      */
-    public function __construct(\Magento\Core\Model\Dir $dirs, \Magento\Core\Model\EntityFactory $entityFactory)
+    public function __construct(\Magento\App\Dir $dirs, \Magento\Core\Model\EntityFactory $entityFactory)
     {
         parent::__construct($entityFactory);
         $this->_baseDir = $dirs->getDir('var') . DS . 'connect';
diff --git a/app/code/Magento/Core/App/FrontController/Plugin/Install.php b/app/code/Magento/Core/App/FrontController/Plugin/Install.php
new file mode 100644
index 0000000000000000000000000000000000000000..37012d76f08c51cfdb9f6e972e641df80389572b
--- /dev/null
+++ b/app/code/Magento/Core/App/FrontController/Plugin/Install.php
@@ -0,0 +1,72 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Core\App\FrontController\Plugin;
+
+class Install
+{
+    /**
+     * @var \Magento\App\State
+     */
+    protected $_appState;
+
+    /**
+     * @var \Magento\Cache\FrontendInterface
+     */
+    protected $_cache;
+
+    /**
+     * @var \Magento\App\UpdaterInterface
+     */
+    protected $_updater;
+
+    /**
+     * @param \Magento\App\State $appState
+     * @param \Magento\Cache\FrontendInterface $cache
+     * @param \Magento\App\UpdaterInterface $dbUpdater
+     */
+    public function __construct(
+        \Magento\App\State $appState,
+        \Magento\Cache\FrontendInterface $cache,
+        \Magento\App\UpdaterInterface $dbUpdater
+    ) {
+        $this->_appState = $appState;
+        $this->_cache = $cache;
+        $this->_dbUpdater = $dbUpdater;
+    }
+
+    /**
+     * @param array $arguments
+     * @param \Magento\Code\Plugin\InvocationChain $invocationChain
+     * @return mixed
+     */
+    public function aroundDispatch($arguments, \Magento\Code\Plugin\InvocationChain $invocationChain)
+    {
+        if ($this->_appState->isInstalled() && !$this->_cache->load('data_upgrade')) {
+            $this->_dbUpdater->updateScheme();
+            $this->_dbUpdater->updateData();
+            $this->_cache->save('true', 'data_upgrade');
+        }
+        return $invocationChain->proceed($arguments);
+    }
+}
\ No newline at end of file
diff --git a/app/code/Magento/Core/App/FrontController/Plugin/RequestPreprocessor.php b/app/code/Magento/Core/App/FrontController/Plugin/RequestPreprocessor.php
new file mode 100644
index 0000000000000000000000000000000000000000..358c748aece6965cfc543b09a45451b4fa60b7a0
--- /dev/null
+++ b/app/code/Magento/Core/App/FrontController/Plugin/RequestPreprocessor.php
@@ -0,0 +1,184 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Core\App\FrontController\Plugin;
+
+class RequestPreprocessor
+{
+    /**
+     * @var \Magento\Core\App\Request\RewriteService RewriteService
+     */
+    protected $_rewriteService;
+
+    /**
+     * @var \Magento\Core\Model\Store\Config
+     */
+    protected $_storeConfig;
+
+    /**
+     * @var \Magento\App\ResponseFactory
+     */
+    protected $_responseFactory;
+
+    /**
+     * @var \Magento\Core\Model\Url
+     */
+    protected $_url;
+
+    /**
+     * @var \Magento\App\State
+     */
+    protected $_appState;
+
+    /**
+     * @var \Magento\Core\Model\StoreManager
+     */
+    protected $_storeManager;
+
+    /**
+     * @var \Magento\Backend\Helper\Data
+     */
+    protected $_backendData;
+
+    /**
+     * @param \Magento\Core\App\Request\RewriteService $rewriteService
+     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\App\State $appState
+     * @param \Magento\Core\Model\Url $url
+     * @param \Magento\Backend\Helper\Data $backendData
+     * @param \Magento\Core\Model\Store\Config $storeConfig
+     * @param \Magento\App\ResponseFactory $responseFactory
+     */
+    public function __construct(
+        \Magento\Core\App\Request\RewriteService $rewriteService,
+        \Magento\Core\Model\StoreManager $storeManager,
+        \Magento\App\State $appState,
+        \Magento\Core\Model\Url $url,
+        \Magento\Backend\Helper\Data $backendData,
+        \Magento\Core\Model\Store\Config $storeConfig,
+        \Magento\App\ResponseFactory $responseFactory
+    ) {
+        $this->_backendData = $backendData;
+        $this->_rewriteService = $rewriteService;
+        $this->_storeManager = $storeManager;
+        $this->_appState = $appState;
+        $this->_url = $url;
+        $this->_storeConfig = $storeConfig;
+        $this->_responseFactory = $responseFactory;
+    }
+
+    /**
+     * Preprocess request
+     *
+     * @param array $arguments
+     * @param \Magento\Code\Plugin\InvocationChain $invocationChain
+     * @return mixed
+     */
+    public function aroundDispatch(array $arguments, \Magento\Code\Plugin\InvocationChain $invocationChain)
+    {
+        $request = $arguments[0];
+        // If pre-configured, check equality of base URL and requested URL
+        $this->_checkBaseUrl($request);
+        $request->setDispatched(false);
+        $this->_rewriteService->applyRewrites($request);
+
+        return $invocationChain->proceed($arguments);
+    }
+
+    /**
+     * Check if requested path starts with one of the admin front names
+     *
+     * @param \Magento\App\RequestInterface $request
+     * @return boolean
+     */
+    protected function _isAdminFrontNameMatched($request)
+    {
+        $pathPrefix = $this->_extractPathPrefixFromUrl($request);
+        return $pathPrefix == $this->_backendData->getAreaFrontName();
+    }
+
+    /**
+     * Extract first path part from url (in most cases this is area code)
+     *
+     * @param \Magento\App\RequestInterface $request
+     * @return string
+     */
+    protected function _extractPathPrefixFromUrl($request)
+    {
+        $pathPrefix = ltrim($request->getPathInfo(), '/');
+        $urlDelimiterPos = strpos($pathPrefix, '/');
+        if ($urlDelimiterPos) {
+            $pathPrefix = substr($pathPrefix, 0, $urlDelimiterPos);
+        }
+
+        return $pathPrefix;
+    }
+
+    /**
+     * Auto-redirect to base url (without SID) if the requested url doesn't match it.
+     * By default this feature is enabled in configuration.
+     *
+     * @param \Magento\App\RequestInterface $request
+     */
+    protected function _checkBaseUrl($request)
+    {
+        if (!$this->_appState->isInstalled() || $request->getPost() || strtolower($request->getMethod()) == 'post') {
+            return;
+        }
+
+        $redirectCode = (int)$this->_storeConfig->getConfig('web/url/redirect_to_base');
+        if (!$redirectCode) {
+            return;
+        } elseif ($redirectCode != 301) {
+            $redirectCode = 302;
+        }
+
+        if ($this->_isAdminFrontNameMatched($request)) {
+            return;
+        }
+
+        $baseUrl = $this->_storeManager->getStore()->getBaseUrl(
+            \Magento\Core\Model\Store::URL_TYPE_WEB,
+            $this->_storeManager->getStore()->isCurrentlySecure()
+        );
+        if (!$baseUrl) {
+            return;
+        }
+
+        $uri = parse_url($baseUrl);
+        $requestUri = $request->getRequestUri() ? $request->getRequestUri() : '/';
+        if (isset($uri['scheme']) && $uri['scheme'] != $request->getScheme()
+            || isset($uri['host']) && $uri['host'] != $request->getHttpHost()
+            || isset($uri['path']) && strpos($requestUri, $uri['path']) === false
+        ) {
+            $redirectUrl = $this->_url->getRedirectUrl(
+                $this->_url->getUrl(ltrim($request->getPathInfo(), '/'), array('_nosid' => true))
+            );
+
+            $response = $this->_responseFactory->create();
+            $response->setRedirect($redirectUrl, $redirectCode);
+            $response->sendResponse();
+            exit;
+        }
+    }
+}
\ No newline at end of file
diff --git a/app/code/Magento/Core/App/Request/PathInfoProcessor.php b/app/code/Magento/Core/App/Request/PathInfoProcessor.php
new file mode 100644
index 0000000000000000000000000000000000000000..60997635cde8b3ed579aef5419dea3ad31f0328a
--- /dev/null
+++ b/app/code/Magento/Core/App/Request/PathInfoProcessor.php
@@ -0,0 +1,67 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Core\App\Request;
+
+class PathInfoProcessor implements \Magento\App\Request\PathInfoProcessorInterface
+{
+    /**
+     * @var \Magento\Core\Model\StoreManager
+     */
+    private $_storeManager;
+
+    /**
+     * @param \Magento\Core\Model\StoreManager $storeManager
+     */
+    public function __construct(\Magento\Core\Model\StoreManager $storeManager)
+    {
+        $this->_storeManager = $storeManager;
+    }
+
+    /**
+     * Process path info
+     *
+     * @param \Magento\App\RequestInterface $request
+     * @param string $pathInfo
+     * @return string
+     */
+    public function process(\Magento\App\RequestInterface $request, $pathInfo)
+    {
+        $pathParts = explode('/', ltrim($pathInfo, '/'), 2);
+        $storeCode = $pathParts[0];
+
+        $stores = $this->_storeManager->getStores(true, true);
+        if (isset($stores[$storeCode]) && $stores[$storeCode]->isUseStoreInUrl()) {
+            if (!$request->isDirectAccessFrontendName($storeCode)) {
+                $this->_storeManager->setCurrentStore($storeCode);
+                $pathInfo = '/' . (isset($pathParts[1]) ? $pathParts[1] : '');
+                return $pathInfo;
+            } elseif (!empty($storeCode)) {
+                $request->setActionName('noRoute');
+                return $pathInfo;
+            }
+            return $pathInfo;
+        }
+        return $pathInfo;
+    }
+}
\ No newline at end of file
diff --git a/app/code/Magento/Core/App/Request/RewriteService.php b/app/code/Magento/Core/App/Request/RewriteService.php
new file mode 100644
index 0000000000000000000000000000000000000000..458abc448d08e727c2d7db5b881afea98c627a2b
--- /dev/null
+++ b/app/code/Magento/Core/App/Request/RewriteService.php
@@ -0,0 +1,69 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Core\App\Request;
+
+class RewriteService
+{
+    /**
+     * @var \Magento\Core\Model\Url\RewriteFactory
+     */
+    protected $_rewriteFactory;
+
+    /**
+     * @var \Magento\Core\Model\Config
+     */
+    protected $_config;
+
+    /**
+     * @var \Magento\App\RouterList
+     */
+    protected $_routerList;
+
+    public function __construct(
+        \Magento\App\RouterList $routerList,
+        \Magento\Core\Model\Url\RewriteFactory $rewriteFactory,
+        \Magento\Core\Model\Config $config
+    ) {
+        $this->_rewriteFactory = $rewriteFactory;
+        $this->_config = $config;
+        $this->_routerList = $routerList;
+    }
+
+    /**
+     * Apply rewrites to current request
+     *
+     * @param \Magento\App\RequestInterface $request
+     */
+    public function applyRewrites(\Magento\App\RequestInterface $request)
+    {
+        // URL rewrite
+        if (!$request->isStraight()) {
+            \Magento\Profiler::start('db_url_rewrite');
+            /** @var $urlRewrite \Magento\Core\Model\Url\Rewrite */
+            $urlRewrite = $this->_rewriteFactory->create();
+            $urlRewrite->rewrite($request);
+            \Magento\Profiler::stop('db_url_rewrite');
+        }
+    }
+}
\ No newline at end of file
diff --git a/app/code/Magento/Core/Model/Router/NoRouteHandler.php b/app/code/Magento/Core/App/Router/NoRouteHandler.php
similarity index 88%
rename from app/code/Magento/Core/Model/Router/NoRouteHandler.php
rename to app/code/Magento/Core/App/Router/NoRouteHandler.php
index 7eca0abdf2c02d76f96fc82d2bb0ebef9acc9e9c..f5dd26fdbd69e538458fcb5e51544431fed1b6b8 100644
--- a/app/code/Magento/Core/Model/Router/NoRouteHandler.php
+++ b/app/code/Magento/Core/App/Router/NoRouteHandler.php
@@ -24,9 +24,9 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-namespace Magento\Core\Model\Router;
+namespace Magento\Core\App\Router;
 
-class NoRouteHandler implements \Magento\Core\Model\Router\NoRouteHandlerInterface
+class NoRouteHandler implements \Magento\Appl\Router\NoRouteHandlerInterface
 {
     /**
      * @var \Magento\Core\Model\Config
@@ -44,11 +44,11 @@ class NoRouteHandler implements \Magento\Core\Model\Router\NoRouteHandlerInterfa
     /**
      * Check and process no route request
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return bool
      * @SuppressWarnings(PHPMD.NPathComplexity)
      */
-    public function process(\Magento\Core\Controller\Request\Http $request)
+    public function process(\Magento\App\RequestInterface $request)
     {
         $noRoutePath = $this->_config->getValue('web/default/no_route', 'default');
 
diff --git a/app/code/Magento/Core/Block/AbstractBlock.php b/app/code/Magento/Core/Block/AbstractBlock.php
index 64655f78f23ab72b90c454712db349e022ea58bc..452e3172fc82aea14f955d31cedd5173f927dd8b 100644
--- a/app/code/Magento/Core/Block/AbstractBlock.php
+++ b/app/code/Magento/Core/Block/AbstractBlock.php
@@ -37,17 +37,18 @@
  */
 namespace Magento\Core\Block;
 
+use Magento\View\Element\BlockInterface;
+
 /**
  * @SuppressWarnings(PHPMD.ExcessivePublicCount)
  * @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
  * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
  * @SuppressWarnings(PHPMD.TooManyFields)
  */
-abstract class AbstractBlock extends \Magento\Object
-    implements \Magento\Core\Block
+abstract class AbstractBlock extends \Magento\Object implements BlockInterface
 {
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_design;
 
@@ -75,12 +76,12 @@ abstract class AbstractBlock extends \Magento\Object
     /**
      * Parent layout of the block
      *
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
@@ -106,7 +107,7 @@ abstract class AbstractBlock extends \Magento\Object
     /**
      * Url Builder
      *
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
@@ -114,14 +115,14 @@ abstract class AbstractBlock extends \Magento\Object
      * System event manager
      *
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
     /**
      * Application front controller
      *
-     * @var \Magento\Core\Controller\Varien\Front
+     * @var \Magento\App\FrontController
      */
     protected $_frontController;
 
@@ -138,7 +139,7 @@ abstract class AbstractBlock extends \Magento\Object
     /**
      * View config model
      *
-     * @var \Magento\Core\Model\View\Config
+     * @var \Magento\View\ConfigInterface
      */
     protected $_viewConfig;
 
@@ -155,7 +156,7 @@ abstract class AbstractBlock extends \Magento\Object
     /**
      * @var \Magento\Core\Model\App
      */
-    protected $_app;
+    protected $_storeManager;
 
     /**
      * @param \Magento\Core\Block\Context $context
@@ -178,13 +179,13 @@ abstract class AbstractBlock extends \Magento\Object
         $this->_viewConfig      = $context->getViewConfig();
         $this->_cacheState      = $context->getCacheState();
         $this->_logger          = $context->getLogger();
-        $this->_app             = $context->getApp();
+        $this->_storeManager    = $context->getApp();
         parent::__construct($data);
         $this->_construct();
     }
 
     /**
-     * @return \Magento\Core\Controller\Request\Http
+     * @return \Magento\App\RequestInterface
      */
     public function getRequest()
     {
@@ -225,10 +226,10 @@ abstract class AbstractBlock extends \Magento\Object
     /**
      * Set layout object
      *
-     * @param   \Magento\Core\Model\Layout $layout
+     * @param   \Magento\View\LayoutInterface $layout
      * @return  \Magento\Core\Block\AbstractBlock
      */
-    public function setLayout(\Magento\Core\Model\Layout $layout)
+    public function setLayout(\Magento\View\LayoutInterface $layout)
     {
         $this->_layout = $layout;
         $this->_eventManager->dispatch('core_block_abstract_prepare_layout_before', array('block' => $this));
@@ -252,7 +253,7 @@ abstract class AbstractBlock extends \Magento\Object
     /**
      * Retrieve layout object
      *
-     * @return \Magento\Core\Model\Layout
+     * @return \Magento\View\LayoutInterface
      */
     public function getLayout()
     {
@@ -947,7 +948,7 @@ abstract class AbstractBlock extends \Magento\Object
     protected function _beforeCacheUrl()
     {
         if ($this->_cacheState->isEnabled(self::CACHE_GROUP)) {
-            $this->_app->setUseSessionVar(true);
+            $this->_storeManager->setUseSessionVar(true);
         }
         return $this;
     }
@@ -961,7 +962,7 @@ abstract class AbstractBlock extends \Magento\Object
     protected function _afterCacheUrl($html)
     {
         if ($this->_cacheState->isEnabled(self::CACHE_GROUP)) {
-            $this->_app->setUseSessionVar(false);
+            $this->_storeManager->setUseSessionVar(false);
             \Magento\Profiler::start('CACHE_URL');
             $html = $this->_urlBuilder->sessionUrlVar($html);
             \Magento\Profiler::stop('CACHE_URL');
diff --git a/app/code/Magento/Core/Block/Context.php b/app/code/Magento/Core/Block/Context.php
index c22d2655cb966bfde0d9528ea3a57801452c7c1c..693d2c7e56f53176fe70b42f445e924dfd7e6b45 100644
--- a/app/code/Magento/Core/Block/Context.php
+++ b/app/code/Magento/Core/Block/Context.php
@@ -29,22 +29,22 @@ namespace Magento\Core\Block;
 class Context implements \Magento\ObjectManager\ContextInterface
 {
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
@@ -59,7 +59,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_cache;
 
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_design;
 
@@ -74,7 +74,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_storeConfig;
 
     /**
-     * @var \Magento\Core\Controller\Varien\Front
+     * @var \Magento\App\FrontController
      */
     protected $_frontController;
 
@@ -91,7 +91,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     /**
      * View config model
      *
-     * @var \Magento\Core\Model\View\Config
+     * @var \Magento\View\ConfigInterface
      */
     protected $_viewConfig;
 
@@ -111,38 +111,38 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_app;
 
     /**
-     * @param \Magento\Core\Controller\Request\Http $request
-     * @param \Magento\Core\Model\Layout $layout
-     * @param \Magento\Core\Model\Event\Manager $eventManager
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\App\RequestInterface $request
+     * @param \Magento\View\LayoutInterface $layout
+     * @param \Magento\Event\ManagerInterface $eventManager
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Core\Model\Translate $translator
      * @param \Magento\Core\Model\CacheInterface $cache
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Session\AbstractSession $session
      * @param \Magento\Core\Model\Store\Config $storeConfig
-     * @param \Magento\Core\Controller\Varien\Front $frontController
+     * @param \Magento\App\FrontController $frontController
      * @param \Magento\Core\Model\Factory\Helper $helperFactory
      * @param \Magento\Core\Model\View\Url $viewUrl
-     * @param \Magento\Core\Model\View\Config $viewConfig
+     * @param \Magento\View\ConfigInterface $viewConfig
      * @param \Magento\Core\Model\Cache\StateInterface $cacheState
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Core\Model\App $app
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Controller\Request\Http $request,
-        \Magento\Core\Model\Layout $layout,
-        \Magento\Core\Model\Event\Manager $eventManager,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\App\RequestInterface $request,
+        \Magento\View\LayoutInterface $layout,
+        \Magento\Event\ManagerInterface $eventManager,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Core\Model\Translate $translator,
         \Magento\Core\Model\CacheInterface $cache,
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Session\AbstractSession $session,
         \Magento\Core\Model\Store\Config $storeConfig,
-        \Magento\Core\Controller\Varien\Front $frontController,
+        \Magento\App\FrontController $frontController,
         \Magento\Core\Model\Factory\Helper $helperFactory,
         \Magento\Core\Model\View\Url $viewUrl,
-        \Magento\Core\Model\View\Config $viewConfig,
+        \Magento\View\ConfigInterface $viewConfig,
         \Magento\Core\Model\Cache\StateInterface $cacheState,
         \Magento\Core\Model\Logger $logger,
         \Magento\Core\Model\App $app,
@@ -175,7 +175,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\View\DesignInterface
+     * @return \Magento\View\DesignInterface
      */
     public function getDesignPackage()
     {
@@ -183,7 +183,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\Event\Manager
+     * @return \Magento\Event\ManagerInterface
      */
     public function getEventManager()
     {
@@ -191,7 +191,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Controller\Varien\Front
+     * @return \Magento\App\FrontController
      */
     public function getFrontController()
     {
@@ -207,7 +207,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\Layout
+     * @return \Magento\View\LayoutInterface
      */
     public function getLayout()
     {
@@ -215,7 +215,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Controller\Request\Http
+     * @return \Magento\App\RequestInterface
      */
     public function getRequest()
     {
@@ -247,7 +247,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function getUrlBuilder()
     {
@@ -263,7 +263,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\View\Config
+     * @return \Magento\View\ConfigInterface
      */
     public function getViewConfig()
     {
diff --git a/app/code/Magento/Core/Block/Template.php b/app/code/Magento/Core/Block/Template.php
index e6083160a78f27db4f4d827d741ced8167de1a2d..0de003c13e964a096c027f76cf27c6d16b1b8da1 100644
--- a/app/code/Magento/Core/Block/Template.php
+++ b/app/code/Magento/Core/Block/Template.php
@@ -36,8 +36,6 @@ namespace Magento\Core\Block;
 
 class Template extends \Magento\Core\Block\AbstractBlock
 {
-    const XML_PATH_DEBUG_TEMPLATE_HINTS         = 'dev/debug/template_hints';
-    const XML_PATH_DEBUG_TEMPLATE_HINTS_BLOCKS  = 'dev/debug/template_hints_blocks';
     const XML_PATH_TEMPLATE_ALLOW_SYMLINK       = 'dev/template/allow_symlink';
 
     /**
@@ -58,11 +56,8 @@ class Template extends \Magento\Core\Block\AbstractBlock
      */
     protected $_allowSymlinks = null;
 
-    protected static $_showTemplateHints;
-    protected static $_showTemplateHintsBlocks;
-
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
@@ -89,9 +84,9 @@ class Template extends \Magento\Core\Block\AbstractBlock
     protected $_template;
 
     /**
-     * @var \Magento\Core\Model\TemplateEngine\Factory
+     * @var \Magento\Core\Model\TemplateEngine\Pool
      */
-    protected $_tmplEngineFactory;
+    protected $_templateEnginePool;
 
     /**
      * Core data
@@ -103,12 +98,13 @@ class Template extends \Magento\Core\Block\AbstractBlock
     /**
      * @var \Magento\Core\Model\App
      */
-    protected $_app;
+    protected $_storeManager;
 
     /**
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Block\Template\Context $context
      * @param array $data
+     * @todo Remove injection of the core helper from this class and its descendants, because it's no longer used
      */
     public function __construct(
         \Magento\Core\Helper\Data $coreData,
@@ -120,8 +116,8 @@ class Template extends \Magento\Core\Block\AbstractBlock
         $this->_logger = $context->getLogger();
         $this->_filesystem = $context->getFilesystem();
         $this->_viewFileSystem = $context->getViewFileSystem();
-        $this->_tmplEngineFactory = $context->getEngineFactory();
-        $this->_app = $context->getApp();
+        $this->_templateEnginePool = $context->getEnginePool();
+        $this->_storeManager = $context->getApp();
         parent::__construct($context, $data);
     }
 
@@ -213,93 +209,29 @@ class Template extends \Magento\Core\Block\AbstractBlock
         return $this;
     }
 
-    /**
-     * Check if direct output is allowed for block
-     *
-     * @return bool
-     */
-    public function getDirectOutput()
-    {
-        if ($this->getLayout()) {
-            return $this->getLayout()->isDirectOutput();
-        }
-        return false;
-    }
-
-    public function getShowTemplateHints()
-    {
-        if (is_null(self::$_showTemplateHints)) {
-            self::$_showTemplateHints = $this->_storeConfig->getConfig(self::XML_PATH_DEBUG_TEMPLATE_HINTS)
-                && $this->_coreData->isDevAllowed();
-            self::$_showTemplateHintsBlocks = $this->_storeConfig->getConfig(self::XML_PATH_DEBUG_TEMPLATE_HINTS_BLOCKS)
-                && $this->_coreData->isDevAllowed();
-        }
-        return self::$_showTemplateHints;
-    }
-
     /**
      * Retrieve block view from file (template)
      *
-     * @param  string $fileName
+     * @param string $fileName
      * @return string
-     * @throws \Exception
      */
     public function fetchView($fileName)
     {
-        $viewShortPath = str_replace($this->_dirs->getDir(\Magento\Core\Model\Dir::ROOT), '', $fileName);
+        $viewShortPath = str_replace($this->_dirs->getDir(\Magento\App\Dir::ROOT), '', $fileName);
         \Magento\Profiler::start('TEMPLATE:' . $fileName, array('group' => 'TEMPLATE', 'file_name' => $viewShortPath));
 
-
-        $do = $this->getDirectOutput();
-
-        if (!$do) {
-            ob_start();
-        }
-        if ($this->getShowTemplateHints()) {
-            echo <<<HTML
-<div style="position:relative; border:1px dotted red; margin:6px 2px; padding:18px 2px 2px 2px; zoom:1;">
-<div style="position:absolute; left:0; top:0; padding:2px 5px; background:red; color:white; font:normal 11px Arial;
-text-align:left !important; z-index:998;" onmouseover="this.style.zIndex='999'"
-onmouseout="this.style.zIndex='998'" title="{$fileName}">{$fileName}</div>
-HTML;
-            if (self::$_showTemplateHintsBlocks) {
-                $thisClass = get_class($this);
-                echo <<<HTML
-<div style="position:absolute; right:0; top:0; padding:2px 5px; background:red; color:blue; font:normal 11px Arial;
-text-align:left !important; z-index:998;" onmouseover="this.style.zIndex='999'" onmouseout="this.style.zIndex='998'"
-title="{$thisClass}">{$thisClass}</div>
-HTML;
-            }
-        }
-
-        try {
-            if (($this->_filesystem->isPathInDirectory($fileName, $this->_dirs->getDir(\Magento\Core\Model\Dir::APP))
-                || $this->_filesystem->isPathInDirectory($fileName, $this->_dirs->getDir(\Magento\Core\Model\Dir::THEMES))
+        if (($this->_filesystem->isPathInDirectory($fileName, $this->_dirs->getDir(\Magento\App\Dir::APP))
+                || $this->_filesystem->isPathInDirectory($fileName, $this->_dirs->getDir(\Magento\App\Dir::THEMES))
                 || $this->_getAllowSymlinks()) && $this->_filesystem->isFile($fileName)
-            ) {
-                $extension = pathinfo($fileName, PATHINFO_EXTENSION); 
-                $templateEngine = $this->_tmplEngineFactory->get($extension);
-                echo $templateEngine->render($this, $fileName, $this->_viewVars);
-            } else {
-                $this->_logger->log("Invalid template file: '{$fileName}'", \Zend_Log::CRIT);
-            }
-
-        } catch (\Exception $e) {
-            if (!$do) {
-                ob_get_clean();
-            }
-            throw $e;
-        }
-
-        if ($this->getShowTemplateHints()) {
-            echo '</div>';
-        }
-
-        if (!$do) {
-            $html = ob_get_clean();
+        ) {
+            $extension = pathinfo($fileName, PATHINFO_EXTENSION);
+            $templateEngine = $this->_templateEnginePool->get($extension);
+            $html = $templateEngine->render($this, $fileName, $this->_viewVars);
         } else {
             $html = '';
+            $this->_logger->log("Invalid template file: '{$fileName}'", \Zend_Log::CRIT);
         }
+
         \Magento\Profiler::stop('TEMPLATE:' . $fileName);
         return $html;
     }
@@ -351,7 +283,7 @@ HTML;
     {
         return array(
             'BLOCK_TPL',
-            $this->_app->getStore()->getCode(),
+            $this->_storeManager->getStore()->getCode(),
             $this->getTemplateFile(),
             'template' => $this->getTemplate()
         );
diff --git a/app/code/Magento/Core/Block/Template/Context.php b/app/code/Magento/Core/Block/Template/Context.php
index dd4d521ff65dfb4d2adbfbe469762b339781248c..38a6fa121912bd0c0612812a7e510ce0fe18ea0e 100644
--- a/app/code/Magento/Core/Block/Template/Context.php
+++ b/app/code/Magento/Core/Block/Template/Context.php
@@ -14,7 +14,7 @@ class Context extends \Magento\Core\Block\Context
     /**
      * Dirs instance
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
@@ -38,52 +38,52 @@ class Context extends \Magento\Core\Block\Context
     protected $_viewFileSystem;
 
     /**
-     * @var \Magento\Core\Model\TemplateEngine\Factory
+     * @var \Magento\Core\Model\TemplateEngine\Pool
      */
-    protected $_engineFactory;
+    protected $_enginePool;
 
     /**
-     * @param \Magento\Core\Controller\Request\Http $request
-     * @param \Magento\Core\Model\Layout $layout
-     * @param \Magento\Core\Model\Event\Manager $eventManager
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\App\RequestInterface $request
+     * @param \Magento\View\LayoutInterface $layout
+     * @param \Magento\Event\ManagerInterface $eventManager
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Core\Model\Translate $translator
      * @param \Magento\Core\Model\CacheInterface $cache
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Session $session
      * @param \Magento\Core\Model\Store\Config $storeConfig
-     * @param \Magento\Core\Controller\Varien\Front $frontController
+     * @param \Magento\App\FrontController $frontController
      * @param \Magento\Core\Model\Factory\Helper $helperFactory
      * @param \Magento\Core\Model\View\Url $viewUrl
-     * @param \Magento\Core\Model\View\Config $viewConfig
+     * @param \Magento\View\ConfigInterface $viewConfig
      * @param \Magento\Core\Model\Cache\StateInterface $cacheState
-     * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Core\Model\View\FileSystem $viewFileSystem
-     * @param \Magento\Core\Model\TemplateEngine\Factory $engineFactory
+     * @param \Magento\Core\Model\TemplateEngine\Pool $enginePool
+     * @param \Magento\Core\Model\App $app
      */
     public function __construct(
-        \Magento\Core\Controller\Request\Http $request,
-        \Magento\Core\Model\Layout $layout,
-        \Magento\Core\Model\Event\Manager $eventManager,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\App\RequestInterface $request,
+        \Magento\View\LayoutInterface $layout,
+        \Magento\Event\ManagerInterface $eventManager,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Core\Model\Translate $translator,
         \Magento\Core\Model\CacheInterface $cache,
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Session $session,
         \Magento\Core\Model\Store\Config $storeConfig,
-        \Magento\Core\Controller\Varien\Front $frontController,
+        \Magento\App\FrontController $frontController,
         \Magento\Core\Model\Factory\Helper $helperFactory,
         \Magento\Core\Model\View\Url $viewUrl,
-        \Magento\Core\Model\View\Config $viewConfig,
+        \Magento\View\ConfigInterface $viewConfig,
         \Magento\Core\Model\Cache\StateInterface $cacheState,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Core\Model\Logger $logger,
         \Magento\Filesystem $filesystem,
         \Magento\Core\Model\View\FileSystem $viewFileSystem,
-        \Magento\Core\Model\TemplateEngine\Factory $engineFactory,
+        \Magento\Core\Model\TemplateEngine\Pool $enginePool,
         \Magento\Core\Model\App $app
     ) {
         parent::__construct(
@@ -95,12 +95,12 @@ class Context extends \Magento\Core\Block\Context
         $this->_logger = $logger;
         $this->_filesystem = $filesystem;
         $this->_viewFileSystem = $viewFileSystem;
-        $this->_engineFactory = $engineFactory;
+        $this->_enginePool = $enginePool;
     }
 
     /**
      * Get dirs instance
-     * @return \Magento\Core\Model\Dir
+     * @return \Magento\App\Dir
      */
     public function getDirs()
     {
@@ -138,12 +138,12 @@ class Context extends \Magento\Core\Block\Context
     }
 
     /**
-     * Get the template engine factory instance
+     * Get the template engine pool instance
      *
-     * @return \Magento\Core\Model\TemplateEngine\Factory
+     * @return \Magento\Core\Model\TemplateEngine\Pool
      */
-    public function getEngineFactory()
+    public function getEnginePool()
     {
-        return $this->_engineFactory;
+        return $this->_enginePool;
     }
 }
diff --git a/app/code/Magento/Core/Controller/Front/Router.php b/app/code/Magento/Core/Controller/Front/Router.php
deleted file mode 100644
index 1e06839e4847adddf7615430d357c63b073a1874..0000000000000000000000000000000000000000
--- a/app/code/Magento/Core/Controller/Front/Router.php
+++ /dev/null
@@ -1,104 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @category    Magento
- * @package     Magento_Core
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-
-
-namespace Magento\Core\Controller\Front;
-
-class Router
-{
-    protected $_config = null;
-
-    /**
-     * @var \Magento\Core\Model\StoreManager
-     */
-    protected $_storeManager;
-    
-    public function __construct($config, \Magento\Core\Model\StoreManager $storeManager)
-    {
-        $this->_config = $config;
-        $this->_storeManager = $storeManager;
-    }
-    
-    public function getConfig()
-    {
-        return $this->_config;
-    }
-    
-    public function addRoutes(\Zend_Controller_Router_Interface $router)
-    {
-        $frontName = $this->_config->getName();
-        $routeMatch = $frontName.'/:controller/:action/*';
-        $moduleName = (string)$this->_config->module;
-        $routeParams = array('module'=>$moduleName, 'controller'=>'index', 'action'=>'index', '_frontName'=>$frontName);
-        $route = new \Zend_Controller_Router_Route($routeMatch, $routeParams);
-        $router->addRoute($moduleName, $route);
-        
-        return $this;
-    }
-    
-    public function getUrl($params=array())
-    {
-        static $reservedKeys = array('module'=>1, 'controller'=>1, 'action'=>1, 'array'=>1);
-        
-        if (is_string($params)) {
-            $paramsArr = explode('/', $params);
-            $params = array('controller'=>$paramsArr[0], 'action'=>$paramsArr[1]);
-        }
-        
-        $url = $this->_storeManager->getStore()->getBaseUrl($params);
-
-        if (!empty($params['frontName'])) {
-            $url .= $params['frontName'].'/';
-        } else {
-            $url .= $this->_config->getName().'/';
-        }
-        
-        if (!empty($params)) {
-            $paramsStr = '';
-            foreach ($params as $key=>$value) {
-                if (!isset($reservedKeys[$key]) && '_'!==$key{0} && !empty($value)) {
-                    $paramsStr .= $key.'/'.$value.'/';
-                }
-            }
-            
-            if (empty($params['controller']) && !empty($paramsStr)) {
-                $params['controller'] = 'index';
-            }
-            $url .= empty($params['controller']) ? '' : $params['controller'].'/';
-            
-            if (empty($params['action']) && !empty($paramsStr)) {
-                $params['action'] = 'index';
-            }
-            $url .= empty($params['action']) ? '' : $params['action'].'/';
-            
-            $url .= $paramsStr;
-            
-            $url .= empty($params['array']) ? '' : '?' . http_build_query($params['array']);
-        }
-
-        return $url;
-    }
-}
diff --git a/app/code/Magento/Core/Controller/Index.php b/app/code/Magento/Core/Controller/Index.php
index 6fafebf486bbd3a3432f2b35a5b2c01342e56e51..8eaa3ccd8887ddbaf0f4953d50590d55aa6ac7b4 100644
--- a/app/code/Magento/Core/Controller/Index.php
+++ b/app/code/Magento/Core/Controller/Index.php
@@ -24,7 +24,6 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-
 namespace Magento\Core\Controller;
 
 class Index extends \Magento\Core\Controller\Front\Action {
diff --git a/app/code/Magento/Core/Controller/Request/HttpProxy.php b/app/code/Magento/Core/Controller/Request/HttpProxy.php
deleted file mode 100644
index 641a47421ad5dffcb4b76ab71a00bd8a8b5dcd21..0000000000000000000000000000000000000000
--- a/app/code/Magento/Core/Controller/Request/HttpProxy.php
+++ /dev/null
@@ -1,764 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @category    Magento
- * @package     Magento_Core
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-
-/**
- * Proxy class for \Magento\Core\Controller\Request\Http
- */
-namespace Magento\Core\Controller\Request;
-
-class HttpProxy extends \Magento\Core\Controller\Request\Http
-{
-    /**
-     * Object Manager instance
-     *
-     * @var \Magento\ObjectManager
-     */
-    protected $_objectManager = null;
-
-    /**
-     * Proxied instance name
-     *
-     * @var string
-     */
-    protected $_instanceName = null;
-
-    /**
-     * Proxied instance
-     *
-     * @var \Magento\Core\Controller\Request\Http
-     */
-    protected $_subject = null;
-
-    /**
-     * Instance shareability flag
-     *
-     * @var bool
-     */
-    protected $_isShared = null;
-
-    /**
-     * Proxy constructor
-     *
-     * @param \Magento\ObjectManager $objectManager
-     * @param string $instanceName
-     * @param bool $shared
-     */
-    public function __construct(
-        \Magento\ObjectManager $objectManager,
-        $instanceName = 'Magento\Core\Controller\Request\Http', $shared = true
-    ) {
-        $this->_objectManager = $objectManager;
-        $this->_instanceName = $instanceName;
-        $this->_isShared = $shared;
-    }
-
-    /**
-     * @return array
-     */
-    public function __sleep()
-    {
-        return array('_subject', '_isShared');
-    }
-
-    /**
-     * Retrieve ObjectManager from global scope
-     */
-    public function __wakeup()
-    {
-        $this->_objectManager = \Magento\Core\Model\ObjectManager::getInstance();
-    }
-
-    /**
-     * Clone proxied instance
-     */
-    public function __clone()
-    {
-        $this->_subject = clone $this->_getSubject();
-    }
-
-    /**
-     * Get proxied instance
-     *
-     * @return \Magento\Core\Controller\Request\Http
-     */
-    protected function _getSubject()
-    {
-        if (!$this->_subject) {
-            $this->_subject = true === $this->_isShared
-                ? $this->_objectManager->get($this->_instanceName)
-                : $this->_objectManager->create($this->_instanceName);
-        }
-        return $this->_subject;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getOriginalPathInfo()
-    {
-        return $this->_getSubject()->getOriginalPathInfo();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setPathInfo($pathInfo = null)
-    {
-        return $this->_getSubject()->setPathInfo($pathInfo);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function rewritePathInfo($pathInfo)
-    {
-        return $this->_getSubject()->rewritePathInfo($pathInfo);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isDirectAccessFrontendName($code)
-    {
-        return $this->_getSubject()->isDirectAccessFrontendName($code);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getDirectFrontNames()
-    {
-        return $this->_getSubject()->getDirectFrontNames();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getRequestString()
-    {
-        return $this->_getSubject()->getRequestString();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getBasePath()
-    {
-        return $this->_getSubject()->getBasePath();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getBaseUrl()
-    {
-        return $this->_getSubject()->getBaseUrl();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setRouteName($route)
-    {
-        return $this->_getSubject()->setRouteName($route);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getRouteName()
-    {
-        return $this->_getSubject()->getRouteName();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getHttpHost($trimPort = true)
-    {
-        return $this->_getSubject()->getHttpHost($trimPort);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setPost($key, $value = null)
-    {
-        return $this->_getSubject()->setPost($key, $value);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setControllerModule($module)
-    {
-        return $this->_getSubject()->setControllerModule($module);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getControllerModule()
-    {
-        return $this->_getSubject()->getControllerModule();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getModuleName()
-    {
-        return $this->_getSubject()->getModuleName();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getControllerName()
-    {
-        return $this->_getSubject()->getControllerName();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getActionName()
-    {
-        return $this->_getSubject()->getActionName();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getAlias($name)
-    {
-        return $this->_getSubject()->getAlias($name);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getAliases()
-    {
-        return $this->_getSubject()->getAliases();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getRequestedRouteName()
-    {
-        return $this->_getSubject()->getRequestedRouteName();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getRequestedControllerName()
-    {
-        return $this->_getSubject()->getRequestedControllerName();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getRequestedActionName()
-    {
-        return $this->_getSubject()->getRequestedActionName();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setRoutingInfo($data)
-    {
-        return $this->_getSubject()->setRoutingInfo($data);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function initForward()
-    {
-        return $this->_getSubject()->initForward();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getBeforeForwardInfo($name = null)
-    {
-        return $this->_getSubject()->getBeforeForwardInfo($name);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isStraight($flag = null)
-    {
-        return $this->_getSubject()->isStraight($flag);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isAjax()
-    {
-        return $this->_getSubject()->isAjax();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getFiles($key = null, $default = null)
-    {
-        return $this->_getSubject()->getFiles($key, $default);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getDistroBaseUrl()
-    {
-        return $this->_getSubject()->getDistroBaseUrl();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function __get($key)
-    {
-        return $this->_getSubject()->__get($key);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function get($key)
-    {
-        return $this->_getSubject()->get($key);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function __set($key, $value)
-    {
-        return $this->_getSubject()->__set($key, $value);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function set($key, $value)
-    {
-        return $this->_getSubject()->set($key, $value);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function __isset($key)
-    {
-        return $this->_getSubject()->__isset($key);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function has($key)
-    {
-        return $this->_getSubject()->has($key);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setQuery($spec, $value = null)
-    {
-        return $this->_getSubject()->setQuery($spec, $value);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getQuery($key = null, $default = null)
-    {
-        return $this->_getSubject()->getQuery($key, $default);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getPost($key = null, $default = null)
-    {
-        return $this->_getSubject()->getPost($key, $default);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getCookie($key = null, $default = null)
-    {
-        return $this->_getSubject()->getCookie($key, $default);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getServer($key = null, $default = null)
-    {
-        return $this->_getSubject()->getServer($key, $default);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getEnv($key = null, $default = null)
-    {
-        return $this->_getSubject()->getEnv($key, $default);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setRequestUri($requestUri = null)
-    {
-        return $this->_getSubject()->setRequestUri($requestUri);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getRequestUri()
-    {
-        return $this->_getSubject()->getRequestUri();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setBaseUrl($baseUrl = null)
-    {
-        return $this->_getSubject()->setBaseUrl($baseUrl);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setBasePath($basePath = null)
-    {
-        return $this->_getSubject()->setBasePath($basePath);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getPathInfo()
-    {
-        return $this->_getSubject()->getPathInfo();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setParamSources(array $paramSources = array())
-    {
-        return $this->_getSubject()->setParamSources($paramSources);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getParamSources()
-    {
-        return $this->_getSubject()->getParamSources();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setParam($key, $value)
-    {
-        return $this->_getSubject()->setParam($key, $value);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getParam($key, $default = null)
-    {
-        return $this->_getSubject()->getParam($key, $default);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getParams()
-    {
-        return $this->_getSubject()->getParams();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setParams(array $params)
-    {
-        return $this->_getSubject()->setParams($params);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setAlias($name, $target)
-    {
-        return $this->_getSubject()->setAlias($name, $target);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getMethod()
-    {
-        return $this->_getSubject()->getMethod();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isPost()
-    {
-        return $this->_getSubject()->isPost();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isGet()
-    {
-        return $this->_getSubject()->isGet();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isPut()
-    {
-        return $this->_getSubject()->isPut();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isDelete()
-    {
-        return $this->_getSubject()->isDelete();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isHead()
-    {
-        return $this->_getSubject()->isHead();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isOptions()
-    {
-        return $this->_getSubject()->isOptions();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isXmlHttpRequest()
-    {
-        return $this->_getSubject()->isXmlHttpRequest();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isFlashRequest()
-    {
-        return $this->_getSubject()->isFlashRequest();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isSecure()
-    {
-        return $this->_getSubject()->isSecure();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getRawBody()
-    {
-        return $this->_getSubject()->getRawBody();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getHeader($header)
-    {
-        return $this->_getSubject()->getHeader($header);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getScheme()
-    {
-        return $this->_getSubject()->getScheme();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getClientIp($checkProxy = true)
-    {
-        return $this->_getSubject()->getClientIp($checkProxy);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setModuleName($value)
-    {
-        return $this->_getSubject()->setModuleName($value);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setControllerName($value)
-    {
-        return $this->_getSubject()->setControllerName($value);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setActionName($value)
-    {
-        return $this->_getSubject()->setActionName($value);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getModuleKey()
-    {
-        return $this->_getSubject()->getModuleKey();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setModuleKey($key)
-    {
-        return $this->_getSubject()->setModuleKey($key);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getControllerKey()
-    {
-        return $this->_getSubject()->getControllerKey();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setControllerKey($key)
-    {
-        return $this->_getSubject()->setControllerKey($key);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getActionKey()
-    {
-        return $this->_getSubject()->getActionKey();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setActionKey($key)
-    {
-        return $this->_getSubject()->setActionKey($key);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getUserParams()
-    {
-        return $this->_getSubject()->getUserParams();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getUserParam($key, $default = null)
-    {
-        return $this->_getSubject()->getUserParam($key, $default);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function clearParams()
-    {
-        return $this->_getSubject()->clearParams();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setDispatched($flag = true)
-    {
-        return $this->_getSubject()->setDispatched($flag);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isDispatched()
-    {
-        return $this->_getSubject()->isDispatched();
-    }
-}
diff --git a/app/code/Magento/Core/Controller/Response/Http.php b/app/code/Magento/Core/Controller/Response/Http.php
deleted file mode 100644
index 4496ff0e68485da1447a94cd57c28ecd89f886f4..0000000000000000000000000000000000000000
--- a/app/code/Magento/Core/Controller/Response/Http.php
+++ /dev/null
@@ -1,141 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @category    Magento
- * @package     Magento_Core
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-
-
-/**
- * Custom \Zend_Controller_Response_Http class (formally)
- *
- * @author      Magento Core Team <core@magentocommerce.com>
- */
-namespace Magento\Core\Controller\Response;
-
-class Http extends \Zend_Controller_Response_Http
-{
-    /**
-     * Transport object for observers to perform
-     *
-     * @var \Magento\Object
-     */
-    protected static $_transportObject = null;
-
-    /**
-     * @var \Magento\Core\Model\Event\Manager
-     */
-    protected $_eventManager;
-
-    /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
-     */
-    public function __construct(\Magento\Core\Model\Event\Manager $eventManager)
-    {
-        $this->_eventManager = $eventManager;
-    }
-
-    /**
-     * Fixes CGI only one Status header allowed bug
-     *
-     * @link  http://bugs.php.net/bug.php?id=36705
-     *
-     * @return \Magento\Core\Controller\Response\Http
-     */
-    public function sendHeaders()
-    {
-        if (!$this->canSendHeaders()) {
-            $this->_objectManager->get('Magento\Core\Model\Logger')
-                ->log('HEADERS ALREADY SENT: '.mageDebugBacktrace(true, true, true));
-            return $this;
-        }
-
-        if (substr(php_sapi_name(), 0, 3) == 'cgi') {
-            $statusSent = false;
-            foreach ($this->_headersRaw as $index => $header) {
-                if (stripos($header, 'status:')===0) {
-                    if ($statusSent) {
-                        unset($this->_headersRaw[$index]);
-                    } else {
-                        $statusSent = true;
-                    }
-                }
-            }
-            foreach ($this->_headers as $index => $header) {
-                if (strcasecmp($header['name'], 'status') === 0) {
-                    if ($statusSent) {
-                        unset($this->_headers[$index]);
-                    } else {
-                        $statusSent = true;
-                    }
-                }
-            }
-        }
-        return parent::sendHeaders();
-    }
-
-    public function sendResponse()
-    {
-        return parent::sendResponse();
-    }
-
-    /**
-     * Additionally check for session messages in several domains case
-     *
-     * @param string $url
-     * @param int $code
-     * @return \Magento\Core\Controller\Response\Http
-     */
-    public function setRedirect($url, $code = 302)
-    {
-        /**
-         * Use single transport object instance
-         */
-        if (self::$_transportObject === null) {
-            self::$_transportObject = new \Magento\Object;
-        }
-        self::$_transportObject->setUrl($url);
-        self::$_transportObject->setCode($code);
-        $this->_eventManager->dispatch('controller_response_redirect',
-            array('response' => $this, 'transport' => self::$_transportObject));
-
-        return parent::setRedirect(self::$_transportObject->getUrl(), self::$_transportObject->getCode());
-    }
-
-    /**
-     * Get header value by name.
-     * Returns first found header by passed name.
-     * If header with specified name was not found returns false.
-     *
-     * @param string $name
-     * @return array|bool
-     */
-    public function getHeader($name)
-    {
-        foreach ($this->_headers as $header) {
-            if ($header['name'] == $name) {
-                return $header;
-            }
-        }
-        return false;
-    }
-}
diff --git a/app/code/Magento/Core/Controller/Varien/Action.php b/app/code/Magento/Core/Controller/Varien/Action.php
index 44a5cee124f0aad3646610d9ff115c5dab3bded8..664f1570b50ca7eb2bf1d5f3655c887d8f6149af 100644
--- a/app/code/Magento/Core/Controller/Varien/Action.php
+++ b/app/code/Magento/Core/Controller/Varien/Action.php
@@ -36,7 +36,9 @@
  */
 namespace Magento\Core\Controller\Varien;
 
-class Action extends \Magento\Core\Controller\Varien\AbstractAction
+use Magento\App\Action\AbstractAction;
+
+class Action extends \Magento\App\Action\AbstractAction
 {
     const FLAG_NO_CHECK_INSTALLATION    = 'no-install-check';
     const FLAG_NO_DISPATCH              = 'no-dispatch';
@@ -113,17 +115,17 @@ class Action extends \Magento\Core\Controller\Varien\AbstractAction
     protected $_removeDefaultTitle = false;
 
     /**
-     * @var \Magento\Core\Controller\Varien\Front
+     * @var \Magento\App\FrontController
      */
     protected $_frontController = null;
 
     /**
-     * @var \Magento\Core\Model\Layout\Factory
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -207,7 +209,7 @@ class Action extends \Magento\Core\Controller\Varien\AbstractAction
     /**
      * Retrieve current layout object
      *
-     * @return \Magento\Core\Model\Layout
+     * @return \Magento\View\LayoutInterface
      */
     public function getLayout()
     {
@@ -389,10 +391,6 @@ class Action extends \Magento\Core\Controller\Varien\AbstractAction
             return;
         }
 
-        if ($this->_frontController->getNoRender()) {
-            return;
-        }
-
         \Magento\Profiler::start('LAYOUT');
 
         $this->_renderTitles();
@@ -406,8 +404,6 @@ class Action extends \Magento\Core\Controller\Varien\AbstractAction
         $this->_eventManager->dispatch('controller_action_layout_render_before');
         $this->_eventManager->dispatch('controller_action_layout_render_before_' . $this->getFullActionName());
 
-        $this->getLayout()->setDirectOutput(false);
-
         $output = $this->getLayout()->getOutput();
         $this->_objectManager->get('Magento\Core\Model\Translate')->processResponseBody($output);
         $this->getResponse()->appendBody($output);
@@ -454,7 +450,7 @@ class Action extends \Magento\Core\Controller\Varien\AbstractAction
             }
 
             \Magento\Profiler::stop($profilerKey);
-        } catch (\Magento\Core\Controller\Varien\Exception $e) {
+        } catch (\Magento\App\Action\Exception $e) {
             // set prepared flags
             foreach ($e->getResultFlags() as $flagData) {
                 list($action, $flag, $value) = $flagData;
@@ -463,11 +459,11 @@ class Action extends \Magento\Core\Controller\Varien\AbstractAction
             // call forward, redirect or an action
             list($method, $parameters) = $e->getResultCallback();
             switch ($method) {
-                case \Magento\Core\Controller\Varien\Exception::RESULT_REDIRECT:
+                case \Magento\App\Action\Exception::RESULT_REDIRECT:
                     list($path, $arguments) = $parameters;
                     $this->_redirect($path, $arguments);
                     break;
-                case \Magento\Core\Controller\Varien\Exception::RESULT_FORWARD:
+                case \Magento\App\Action\Exception::RESULT_FORWARD:
                     list($action, $controller, $module, $params) = $parameters;
                     $this->_forward($action, $controller, $module, $params);
                     break;
@@ -546,7 +542,7 @@ class Action extends \Magento\Core\Controller\Varien\AbstractAction
     public function preDispatch()
     {
         if (!$this->getFlag('', self::FLAG_NO_CHECK_INSTALLATION)) {
-            if (!$this->_objectManager->get('Magento\Core\Model\App\State')->isInstalled()) {
+            if (!$this->_objectManager->get('Magento\App\State')->isInstalled()) {
                 $this->setFlag('', self::FLAG_NO_DISPATCH, true);
                 $this->_redirect('install');
                 return;
@@ -555,7 +551,7 @@ class Action extends \Magento\Core\Controller\Varien\AbstractAction
 
         // Prohibit disabled store actions
         $storeManager = $this->_objectManager->get('Magento\Core\Model\StoreManager');
-        if ($this->_objectManager->get('Magento\Core\Model\App\State') && !$storeManager->getStore()->getIsActive()) {
+        if ($this->_objectManager->get('Magento\App\State') && !$storeManager->getStore()->getIsActive()) {
             $this->_objectManager->get('Magento\Core\Model\StoreManager')->throwStoreException();
         }
 
diff --git a/app/code/Magento/Core/Controller/Varien/Action/Context.php b/app/code/Magento/Core/Controller/Varien/Action/Context.php
index 80f9566c6c56a7aadea67337774466789fdf2857..88139ce82fa452da41a8e844ac3aa53529127aff 100644
--- a/app/code/Magento/Core/Controller/Varien/Action/Context.php
+++ b/app/code/Magento/Core/Controller/Varien/Action/Context.php
@@ -28,12 +28,12 @@ namespace Magento\Core\Controller\Varien\Action;
 class Context implements \Magento\ObjectManager\ContextInterface
 {
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
     /**
-     * @var \Magento\Core\Controller\Response\Http
+     * @var \Magento\App\ResponseInterface
      */
     protected $_response;
 
@@ -43,17 +43,17 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_objectManager;
 
     /**
-     * @var \Magento\Core\Controller\Varien\Front
+     * @var \Magento\App\FrontController
      */
     protected $_frontController = null;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -71,22 +71,22 @@ class Context implements \Magento\ObjectManager\ContextInterface
 
     /**
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Controller\Request\Http $request
-     * @param \Magento\Core\Controller\Response\Http $response
+     * @param \Magento\App\RequestInterface $request
+     * @param \Magento\App\ResponseInterface $response
      * @param \Magento\ObjectManager $objectManager
-     * @param \Magento\Core\Controller\Varien\Front $frontController
-     * @param \Magento\Core\Model\Layout $layout
-     * @param \Magento\Core\Model\Event\Manager $eventManager
-     * @param boolean $isRenderInherited
+     * @param \Magento\App\FrontController $frontController
+     * @param \Magento\View\LayoutInterface $layout
+     * @param \Magento\Event\ManagerInterface $eventManager
+     * @param bool $isRenderInherited
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Controller\Request\Http $request,
-        \Magento\Core\Controller\Response\Http $response,
+        \Magento\App\RequestInterface $request,
+        \Magento\App\ResponseInterface $response,
         \Magento\ObjectManager $objectManager,
-        \Magento\Core\Controller\Varien\Front $frontController,
-        \Magento\Core\Model\Layout $layout,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\App\FrontController $frontController,
+        \Magento\View\LayoutInterface $layout,
+        \Magento\Event\ManagerInterface $eventManager,
         $isRenderInherited
     ) {
         $this->_request           = $request;
@@ -110,7 +110,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Controller\Varien\Front
+     * @return \Magento\App\FrontController
      */
     public function getFrontController()
     {
@@ -118,7 +118,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\Layout
+     * @return \Magento\View\LayoutInterface
      */
     public function getLayout()
     {
@@ -134,7 +134,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Controller\Request\Http
+     * @return \Magento\App\RequestInterface
      */
     public function getRequest()
     {
@@ -142,7 +142,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Controller\Response\Http
+     * @return \Magento\App\ResponseInterface
      */
     public function getResponse()
     {
@@ -150,7 +150,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\Event\Manager
+     * @return \Magento\Event\ManagerInterface
      */
     public function getEventManager()
     {
diff --git a/app/code/Magento/Core/Controller/Varien/Front.php b/app/code/Magento/Core/Controller/Varien/Front.php
deleted file mode 100644
index cdc71cd70b4124f2622d9d3f25ea624465a7857c..0000000000000000000000000000000000000000
--- a/app/code/Magento/Core/Controller/Varien/Front.php
+++ /dev/null
@@ -1,413 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @category    Magento
- * @package     Magento_Core
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Controller\Varien;
-
-class Front extends \Magento\Object implements \Magento\Core\Controller\FrontInterface
-{
-    /**
-     * @var \Magento\Core\Model\Url\RewriteFactory
-     */
-    protected $_rewriteFactory;
-
-    /**
-     * @var \Magento\Core\Model\Store\Config
-     */
-    protected $_coreStoreConfig;
-
-    /**
-     * @var array
-     */
-    protected $_defaults = array();
-
-    /**
-     * @var \Magento\Core\Model\RouterList
-     */
-    protected $_routerList;
-
-    /**
-     * @var \Magento\Core\Model\Config
-     */
-    protected $_coreConfig;
-
-    /**
-     * @var \Magento\Backend\Helper\Data
-     */
-    protected $_backendData;
-
-    /**
-     * @var \Magento\Core\Model\Url
-     */
-    protected $_url;
-
-    /**
-     * @var \Magento\Core\Model\App\State
-     */
-    protected $_appState;
-
-    /**
-     * @var \Magento\Core\Model\StoreManager
-     */
-    protected $_storeManager;
-
-    /**
-     * @var \Magento\Core\Controller\Request\Http
-     */
-    protected $_request;
-
-    /**
-     * @var \Magento\Core\Controller\Response\Http
-     */
-    protected $_response;
-
-    /**
-     * @var \Magento\Core\Model\App
-     */
-    protected $_app;
-
-    /**
-     * @param \Magento\Backend\Helper\Data $backendData
-     * @param \Magento\Core\Model\Url\RewriteFactory $rewriteFactory
-     * @param \Magento\Core\Model\Event\Manager $eventManager
-     * @param \Magento\Core\Model\RouterList $routerList
-     * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\Config $coreConfig
-     * @param \Magento\Core\Model\Url $url
-     * @param \Magento\Core\Model\App\State $appState
-     * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Controller\Request\Http $request
-     * @param \Magento\Core\Controller\Response\Http $response
-     * @param array $data
-     */
-    public function __construct(
-        \Magento\Backend\Helper\Data $backendData,
-        \Magento\Core\Model\Url\RewriteFactory $rewriteFactory,
-        \Magento\Core\Model\Event\Manager $eventManager,
-        \Magento\Core\Model\RouterList $routerList,
-        \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\Config $coreConfig,
-        \Magento\Core\Model\Url $url,
-        \Magento\Core\Model\App\State $appState,
-        \Magento\Core\Model\App $app,
-        \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Controller\Request\Http $request,
-        \Magento\Core\Controller\Response\Http $response,
-        array $data = array()
-    ) {
-        parent::__construct($data);
-
-        $this->_backendData = $backendData;
-        $this->_rewriteFactory = $rewriteFactory;
-        $this->_eventManager = $eventManager;
-        $this->_routerList = $routerList;
-        $this->_coreStoreConfig = $coreStoreConfig;
-        $this->_coreConfig = $coreConfig;
-        $this->_url = $url;
-        $this->_appState = $appState;
-        $this->_app = $app;
-        $this->_storeManager = $storeManager;
-        $this->_request = $request;
-        $this->_response = $response;
-    }
-
-    public function setDefault($key, $value=null)
-    {
-        if (is_array($key)) {
-            $this->_defaults = $key;
-        } else {
-            $this->_defaults[$key] = $value;
-        }
-        return $this;
-    }
-
-    public function getDefault($key=null)
-    {
-        if (is_null($key)) {
-            return $this->_defaults;
-        } elseif (isset($this->_defaults[$key])) {
-            return $this->_defaults[$key];
-        }
-        return false;
-    }
-
-    /**
-     * Retrieve request object
-     *
-     * @return \Magento\Core\Controller\Request\Http
-     */
-    public function getRequest()
-    {
-        return $this->_request;
-    }
-
-    /**
-     * Retrieve response object
-     *
-     * @return \Magento\Core\Controller\Response\Http
-     */
-    public function getResponse()
-    {
-        return $this->_response;
-    }
-
-    /**
-     * Get routerList model
-     *
-     * @return \Magento\Core\Model\RouterList
-     */
-    public function getRouterList()
-    {
-        return $this->_routerList;
-    }
-
-    /**
-     * Retrieve router by name
-     *
-     * @param   string $name
-     * @return  \Magento\Core\Controller\Varien\Router\AbstractRouter
-     */
-    public function getRouter($name)
-    {
-        $routers = $this->_routerList->getRouters();
-        if (isset($routers[$name])) {
-            return $routers[$name];
-        }
-        return false;
-    }
-
-    /**
-     * Retrieve routers collection
-     *
-     * @return array
-     */
-    public function getRouters()
-    {
-        return $this->_routerList->getRouters();
-    }
-
-    /**
-     * Dispatch user request
-     *
-     * @throws \Magento\Core\Exception
-     * @return \Magento\Core\Controller\Varien\Front
-     */
-    public function dispatch()
-    {
-        $request = $this->getRequest();
-
-        // If pre-configured, check equality of base URL and requested URL
-        $this->_checkBaseUrl($request);
-
-        \Magento\Profiler::start('dispatch');
-
-        $request->setPathInfo()->setDispatched(false);
-        $this->applyRewrites($request);
-
-        \Magento\Profiler::stop('dispatch');
-
-        \Magento\Profiler::start('routers_match');
-        $routingCycleCounter = 0;
-        while (!$request->isDispatched() && $routingCycleCounter++ < 100) {
-            /** @var $router \Magento\Core\Controller\Varien\Router\AbstractRouter */
-            foreach ($this->_routerList->getRouters() as $router) {
-                $router->setFront($this);
-
-                /** @var $controllerInstance \Magento\Core\Controller\Varien\Action */
-                $controllerInstance = $router->match($this->getRequest());
-                if ($controllerInstance) {
-                    $controllerInstance->dispatch($request->getActionName());
-                    break;
-                }
-            }
-        }
-        \Magento\Profiler::stop('routers_match');
-        if ($routingCycleCounter > 100) {
-            throw new \Magento\Core\Exception('Front controller reached 100 router match iterations');
-        }
-        // This event gives possibility to launch something before sending output (allow cookie setting)
-        $this->_eventManager->dispatch('controller_front_send_response_before', array('front' => $this));
-        \Magento\Profiler::start('send_response');
-        $this->_eventManager->dispatch('http_response_send_before', array('response' => $this));
-        $this->getResponse()->sendResponse();
-        \Magento\Profiler::stop('send_response');
-        $this->_eventManager->dispatch('controller_front_send_response_after', array('front' => $this));
-        return $this;
-    }
-
-    /**
-     * Apply rewrites to current request
-     *
-     * @param \Magento\Core\Controller\Request\Http $request
-     */
-    public function applyRewrites(\Magento\Core\Controller\Request\Http $request)
-    {
-        // URL rewrite
-        if (!$request->isStraight()) {
-            \Magento\Profiler::start('db_url_rewrite');
-            /** @var $urlRewrite \Magento\Core\Model\Url\Rewrite */
-            $urlRewrite = $this->_rewriteFactory->create();
-            $urlRewrite->rewrite($request);
-            \Magento\Profiler::stop('db_url_rewrite');
-        }
-
-        // config rewrite
-        \Magento\Profiler::start('config_url_rewrite');
-        $this->rewrite($request);
-        \Magento\Profiler::stop('config_url_rewrite');
-    }
-
-    /**
-     * Apply configuration rewrites to current url
-     *
-     * @param \Magento\Core\Controller\Request\Http $request
-     */
-    public function rewrite(\Magento\Core\Controller\Request\Http $request = null)
-    {
-        if (!$request) {
-            $request = $this->getRequest();
-        }
-
-        $config = $this->_coreConfig->getNode('global/rewrite');
-        if (!$config) {
-            return;
-        }
-        foreach ($config->children() as $rewrite) {
-            $from = (string)$rewrite->from;
-            $to = (string)$rewrite->to;
-            if (empty($from) || empty($to)) {
-                continue;
-            }
-            $from = $this->_processRewriteUrl($from);
-            $to   = $this->_processRewriteUrl($to);
-
-            $pathInfo = preg_replace($from, $to, $request->getPathInfo());
-
-            if (isset($rewrite->complete)) {
-                $request->setPathInfo($pathInfo);
-            } else {
-                $request->rewritePathInfo($pathInfo);
-            }
-        }
-    }
-
-    /**
-     * Replace route name placeholders in url to front name
-     *
-     * @param   string $url
-     * @return  string
-     */
-    protected function _processRewriteUrl($url)
-    {
-        $startPos = strpos($url, '{');
-        if ($startPos!==false) {
-            $endPos = strpos($url, '}');
-            $routeId = substr($url, $startPos+1, $endPos-$startPos-1);
-            $router = $this->_routerList->getRouterByRoute($routeId);
-            if ($router) {
-                $frontName = $router->getFrontNameByRoute($routeId);
-                $url = str_replace('{'.$routeId.'}', $frontName, $url);
-            }
-        }
-        return $url;
-    }
-
-    /**
-     * Auto-redirect to base url (without SID) if the requested url doesn't match it.
-     * By default this feature is enabled in configuration.
-     *
-     * @param \Zend_Controller_Request_Http $request
-     */
-    protected function _checkBaseUrl($request)
-    {
-        if (!$this->_appState->isInstalled() || $request->getPost() || strtolower($request->getMethod()) == 'post') {
-            return;
-        }
-
-        $redirectCode = (int)$this->_coreStoreConfig->getConfig('web/url/redirect_to_base');
-        if (!$redirectCode) {
-            return;
-        } elseif ($redirectCode != 301) {
-            $redirectCode = 302;
-        }
-
-        if ($this->_isAdminFrontNameMatched($request)) {
-            return;
-        }
-
-        $baseUrl = $this->_storeManager->getStore()->getBaseUrl(
-            \Magento\Core\Model\Store::URL_TYPE_WEB,
-            $this->_storeManager->getStore()->isCurrentlySecure()
-        );
-        if (!$baseUrl) {
-            return;
-        }
-
-        $uri = parse_url($baseUrl);
-        $requestUri = $request->getRequestUri() ? $request->getRequestUri() : '/';
-        if (isset($uri['scheme']) && $uri['scheme'] != $request->getScheme()
-            || isset($uri['host']) && $uri['host'] != $request->getHttpHost()
-            || isset($uri['path']) && strpos($requestUri, $uri['path']) === false
-        ) {
-            $redirectUrl = $this->_url->getRedirectUrl(
-                $this->_url->getUrl(ltrim($request->getPathInfo(), '/'), array('_nosid' => true))
-            );
-
-            $this->_app->getFrontController()->getResponse()
-                ->setRedirect($redirectUrl, $redirectCode)
-                ->sendResponse();
-            exit;
-        }
-    }
-
-    /**
-     * Check if requested path starts with one of the admin front names
-     *
-     * @param \Zend_Controller_Request_Http $request
-     * @return boolean
-     */
-    protected function _isAdminFrontNameMatched($request)
-    {
-        $pathPrefix = $this->_extractPathPrefixFromUrl($request);
-        return $pathPrefix == $this->_backendData->getAreaFrontName();
-    }
-
-    /**
-     * Extract first path part from url (in most cases this is area code)
-     *
-     * @param \Zend_Controller_Request_Http $request
-     * @return string
-     */
-    protected function _extractPathPrefixFromUrl($request)
-    {
-        $pathPrefix = ltrim($request->getPathInfo(), '/');
-        $urlDelimiterPos = strpos($pathPrefix, '/');
-        if ($urlDelimiterPos) {
-            $pathPrefix = substr($pathPrefix, 0, $urlDelimiterPos);
-        }
-
-        return $pathPrefix;
-    }
-}
diff --git a/app/code/Magento/Core/Controller/Varien/Router/Base.php b/app/code/Magento/Core/Controller/Varien/Router/Base.php
index 46bb1aad88fe468565a01d9edbefb2f876dd9d1f..711c65027c20b7ee5e340284965e5268b6825586 100644
--- a/app/code/Magento/Core/Controller/Varien/Router/Base.php
+++ b/app/code/Magento/Core/Controller/Varien/Router/Base.php
@@ -26,7 +26,9 @@
 
 namespace Magento\Core\Controller\Varien\Router;
 
-class Base extends \Magento\Core\Controller\Varien\Router\AbstractRouter
+use Magento\App\Router\AbstractRouter;
+
+class Base extends \Magento\App\Router\AbstractRouter
 {
     /**
      * @var array
@@ -75,11 +77,6 @@ class Base extends \Magento\Core\Controller\Varien\Router\AbstractRouter
      */
     protected $_app;
 
-    /**
-     * @var \Magento\Core\Model\Config\Scope
-     */
-    protected $_configScope;
-
     /**
      * @var \Magento\Core\Model\Route\Config
      */
@@ -122,39 +119,37 @@ class Base extends \Magento\Core\Controller\Varien\Router\AbstractRouter
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Factory $controllerFactory
+     * @param \Magento\App\ActionFactory $controllerFactory
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\Config\Scope $configScope
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\Route\Config $routeConfig
      * @param \Magento\Core\Model\Url\SecurityInfoInterface $urlSecurityInfo
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Url $url
      * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param string $areaCode
      * @param string $baseController
      * @param string $routerId
      * @throws \InvalidArgumentException
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Factory $controllerFactory,
+        \Magento\App\ActionFactory $controllerFactory,
         \Magento\Filesystem $filesystem,
         \Magento\Core\Model\App $app,
-        \Magento\Core\Model\Config\Scope $configScope,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\Route\Config $routeConfig,
         \Magento\Core\Model\Url\SecurityInfoInterface $urlSecurityInfo,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Url $url,
         \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         $areaCode,
         $baseController,
         $routerId
@@ -165,11 +160,9 @@ class Base extends \Magento\Core\Controller\Varien\Router\AbstractRouter
         $this->_filesystem      = $filesystem;
         $this->_areaCode        = $areaCode;
         $this->_baseController  = $baseController;
-        $this->_configScope     = $configScope;
         $this->_routeConfig     = $routeConfig;
         $this->_routerId        = $routerId;
         $this->_urlSecurityInfo = $urlSecurityInfo;
-        $this->_configScope     = $configScope;
         $this->_coreStoreConfig = $coreStoreConfig;
         $this->_config          = $config;
         $this->_url             = $url;
@@ -233,10 +226,10 @@ class Base extends \Magento\Core\Controller\Varien\Router\AbstractRouter
     /**
      * Match provided request and if matched - return corresponding controller
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return \Magento\Core\Controller\Front\Action|null
      */
-    public function match(\Magento\Core\Controller\Request\Http $request)
+    public function match(\Magento\App\RequestInterface $request)
     {
         //checking before even try to find out that current module
         //should use this router
@@ -250,8 +243,6 @@ class Base extends \Magento\Core\Controller\Varien\Router\AbstractRouter
             return null;
         }
 
-        $this->_app->loadAreaPart($this->_areaCode, \Magento\Core\Model\App\Area::PART_CONFIG);
-
         return $this->_matchController($request, $params);
     }
 
@@ -269,10 +260,10 @@ class Base extends \Magento\Core\Controller\Varien\Router\AbstractRouter
     /**
      * Parse request URL params
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return array
      */
-    protected function _parseRequest(\Magento\Core\Controller\Request\Http $request)
+    protected function _parseRequest(\Magento\App\RequestInterface $request)
     {
         $output = array();
 
@@ -292,11 +283,11 @@ class Base extends \Magento\Core\Controller\Varien\Router\AbstractRouter
     /**
      * Match module front name
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param string $param
      * @return string|null
      */
-    protected function _matchModuleFrontName(\Magento\Core\Controller\Request\Http $request, $param)
+    protected function _matchModuleFrontName(\Magento\App\RequestInterface $request, $param)
     {
         // get module name
         if ($request->getModuleName()) {
@@ -318,11 +309,11 @@ class Base extends \Magento\Core\Controller\Varien\Router\AbstractRouter
     /**
      * Match controller name
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param string $param
      * @return string
      */
-    protected function _matchControllerName(\Magento\Core\Controller\Request\Http $request,  $param)
+    protected function _matchControllerName(\Magento\App\RequestInterface $request,  $param)
     {
         if ($request->getControllerName()) {
             $controller = $request->getControllerName();
@@ -343,11 +334,11 @@ class Base extends \Magento\Core\Controller\Varien\Router\AbstractRouter
     /**
      * Match controller name
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param string $param
      * @return string
      */
-    protected function _matchActionName(\Magento\Core\Controller\Request\Http $request, $param)
+    protected function _matchActionName(\Magento\App\RequestInterface $request, $param)
     {
         if (empty($action)) {
             if ($request->getActionName()) {
@@ -366,10 +357,10 @@ class Base extends \Magento\Core\Controller\Varien\Router\AbstractRouter
      * Get not found controller instance
      *
      * @param $currentModuleName
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return \Magento\Core\Controller\Varien\Action|null
      */
-    protected function _getNotFoundControllerInstance($currentModuleName, \Magento\Core\Controller\Request\Http $request)
+    protected function _getNotFoundControllerInstance($currentModuleName, \Magento\App\RequestInterface $request)
     {
         $controllerInstance = null;
 
@@ -412,11 +403,11 @@ class Base extends \Magento\Core\Controller\Varien\Router\AbstractRouter
     /**
      * Create matched controller instance
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param array $params
      * @return \Magento\Core\Controller\Front\Action|null
      */
-    protected function _matchController(\Magento\Core\Controller\Request\Http $request, array $params)
+    protected function _matchController(\Magento\App\RequestInterface $request, array $params)
     {
         $this->fetchDefault();
 
@@ -469,7 +460,6 @@ class Base extends \Magento\Core\Controller\Varien\Router\AbstractRouter
                 continue;
             }
 
-            $this->_configScope->setCurrentScope($this->_areaCode);
             // instantiate controller class
             $controllerInstance = $this->_controllerFactory->createController($controllerClassName,
                 array('request' => $request)
@@ -648,11 +638,11 @@ class Base extends \Magento\Core\Controller\Varien\Router\AbstractRouter
      * Check that request uses https protocol if it should.
      * Function redirects user to correct URL if needed.
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param string $path
      * @return void
      */
-    protected function _checkShouldBeSecure(\Zend_Controller_Request_Http $request, $path = '')
+    protected function _checkShouldBeSecure(\Magento\App\RequestInterface $request, $path = '')
     {
         if (!$this->_appState->isInstalled() || $request->getPost()) {
             return;
diff --git a/app/code/Magento/Core/Helper/AbstractHelper.php b/app/code/Magento/Core/Helper/AbstractHelper.php
index cb78152194b7c4da87198f216b22c89d4d88ed39..653106641536f0b68e8c626231d46e9d96849c1d 100644
--- a/app/code/Magento/Core/Helper/AbstractHelper.php
+++ b/app/code/Magento/Core/Helper/AbstractHelper.php
@@ -43,7 +43,7 @@ abstract class AbstractHelper
     /**
      * Request object
      *
-     * @var \Zend_Controller_Request_Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
@@ -70,7 +70,7 @@ abstract class AbstractHelper
     protected $_app;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
@@ -90,7 +90,7 @@ abstract class AbstractHelper
     /**
      * Retrieve request object
      *
-     * @return \Zend_Controller_Request_Http
+     * @return \Magento\App\RequestInterface
      */
     protected function _getRequest()
     {
diff --git a/app/code/Magento/Core/Helper/Context.php b/app/code/Magento/Core/Helper/Context.php
index 3a51c31ce39c8c65e5319049bbdab15cd53ac775..690b01f85e5da578511d1ad3fa9712731f5cff63 100644
--- a/app/code/Magento/Core/Helper/Context.php
+++ b/app/code/Magento/Core/Helper/Context.php
@@ -38,7 +38,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_moduleManager;
 
     /** 
-     * @var  \Magento\Core\Model\Event\Manager 
+     * @var  \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -48,7 +48,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_logger;
 
     /**
-     * @var \Magento\Core\Controller\Request\HttpProxy
+     * @var \Magento\App\RequestInterface
      */
     protected $_httpRequest;
 
@@ -73,7 +73,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_app;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
@@ -81,25 +81,25 @@ class Context implements \Magento\ObjectManager\ContextInterface
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Core\Model\Translate $translator
      * @param \Magento\Core\Model\ModuleManager $moduleManager
-     * @param \Magento\Core\Controller\Request\HttpProxy $httpRequest
+     * @param \Magento\App\RequestInterface $httpRequest
      * @param \Magento\Core\Model\Cache\Config $cacheConfig
      * @param \Magento\Core\Model\EncryptionFactory $encryptorFactory
      * @param \Magento\Core\Model\Fieldset\Config $fieldsetConfig
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
         \Magento\Core\Model\Translate $translator,
         \Magento\Core\Model\ModuleManager $moduleManager,
-        \Magento\Core\Controller\Request\HttpProxy $httpRequest,
+        \Magento\App\RequestInterface $httpRequest,
         \Magento\Core\Model\Cache\Config $cacheConfig,
         \Magento\Core\Model\EncryptionFactory $encryptorFactory,
         \Magento\Core\Model\Fieldset\Config $fieldsetConfig,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\App $app,
-        \Magento\Core\Model\UrlInterface $urlBuilder
+        \Magento\UrlInterface $urlBuilder
     ) {
         $this->_translator = $translator;
         $this->_moduleManager = $moduleManager;
@@ -138,7 +138,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function getUrlBuilder()
     {
@@ -146,7 +146,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Controller\Request\HttpProxy
+     * @return \Magento\App\RequestInterface
      */
     public function getRequest()
     {
@@ -170,7 +170,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\Event\Manager
+     * @return \Magento\Event\ManagerInterface
      */
     public function getEventManager()
     {
diff --git a/app/code/Magento/Core/Helper/Css.php b/app/code/Magento/Core/Helper/Css.php
index a35fd1c50b7fe69a6ddafba717031c1cdae26231..a5e2dc2bd3475e07c57ec5d0aed26ca9e2cbc6ae 100644
--- a/app/code/Magento/Core/Helper/Css.php
+++ b/app/code/Magento/Core/Helper/Css.php
@@ -40,17 +40,17 @@ class Css
     protected $_filesystem;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
     /**
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      */
     public function __construct(
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dirs
+        \Magento\App\Dir $dirs
     ) {
         $this->_filesystem = $filesystem;
         $this->_dirs = $dirs;
@@ -118,7 +118,7 @@ class Css
          * Thus, calculating relative path is not possible in general case. So we just assume,
          * that urls follow the structure of directory paths.
          */
-        $topDir = $this->_dirs->getDir(\Magento\Core\Model\Dir::ROOT);
+        $topDir = $this->_dirs->getDir(\Magento\App\Dir::ROOT);
         $topDir = $this->_filesystem->normalizePath($topDir);
         if (strpos($file, $topDir) !== 0 || strpos($referencedFile, $topDir) !== 0) {
             throw new \Magento\Core\Exception('Offset can be calculated for internal resources only.');
diff --git a/app/code/Magento/Core/Helper/Data.php b/app/code/Magento/Core/Helper/Data.php
index 2a2a7d53db3b3894bd440ea8c31aa98752cd986e..1f1a6591cdab3b128b8ac0d4d7a643e74449b49e 100644
--- a/app/code/Magento/Core/Helper/Data.php
+++ b/app/code/Magento/Core/Helper/Data.php
@@ -94,7 +94,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -136,7 +136,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_dateModel;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -147,27 +147,27 @@ class Data extends \Magento\Core\Helper\AbstractHelper
 
     /**
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Http $coreHttp
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\Core\Model\Date $dateModel
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\Encryption $encryptor
      * @param bool $dbCompatibleMode
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Http $coreHttp,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\Core\Model\Date $dateModel,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\Encryption $encryptor,
         $dbCompatibleMode = true
     ) {
diff --git a/app/code/Magento/Core/Helper/File/Storage/Database.php b/app/code/Magento/Core/Helper/File/Storage/Database.php
index 7029067785df1c4112b19ec7f9426429810646a4..3706dfb1a609c21d899d6bccce4166e0f48cde11 100644
--- a/app/code/Magento/Core/Helper/File/Storage/Database.php
+++ b/app/code/Magento/Core/Helper/File/Storage/Database.php
@@ -77,7 +77,7 @@ class Database extends \Magento\Core\Helper\AbstractHelper
     protected $_fileStorage;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -85,14 +85,14 @@ class Database extends \Magento\Core\Helper\AbstractHelper
      * @param \Magento\Core\Helper\Context $context
      * @param \Magento\Core\Model\File\Storage\DatabaseFactory $dbStorageFactory
      * @param \Magento\Core\Model\File\Storage\File $fileStorage
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Filesystem $filesystem
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
         \Magento\Core\Model\File\Storage\DatabaseFactory $dbStorageFactory,
         \Magento\Core\Model\File\Storage\File $fileStorage,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Filesystem $filesystem
     ) {
         parent::__construct($context);
diff --git a/app/code/Magento/Core/Helper/Http.php b/app/code/Magento/Core/Helper/Http.php
index 846c9a0d63ef82d94bc411ba1859693348cfee46..9171a4c98c15fb33bef9d5d02b59d1284a3ade41 100644
--- a/app/code/Magento/Core/Helper/Http.php
+++ b/app/code/Magento/Core/Helper/Http.php
@@ -76,10 +76,10 @@ class Http extends \Magento\Core\Helper\AbstractHelper
      *
      * Returns plain array with 2 items: login and password respectively
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return array
      */
-    public function getHttpAuthCredentials(\Zend_Controller_Request_Http $request)
+    public function getHttpAuthCredentials(\Magento\App\RequestInterface $request)
     {
         $server = $request->getServer();
         $user = '';
@@ -117,10 +117,10 @@ class Http extends \Magento\Core\Helper\AbstractHelper
     /**
      * Set "auth failed" headers to the specified response object
      *
-     * @param \Zend_Controller_Response_Http $response
+     * @param \Magento\App\ResponseInterface $response
      * @param string $realm
      */
-    public function failHttpAuthentication(\Zend_Controller_Response_Http $response, $realm)
+    public function failHttpAuthentication(\Magento\App\ResponseInterface $response, $realm)
     {
         $response->setHeader('HTTP/1.1', '401 Unauthorized')
             ->setHeader('WWW-Authenticate', 'Basic realm="' . $realm . '"')
diff --git a/app/code/Magento/Core/Helper/Theme.php b/app/code/Magento/Core/Helper/Theme.php
index ad37f8cf22971252ffc708708eea55901c287531..8f21ca882daca038087c9393d1b94709ba69e2d5 100644
--- a/app/code/Magento/Core/Helper/Theme.php
+++ b/app/code/Magento/Core/Helper/Theme.php
@@ -34,16 +34,16 @@ class Theme extends \Magento\Core\Helper\AbstractHelper
     /**
      * Directories
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
     /**
      * Layout merge factory
      *
-     * @var \Magento\Core\Model\Layout\MergeFactory
+     * @var \Magento\View\Layout\ProcessorFactory
      */
-    protected $_layoutMergeFactory;
+    protected $_layoutProcessorFactory;
 
     /**
      * Theme collection model
@@ -58,21 +58,21 @@ class Theme extends \Magento\Core\Helper\AbstractHelper
     protected $_viewFileSystem;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Dir $dirs
-     * @param \Magento\Core\Model\Layout\MergeFactory $layoutMergeFactory
+     * @param Context $context
+     * @param \Magento\App\Dir $dirs
+     * @param \Magento\View\Layout\ProcessorFactory $layoutProcessorFactory
      * @param \Magento\Core\Model\Resource\Theme\Collection $themeCollection
      * @param \Magento\Core\Model\View\FileSystem $viewFileSystem
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Dir $dirs,
-        \Magento\Core\Model\Layout\MergeFactory $layoutMergeFactory,
+        \Magento\App\Dir $dirs,
+        \Magento\View\Layout\ProcessorFactory $layoutProcessorFactory,
         \Magento\Core\Model\Resource\Theme\Collection $themeCollection,
         \Magento\Core\Model\View\FileSystem $viewFileSystem
     ) {
         $this->_dirs = $dirs;
-        $this->_layoutMergeFactory = $layoutMergeFactory;
+        $this->_layoutProcessorFactory = $layoutProcessorFactory;
         $this->_themeCollection = $themeCollection;
         $this->_viewFileSystem = $viewFileSystem;
         parent::__construct($context);
@@ -86,14 +86,14 @@ class Theme extends \Magento\Core\Helper\AbstractHelper
      *   'Magento_Catalog::widgets.css' => 'http://mage2.com/pub/static/frontend/_theme15/en_US/Magento_Cms/widgets.css'
      * )
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return array
      */
     public function getCssFiles($theme)
     {
-        /** @var $layoutMerge \Magento\Core\Model\Layout\Merge */
-        $layoutMerge = $this->_layoutMergeFactory->create(array('theme' => $theme));
-        $layoutElement = $layoutMerge->getFileLayoutUpdatesXml();
+        /** @var $layoutProcessor \Magento\View\Layout\ProcessorInterface */
+        $layoutProcessor = $this->_layoutProcessorFactory->create(array('theme' => $theme));
+        $layoutElement = $layoutProcessor->getFileLayoutUpdatesXml();
 
         /**
          * XPath selector to get CSS files from layout added for HEAD block directly
@@ -118,7 +118,7 @@ class Theme extends \Magento\Core\Helper\AbstractHelper
             'skipProxy'  => true
         );
 
-        $basePath = $this->_dirs->getDir(\Magento\Core\Model\Dir::ROOT);
+        $basePath = $this->_dirs->getDir(\Magento\App\Dir::ROOT);
         $files = array();
         foreach ($elements as $fileId) {
             $fileId = (string)$fileId;
@@ -139,15 +139,15 @@ class Theme extends \Magento\Core\Helper\AbstractHelper
     /**
      * Get CSS files by group
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return array
      * @throws \LogicException
      */
     public function getGroupedCssFiles($theme)
     {
-        $jsDir = \Magento\Filesystem::fixSeparator($this->_dirs->getDir(\Magento\Core\Model\Dir::PUB_LIB));
-        $codeDir = \Magento\Filesystem::fixSeparator($this->_dirs->getDir(\Magento\Core\Model\Dir::MODULES));
-        $designDir = \Magento\Filesystem::fixSeparator($this->_dirs->getDir(\Magento\Core\Model\Dir::THEMES));
+        $jsDir = \Magento\Filesystem::fixSeparator($this->_dirs->getDir(\Magento\App\Dir::PUB_LIB));
+        $codeDir = \Magento\Filesystem::fixSeparator($this->_dirs->getDir(\Magento\App\Dir::MODULES));
+        $designDir = \Magento\Filesystem::fixSeparator($this->_dirs->getDir(\Magento\App\Dir::THEMES));
 
         $groups = array();
         $themes = array();
@@ -177,7 +177,7 @@ class Theme extends \Magento\Core\Helper\AbstractHelper
         }
 
         $order = array_merge(array($codeDir, $jsDir), array_map(function ($fileTheme) {
-            /** @var $fileTheme \Magento\Core\Model\Theme */
+            /** @var $fileTheme \Magento\View\Design\ThemeInterface */
             return $fileTheme->getThemeId();
         }, $themes));
         $groups = $this->_sortArrayByArray($groups, $order);
@@ -319,7 +319,7 @@ class Theme extends \Magento\Core\Helper\AbstractHelper
             $codeDir => (string)__('Framework files')
         );
         foreach ($themes as $theme) {
-            /** @var $theme \Magento\Core\Model\Theme */
+            /** @var $theme \Magento\View\Design\ThemeInterface */
             $labels[$theme->getThemeId()] = (string)__('"%1" Theme files', $theme->getThemeTitle());
         }
         return $labels;
@@ -356,8 +356,8 @@ class Theme extends \Magento\Core\Helper\AbstractHelper
     /**
      * Sort themes by hierarchy callback
      *
-     * @param \Magento\Core\Model\Theme $firstTheme
-     * @param \Magento\Core\Model\Theme $secondTheme
+     * @param \Magento\View\Design\ThemeInterface $firstTheme
+     * @param \Magento\View\Design\ThemeInterface $secondTheme
      * @return int
      */
     protected function _sortThemesByHierarchyCallback($firstTheme, $secondTheme)
diff --git a/app/code/Magento/Core/Helper/Translate.php b/app/code/Magento/Core/Helper/Translate.php
index 70251d92dce0b1f4e7f4779278b6d2aa0fd4ae44..1d92e7304932796b2fbd4bccc44fb05b262fb90c 100644
--- a/app/code/Magento/Core/Helper/Translate.php
+++ b/app/code/Magento/Core/Helper/Translate.php
@@ -34,24 +34,24 @@ class Translate extends \Magento\Core\Helper\AbstractHelper
     /**
      * Design package instance
      *
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_design;
     
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
     /**
-     * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\View\DesignInterface $design
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param Context $context
+     * @param \Magento\View\DesignInterface $design
+     * @param \Magento\Event\ManagerInterface $eventManager
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\View\DesignInterface $design,
-        \Magento\Core\Model\Event\Manager $eventManager
+        \Magento\View\DesignInterface $design,
+        \Magento\Event\ManagerInterface $eventManager
     ) {
         $this->_eventManager = $eventManager;
         parent::__construct($context);
diff --git a/app/code/Magento/Core/Helper/Url.php b/app/code/Magento/Core/Helper/Url.php
index e76b2b0875b3d0fcff56f9c168b306ca8e18bc3b..3e69656fcec6a2a6dbf23f5a32aa90ab0fa774f3 100644
--- a/app/code/Magento/Core/Helper/Url.php
+++ b/app/code/Magento/Core/Helper/Url.php
@@ -64,8 +64,8 @@ class Url extends \Magento\Core\Helper\AbstractHelper
         $port = $this->_getRequest()->getServer('SERVER_PORT');
         if ($port) {
             $defaultPorts = array(
-                \Magento\Core\Controller\Request\Http::DEFAULT_HTTP_PORT,
-                \Magento\Core\Controller\Request\Http::DEFAULT_HTTPS_PORT
+                \Magento\App\Request\Http::DEFAULT_HTTP_PORT,
+                \Magento\App\Request\Http::DEFAULT_HTTPS_PORT
             );
             $port = (in_array($port, $defaultPorts)) ? '' : ':' . $port;
         }
diff --git a/app/code/Magento/Core/Model/AbstractEntryPoint.php b/app/code/Magento/Core/Model/AbstractEntryPoint.php
index c62144ccf5b02da5a3992b0c5edd5c78b2b0fc3e..f2579ef46db9f6fac07f08786f1a04ed834dd0e8 100644
--- a/app/code/Magento/Core/Model/AbstractEntryPoint.php
+++ b/app/code/Magento/Core/Model/AbstractEntryPoint.php
@@ -70,8 +70,8 @@ abstract class AbstractEntryPoint
     public function processException(\Exception $exception)
     {
         $this->_init();
-        $appMode = $this->_objectManager->get('Magento\Core\Model\App\State')->getMode();
-        if ($appMode == \Magento\Core\Model\App\State::MODE_DEVELOPER) {
+        $appMode = $this->_objectManager->get('Magento\App\State')->getMode();
+        if ($appMode == \Magento\App\State::MODE_DEVELOPER) {
             print '<pre>';
             print $exception->getMessage() . "\n\n";
             print $exception->getTraceAsString();
@@ -92,12 +92,12 @@ abstract class AbstractEntryPoint
             // attempt to specify store as a skin
             try {
                 $storeManager = $this->_objectManager->get('Magento\Core\Model\StoreManager');
-                $reportData['skin'] = $storeManager->getStore()->getCode;
+                $reportData['skin'] = $storeManager->getStore()->getCode();
             } catch (\Exception $exception) {
             }
 
-            $modelDir = $this->_objectManager->get('Magento\Core\Model\Dir');
-            require_once($modelDir->getDir(\Magento\Core\Model\Dir::PUB) . DS . 'errors' . DS . 'report.php');
+            $modelDir = $this->_objectManager->get('Magento\App\Dir');
+            require_once($modelDir->getDir(\Magento\App\Dir::PUB) . DS . 'errors' . DS . 'report.php');
         }
     }
 
diff --git a/app/code/Magento/Core/Model/AbstractModel.php b/app/code/Magento/Core/Model/AbstractModel.php
index 6674a3be097d4861c26ff422badbcb73ad0c7b0d..b43e28bbb442f3b6753a61ab2cc9d449b10d9af3 100644
--- a/app/code/Magento/Core/Model/AbstractModel.php
+++ b/app/code/Magento/Core/Model/AbstractModel.php
@@ -112,7 +112,7 @@ abstract class AbstractModel extends \Magento\Object
     /**
      * Application Event Dispatcher
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventDispatcher;
 
@@ -197,7 +197,7 @@ abstract class AbstractModel extends \Magento\Object
     public function __wakeup()
     {
         $objectManager = \Magento\Core\Model\ObjectManager::getInstance();
-        $this->_eventDispatcher = $objectManager->get('Magento\Core\Model\Event\Manager');
+        $this->_eventDispatcher = $objectManager->get('Magento\Event\ManagerInterface');
         $this->_cacheManager = $objectManager->get('Magento\Core\Model\CacheInterface');
         $this->_coreRegistry = $objectManager->get('Magento\Core\Model\Registry');
     }
diff --git a/app/code/Magento/Core/Model/AbstractShell.php b/app/code/Magento/Core/Model/AbstractShell.php
index 6c54eedd8e98cb47c63bd5373db14309fe5f2ca3..85e60e2b30cc370c0279c57d7d581b6d0b1829e6 100644
--- a/app/code/Magento/Core/Model/AbstractShell.php
+++ b/app/code/Magento/Core/Model/AbstractShell.php
@@ -62,7 +62,7 @@ abstract class AbstractShell
     protected $_filesystem;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -71,10 +71,10 @@ abstract class AbstractShell
      *
      * @param \Magento\Filesystem $filesystem
      * @param string $entryPoint
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @throws \Exception
      */
-    public function __construct(\Magento\Filesystem $filesystem, $entryPoint, \Magento\Core\Model\Dir $dir)
+    public function __construct(\Magento\Filesystem $filesystem, $entryPoint, \Magento\App\Dir $dir)
     {
         if (isset($_SERVER['REQUEST_METHOD'])) {
             throw new \Exception('This script cannot be run from Browser. This is the shell script.');
@@ -109,7 +109,7 @@ abstract class AbstractShell
      */
     protected function _getRootPath()
     {
-        return $this->_dir->getDir(\Magento\Core\Model\Dir::ROOT);
+        return $this->_dir->getDir(\Magento\App\Dir::ROOT);
     }
 
     /**
diff --git a/app/code/Magento/Core/Model/App.php b/app/code/Magento/Core/Model/App.php
index cab518ce5c3cbdd69168996fd6716806ebb59519..5ae9baef6c9f722f8ec830967ba22bea7537d198 100644
--- a/app/code/Magento/Core/Model/App.php
+++ b/app/code/Magento/Core/Model/App.php
@@ -51,7 +51,7 @@ class App implements \Magento\Core\Model\AppInterface
     /**
      * Magento version
      */
-    const VERSION = '2.0.0.0-dev48';
+    const VERSION = '2.0.0.0-dev49';
 
     /**
      * Custom application dirs
@@ -127,7 +127,7 @@ class App implements \Magento\Core\Model\AppInterface
     /**
      * Application front controller
      *
-     * @var \Magento\Core\Controller\FrontInterface
+     * @var \Magento\App\FrontControllerInterface
      */
     protected $_frontController;
 
@@ -148,14 +148,14 @@ class App implements \Magento\Core\Model\AppInterface
     /**
      * Request object
      *
-     * @var \Zend_Controller_Request_Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
     /**
      * Response object
      *
-     * @var \Zend_Controller_Response_Http
+     * @var \Magento\App\ResponseInterface
      */
     protected $_response;
 
@@ -184,7 +184,7 @@ class App implements \Magento\Core\Model\AppInterface
     /**
      * Data base updater object
      *
-     * @var \Magento\Core\Model\Db\UpdaterInterface
+     * @var \Magento\App\UpdaterInterface
      */
     protected $_dbUpdater;
 
@@ -196,72 +196,48 @@ class App implements \Magento\Core\Model\AppInterface
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
     /**
-     * @var \Magento\Core\Model\Config\Scope
+     * @var \Magento\Config\Scope
      */
     protected $_configScope;
 
     /**
-     * @param \Magento\Core\Model\Config $config
-     * @param \Magento\Core\Model\CacheInterface $cache
+     * @param Config $config
+     * @param CacheInterface $cache
      * @param \Magento\ObjectManager $objectManager
-     * @param \Magento\Core\Model\Db\UpdaterInterface $dbUpdater
-     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Event\Manager $eventManager
-     * @param \Magento\Core\Model\App\State $appState
-     * @param \Magento\Core\Model\Config\Scope $configScope
+     * @param StoreManagerInterface $storeManager
+     * @param \Magento\Event\ManagerInterface $eventManager
+     * @param \Magento\App\State $appState
+     * @param \Magento\Config\Scope $configScope
+     * @param \Magento\App\FrontControllerInterface $frontController
      */
     public function __construct(
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\CacheInterface $cache,
         \Magento\ObjectManager $objectManager,
-        \Magento\Core\Model\Db\UpdaterInterface $dbUpdater,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Event\Manager $eventManager,
-        \Magento\Core\Model\App\State $appState,
-        \Magento\Core\Model\Config\Scope $configScope
+        \Magento\Event\ManagerInterface $eventManager,
+        \Magento\App\State $appState,
+        \Magento\Config\Scope $configScope,
+        \Magento\App\FrontControllerInterface $frontController
     ) {
         $this->_config = $config;
         $this->_cache = $cache;
         $this->_objectManager = $objectManager;
         $this->_storeManager = $storeManager;
-        $this->_dbUpdater = $dbUpdater;
         $this->_appState = $appState;
         $this->_eventManager = $eventManager;
         $this->_configScope = $configScope;
-    }
-
-    /**
-     * Run application. Run process responsible for request processing and sending response.
-     *
-     * @return \Magento\Core\Model\App
-     */
-    public function run()
-    {
-        \Magento\Profiler::start('init');
-
-        if ($this->_appState->isInstalled() && !$this->_cache->load('data_upgrade')) {
-            $this->_dbUpdater->updateScheme();
-            $this->_dbUpdater->updateData();
-            $this->_cache->save(1, 'data_upgrade');
-        }
-        $this->_initRequest();
-
-        $controllerFront = $this->getFrontController();
-        \Magento\Profiler::stop('init');
-
-        $controllerFront->dispatch();
-
-        return $this;
+        $this->_frontController = $frontController;
     }
 
     /**
@@ -276,17 +252,6 @@ class App implements \Magento\Core\Model\AppInterface
         }
     }
 
-    /**
-     * Init request object
-     *
-     * @return \Magento\Core\Model\App
-     */
-    protected function _initRequest()
-    {
-        $this->getRequest()->setPathInfo();
-        return $this;
-    }
-
     /**
      * Retrieve cookie object
      *
@@ -297,52 +262,6 @@ class App implements \Magento\Core\Model\AppInterface
         return $this->_objectManager->get('Magento\Core\Model\Cookie');
     }
 
-    /**
-     * Initialize application front controller
-     *
-     * @return \Magento\Core\Model\App
-     */
-    protected function _initFrontController()
-    {
-        $this->_frontController = $this->_getFrontControllerByCurrentArea();
-        return $this;
-    }
-
-    /**
-     * Instantiate proper front controller instance depending on current area
-     *
-     * @return \Magento\Core\Controller\FrontInterface
-     */
-    protected function _getFrontControllerByCurrentArea()
-    {
-        /**
-         * TODO: Temporary implementation for API. Must be reconsidered during implementation
-         * TODO: of ability to set different front controllers in different area.
-         * TODO: See also related changes in \Magento\Core\Model\Config.
-         */
-        // TODO: Assure that everything work fine work in areas without routers (e.g. URL generation)
-        /** Default front controller class */
-        $frontControllerClass = 'Magento\Core\Controller\Varien\Front';
-        $pathParts = explode('/', trim($this->getRequest()->getPathInfo(), '/'));
-        if ($pathParts) {
-            /** If area front name is used it is expected to be set on the first place in path info */
-            $frontName = reset($pathParts);
-            foreach ($this->getConfig()->getAreas() as $areaCode => $areaInfo) {
-                if (isset($areaInfo['front_controller'])
-                    && isset($areaInfo['frontName']) && ($frontName == $areaInfo['frontName'])
-                ) {
-                    $this->_configScope->setCurrentScope($areaCode);
-                    $frontControllerClass = $areaInfo['front_controller'];
-                    /** Remove area from path info */
-                    array_shift($pathParts);
-                    $this->getRequest()->setPathInfo('/' . implode('/', $pathParts));
-                    break;
-                }
-            }
-        }
-        return $this->_objectManager->get($frontControllerClass);
-    }
-
     /**
      * Re-declare custom error handler
      *
@@ -424,11 +343,11 @@ class App implements \Magento\Core\Model\AppInterface
     /**
      * Retrieve layout object
      *
-     * @return \Magento\Core\Model\Layout
+     * @return \Magento\View\LayoutInterface
      */
     public function getLayout()
     {
-        return $this->_objectManager->get('Magento\Core\Model\Layout');
+        return $this->_objectManager->get('Magento\View\LayoutInterface');
     }
 
     /**
@@ -454,14 +373,10 @@ class App implements \Magento\Core\Model\AppInterface
     /**
      * Retrieve front controller object
      *
-     * @return \Magento\Core\Controller\Varien\Front
+     * @return \Magento\App\FrontController
      */
     public function getFrontController()
     {
-        if (!$this->_isFrontControllerInitialized) {
-            $this->_initFrontController();
-            $this->_isFrontControllerInitialized = true;
-        }
         return $this->_frontController;
     }
 
@@ -553,12 +468,12 @@ class App implements \Magento\Core\Model\AppInterface
     /**
      * Retrieve request object
      *
-     * @return \Magento\Core\Controller\Request\Http
+     * @return \Magento\App\RequestInterface
      */
     public function getRequest()
     {
         if (!$this->_request) {
-            $this->_request = $this->_objectManager->get('Magento\Core\Controller\Request\Http');
+            $this->_request = $this->_objectManager->get('Magento\App\RequestInterface');
         }
         return $this->_request;
     }
@@ -566,10 +481,10 @@ class App implements \Magento\Core\Model\AppInterface
     /**
      * Request setter
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return \Magento\Core\Model\App
      */
-    public function setRequest(\Magento\Core\Controller\Request\Http $request)
+    public function setRequest(\Magento\App\RequestInterface $request)
     {
         $this->_request = $request;
         return $this;
@@ -578,12 +493,12 @@ class App implements \Magento\Core\Model\AppInterface
     /**
      * Retrieve response object
      *
-     * @return \Zend_Controller_Response_Http
+     * @return \Magento\App\ResponseInterface
      */
     public function getResponse()
     {
         if (!$this->_response) {
-            $this->_response = $this->_objectManager->get('Magento\Core\Controller\Response\Http');
+            $this->_response = $this->_objectManager->get('Magento\App\ResponseInterface');
             $this->_response->setHeader('Content-Type', 'text/html; charset=UTF-8');
         }
         return $this->_response;
@@ -592,10 +507,10 @@ class App implements \Magento\Core\Model\AppInterface
     /**
      * Response setter
      *
-     * @param \Magento\Core\Controller\Response\Http $response
+     * @param \Magento\App\ResponseInterface $response
      * @return \Magento\Core\Model\App
      */
-    public function setResponse(\Magento\Core\Controller\Response\Http $response)
+    public function setResponse(\Magento\App\ResponseInterface $response)
     {
         $this->_response = $response;
         return $this;
@@ -652,7 +567,7 @@ class App implements \Magento\Core\Model\AppInterface
      */
     public function isDeveloperMode()
     {
-        return $this->_appState->getMode() == \Magento\Core\Model\App\State::MODE_DEVELOPER;
+        return $this->_appState->getMode() == \Magento\App\State::MODE_DEVELOPER;
     }
 
     /**
@@ -921,7 +836,7 @@ class App implements \Magento\Core\Model\AppInterface
             'revision'  => '0',
             'patch'     => '0',
             'stability' => 'dev',
-            'number'    => '48',
+            'number'    => '49',
         );
     }
 }
diff --git a/app/code/Magento/Core/Model/App/Area.php b/app/code/Magento/Core/Model/App/Area.php
index a54f9d8460382f897fb8a0449e26d7d7da27c2a5..b22a806dbdd17f1d1e92ca174264d5841c257ebd 100644
--- a/app/code/Magento/Core/Model/App/Area.php
+++ b/app/code/Magento/Core/Model/App/Area.php
@@ -64,7 +64,7 @@ class Area
     /**
      * Event Manager
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -121,7 +121,7 @@ class Area
 
     /**
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Translate $translator
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\ObjectManager $objectManager
@@ -133,7 +133,7 @@ class Area
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Translate $translator,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\ObjectManager $objectManager,
@@ -176,7 +176,7 @@ class Area
     /**
      * Detect and apply design for the area
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      */
     public function detectDesign($request = null)
     {
@@ -193,7 +193,7 @@ class Area
     /**
      * Analyze user-agent information to override custom design settings
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return bool
      */
     protected function _applyUserAgentDesignException($request)
@@ -221,11 +221,11 @@ class Area
     }
 
     /**
-     * @return \Magento\Core\Model\View\DesignInterface
+     * @return \Magento\View\DesignInterface
      */
     protected function _getDesign()
     {
-        return $this->_objectManager->get('Magento\Core\Model\View\DesignInterface');
+        return $this->_objectManager->get('Magento\View\DesignInterface');
     }
 
     /**
@@ -276,7 +276,7 @@ class Area
             'inline_type' => null,
             'params' => array('area' => $this->_code)
         ));
-        $eventManager = $this->_objectManager->get('Magento\Core\Model\Event\Manager');
+        $eventManager = $this->_objectManager->get('Magento\Event\ManagerInterface');
         $eventManager->dispatch('translate_initialization_before', array(
             'translate_object' => $this->_translator,
             'result' => $dispatchResult
diff --git a/app/code/Magento/Core/Model/App/Emulation.php b/app/code/Magento/Core/Model/App/Emulation.php
index e43e82d5958d2d9aecdf3dd7497f169d44ad57bb..bb586f4c813cfce1a17d9328697e289f2fdbd880 100644
--- a/app/code/Magento/Core/Model/App/Emulation.php
+++ b/app/code/Magento/Core/Model/App/Emulation.php
@@ -75,7 +75,7 @@ class Emulation extends \Magento\Object
     /**
      * @param \Magento\Core\Model\App $app
      * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\View\DesignInterface $viewDesign
+     * @param \Magento\View\DesignInterface $viewDesign
      * @param \Magento\Core\Model\Design $design
      * @param \Magento\Core\Model\Translate $translate
      * @param \Magento\Core\Helper\Translate $helperTranslate
@@ -86,7 +86,7 @@ class Emulation extends \Magento\Object
     public function __construct(
         \Magento\Core\Model\App $app,
         \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\View\DesignInterface $viewDesign,
+        \Magento\View\DesignInterface $viewDesign,
         \Magento\Core\Model\Design $design,
         \Magento\Core\Model\Translate $translate,
         \Magento\Core\Helper\Translate $helperTranslate,
diff --git a/app/code/Magento/Core/Model/App/Proxy.php b/app/code/Magento/Core/Model/App/Proxy.php
deleted file mode 100644
index 8cfef3e1d1862f2bc08248c87ab26575564b7daa..0000000000000000000000000000000000000000
--- a/app/code/Magento/Core/Model/App/Proxy.php
+++ /dev/null
@@ -1,561 +0,0 @@
-<?php
-/**
- * Application proxy model
- *
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\App;
-
-class Proxy implements \Magento\Core\Model\AppInterface
-{
-    /**
-     * @var \Magento\ObjectManager
-     */
-    protected $_objectManager;
-
-    /**
-     * @var \Magento\Core\Model\App
-     */
-    protected $_app = null;
-
-    /**
-     * @param \Magento\ObjectManager $objectManager
-     */
-    public function __construct(\Magento\ObjectManager $objectManager)
-    {
-        $this->_objectManager = $objectManager;
-    }
-
-    /**
-     * Get application model
-     *
-     * @return \Magento\Core\Model\App
-     */
-    protected function _getApp()
-    {
-        if (null === $this->_app) {
-            $this->_app = $this->_objectManager->get('Magento\Core\Model\App');
-        }
-
-        return $this->_app;
-    }
-
-    /**
-     * Run application. Run process responsible for request processing and sending response.
-     *
-     * @return \Magento\Core\Model\AppInterface
-     */
-    public function run()
-    {
-        return $this->_getApp()->run();
-    }
-
-    /**
-     * Throw an exception, if the application has not been installed yet
-     *
-     * @throws \Magento\Exception
-     */
-    public function requireInstalledInstance()
-    {
-        $this->_getApp()->requireInstalledInstance();
-    }
-
-    /**
-     * Retrieve cookie object
-     *
-     * @return \Magento\Core\Model\Cookie
-     */
-    public function getCookie()
-    {
-        return $this->_getApp()->getCookie();
-    }
-
-    /**
-     * Reinitialize stores
-     *
-     * @return void
-     */
-    public function reinitStores()
-    {
-        $this->_getApp()->reinitStores();
-    }
-
-    /**
-     * Check if system is run in the single store mode
-     *
-     * @return bool
-     */
-    public function isSingleStoreMode()
-    {
-        return $this->_getApp()->isSingleStoreMode();
-    }
-
-    /**
-     * Check if store has only one store view
-     *
-     * @return bool
-     */
-    public function hasSingleStore()
-    {
-        return $this->_getApp()->hasSingleStore();
-    }
-
-    /**
-     * Set current default store
-     *
-     * @param string $store
-     */
-    public function setCurrentStore($store)
-    {
-        $this->_getApp()->setCurrentStore($store);
-    }
-
-    /**
-     * Get current store code
-     *
-     * @return string
-     */
-    public function getCurrentStore()
-    {
-        return $this->_getApp()->getCurrentStore();
-    }
-
-    /**
-     * Re-declare custom error handler
-     *
-     * @param   string $handler
-     * @return  \Magento\Core\Model\AppInterface
-     */
-    public function setErrorHandler($handler)
-    {
-        return $this->_getApp()->setErrorHandler($handler);
-    }
-
-    /**
-     * Loading application area
-     *
-     * @param   string $code
-     * @return  \Magento\Core\Model\AppInterface
-     */
-    public function loadArea($code)
-    {
-        return $this->_getApp()->loadArea($code);
-    }
-
-    /**
-     * Loading part of area data
-     *
-     * @param   string $area
-     * @param   string $part
-     * @return  \Magento\Core\Model\AppInterface
-     */
-    public function loadAreaPart($area, $part)
-    {
-        return $this->_getApp()->loadAreaPart($area, $part);
-    }
-
-    /**
-     * Retrieve application area
-     *
-     * @param   string $code
-     * @return  \Magento\Core\Model\App\Area
-     */
-    public function getArea($code)
-    {
-        return $this->_getApp()->getArea($code);
-    }
-
-    /**
-     * Retrieve application store object
-     *
-     * @param null|string|bool|int|\Magento\Core\Model\Store $storeId
-     * @return \Magento\Core\Model\Store
-     * @throws \Magento\Core\Model\Store\Exception
-     */
-    public function getStore($storeId = null)
-    {
-        return $this->_getApp()->getStore($storeId);
-    }
-
-    /**
-     * Retrieve application store object without Store_Exception
-     *
-     * @param string|int|\Magento\Core\Model\Store $storeId
-     * @return \Magento\Core\Model\Store
-     */
-    public function getSafeStore($storeId = null)
-    {
-        return $this->_getApp()->getSafeStore($storeId);
-    }
-
-    /**
-     * Retrieve stores array
-     *
-     * @param bool $withDefault
-     * @param bool $codeKey
-     * @return array
-     */
-    public function getStores($withDefault = false, $codeKey = false)
-    {
-        return $this->_getApp()->getStores($withDefault, $codeKey);
-    }
-
-    /**
-     * Retrieve default store for default group and website
-     *
-     * @return \Magento\Core\Model\Store
-     */
-    public function getDefaultStoreView()
-    {
-        return $this->_getApp()->getDefaultStoreView();
-    }
-
-    /**
-     * Get distributive locale code
-     *
-     * @return string
-     */
-    public function getDistroLocaleCode()
-    {
-        return $this->_getApp()->getDistroLocaleCode();
-    }
-
-    /**
-     * Retrieve application website object
-     *
-     * @param null|bool|int|string|\Magento\Core\Model\Website $websiteId
-     * @return \Magento\Core\Model\Website
-     * @throws \Magento\Core\Exception
-     */
-    public function getWebsite($websiteId = null)
-    {
-        return $this->_getApp()->getWebsite($websiteId);
-    }
-
-    /**
-     * Get websites
-     *
-     * @param bool $withDefault
-     * @param bool $codeKey
-     * @return array
-     */
-    public function getWebsites($withDefault = false, $codeKey = false)
-    {
-        return $this->_getApp()->getWebsites($withDefault, $codeKey);
-    }
-
-    /**
-     * Retrieve application store group object
-     *
-     * @param null|\Magento\Core\Model\Store\Group|string $groupId
-     * @return \Magento\Core\Model\Store\Group
-     * @throws \Magento\Core\Exception
-     */
-    public function getGroup($groupId = null)
-    {
-        return $this->_getApp()->getGroup($groupId);
-    }
-
-    /**
-     * Retrieve application locale object
-     *
-     * @return \Magento\Core\Model\LocaleInterface
-     */
-    public function getLocale()
-    {
-        return $this->_getApp()->getLocale();
-    }
-
-    /**
-     * Retrieve layout object
-     *
-     * @return \Magento\Core\Model\Layout
-     */
-    public function getLayout()
-    {
-        return $this->_getApp()->getLayout();
-    }
-
-    /**
-     * Retrieve helper object
-     *
-     * @param string $name
-     * @return \Magento\Core\Helper\AbstractHelper
-     */
-    public function getHelper($name)
-    {
-        return $this->_getApp()->getHelper($name);
-    }
-
-    /**
-     * Retrieve application base currency code
-     *
-     * @return string
-     */
-    public function getBaseCurrencyCode()
-    {
-        return $this->_getApp()->getBaseCurrencyCode();
-    }
-
-    /**
-     * Retrieve configuration object
-     *
-     * @return \Magento\Core\Model\Config
-     */
-    public function getConfig()
-    {
-        return $this->_getApp()->getConfig();
-    }
-
-    /**
-     * Retrieve front controller object
-     *
-     * @return \Magento\Core\Controller\Varien\Front
-     */
-    public function getFrontController()
-    {
-        return $this->_getApp()->getFrontController();
-    }
-
-    /**
-     * Get core cache model
-     *
-     * @return \Magento\Core\Model\CacheInterface
-     */
-    public function getCacheInstance()
-    {
-        return $this->_getApp()->getCacheInstance();
-    }
-
-    /**
-     * Retrieve cache object
-     *
-     * @return \Zend_Cache_Core
-     */
-    public function getCache()
-    {
-        return $this->_getApp()->getCache();
-    }
-
-    /**
-     * Loading cache data
-     *
-     * @param   string $cacheId
-     * @return  mixed
-     */
-    public function loadCache($cacheId)
-    {
-        return $this->_getApp()->loadCache($cacheId);
-    }
-
-    /**
-     * Saving cache data
-     *
-     * @param mixed $data
-     * @param string $cacheId
-     * @param array $tags
-     * @param bool $lifeTime
-     * @return \Magento\Core\Model\AppInterface
-     */
-    public function saveCache($data, $cacheId, $tags = array(), $lifeTime = false)
-    {
-        return $this->_getApp()->saveCache($data, $cacheId, $tags, $lifeTime);
-    }
-
-    /**
-     * Remove cache
-     *
-     * @param   string $cacheId
-     * @return  \Magento\Core\Model\AppInterface
-     */
-    public function removeCache($cacheId)
-    {
-        return $this->_getApp()->removeCache($cacheId);
-    }
-
-    /**
-     * Cleaning cache
-     *
-     * @param   array $tags
-     * @return  \Magento\Core\Model\AppInterface
-     */
-    public function cleanCache($tags = array())
-    {
-        return $this->_getApp()->cleanCache($tags);
-    }
-
-    /**
-     * Deletes all session files
-     *
-     * @return \Magento\Core\Model\AppInterface
-     */
-    public function cleanAllSessions()
-    {
-        return $this->_getApp()->cleanAllSessions();
-    }
-
-    /**
-     * Retrieve request object
-     *
-     * @return \Magento\Core\Controller\Request\Http
-     */
-    public function getRequest()
-    {
-        return $this->_getApp()->getRequest();
-    }
-
-    /**
-     * Request setter
-     *
-     * @param \Magento\Core\Controller\Request\Http $request
-     * @return \Magento\Core\Model\AppInterface
-     */
-    public function setRequest(\Magento\Core\Controller\Request\Http $request)
-    {
-        return $this->_getApp()->setRequest($request);
-    }
-
-    /**
-     * Retrieve response object
-     *
-     * @return \Zend_Controller_Response_Http
-     */
-    public function getResponse()
-    {
-        return $this->_getApp()->getResponse();
-    }
-
-    /**
-     * Response setter
-     *
-     * @param \Magento\Core\Controller\Response\Http $response
-     * @return \Magento\Core\Model\AppInterface
-     */
-    public function setResponse(\Magento\Core\Controller\Response\Http $response)
-    {
-        return $this->_getApp()->setResponse($response);
-    }
-
-   /**
-     * @throws \Magento\Core\Model\Store\Exception
-     */
-    public function throwStoreException()
-    {
-        $this->_getApp()->throwStoreException();
-    }
-
-    /**
-     * Set use session var instead of SID for URL
-     *
-     * @param bool $var
-     * @return \Magento\Core\Model\AppInterface
-     */
-    public function setUseSessionVar($var)
-    {
-        return $this->_getApp()->setUseSessionVar($var);
-    }
-
-    /**
-     * Retrieve use flag session var instead of SID for URL
-     *
-     * @return bool
-     */
-    public function getUseSessionVar()
-    {
-        return $this->_getApp()->getUseSessionVar();
-    }
-
-    /**
-     * Get either default or any store view
-     *
-     * @return \Magento\Core\Model\Store
-     */
-    public function getAnyStoreView()
-    {
-        return $this->_getApp()->getAnyStoreView();
-    }
-
-    /**
-     * Set Use session in URL flag
-     *
-     * @param bool $flag
-     * @return \Magento\Core\Model\AppInterface
-     */
-    public function setUseSessionInUrl($flag = true)
-    {
-        return $this->_getApp()->setUseSessionInUrl($flag);
-    }
-
-    /**
-     * Retrieve use session in URL flag
-     *
-     * @return bool
-     */
-    public function getUseSessionInUrl()
-    {
-        return $this->_getApp()->getUseSessionInUrl();
-    }
-
-    /**
-     * Allow or disallow single store mode
-     *
-     * @param bool $value
-     */
-    public function setIsSingleStoreModeAllowed($value)
-    {
-        $this->_getApp()->setIsSingleStoreModeAllowed($value);
-    }
-
-    /**
-     * Prepare array of store groups
-     * can be filtered to contain default store group or not by $withDefault flag
-     * depending on flag $codeKey array keys can be group id or group code
-     *
-     * @param bool $withDefault
-     * @param bool $codeKey
-     * @return array
-     */
-    public function getGroups($withDefault = false, $codeKey = false)
-    {
-        return $this->_getApp()->getGroups($withDefault, $codeKey);
-    }
-
-    /**
-     *  Unset website by id from app cache
-     *
-     * @param null|bool|int|string|\Magento\Core\Model\Website $websiteId
-     */
-    public function clearWebsiteCache($websiteId = null)
-    {
-        $this->_getApp()->clearWebsiteCache($websiteId);
-    }
-
-    /**
-     * Check if developer mode is enabled.
-     *
-     * @return bool
-     */
-    public function isDeveloperMode()
-    {
-        return $this->_getApp()->isDeveloperMode();
-    }
-}
diff --git a/app/code/Magento/Core/Model/AppInterface.php b/app/code/Magento/Core/Model/AppInterface.php
index f1d0cfa30a6538dea206b1522718c560dfdd54f2..f0a690829be7035fb6ce4f39feb839ffee14ea88 100644
--- a/app/code/Magento/Core/Model/AppInterface.php
+++ b/app/code/Magento/Core/Model/AppInterface.php
@@ -55,13 +55,6 @@ interface AppInterface extends \Magento\Core\Model\StoreManagerInterface
      */
     const CONFIGURATION_DI_NODE = 'di';
 
-    /**
-     * Run application. Run process responsible for request processing and sending response.
-     *
-     * @return \Magento\Core\Model\AppInterface
-     */
-    public function run();
-
     /**
      * Throw an exception, if the application has not been installed yet
      *
@@ -126,7 +119,7 @@ interface AppInterface extends \Magento\Core\Model\StoreManagerInterface
     /**
      * Retrieve layout object
      *
-     * @return \Magento\Core\Model\Layout
+     * @return \Magento\View\LayoutInterface
      */
     public function getLayout();
 
@@ -147,7 +140,7 @@ interface AppInterface extends \Magento\Core\Model\StoreManagerInterface
     /**
      * Retrieve front controller object
      *
-     * @return \Magento\Core\Controller\Varien\Front
+     * @return \Magento\App\FrontController
      */
     public function getFrontController();
 
@@ -211,32 +204,32 @@ interface AppInterface extends \Magento\Core\Model\StoreManagerInterface
     /**
      * Retrieve request object
      *
-     * @return \Magento\Core\Controller\Request\Http
+     * @return \Magento\App\RequestInterface
      */
     public function getRequest();
 
     /**
      * Request setter
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return \Magento\Core\Model\AppInterface
      */
-    public function setRequest(\Magento\Core\Controller\Request\Http $request);
+    public function setRequest(\Magento\App\RequestInterface $request);
 
     /**
      * Retrieve response object
      *
-     * @return \Zend_Controller_Response_Http
+     * @return \Magento\App\ResponseInterface
      */
     public function getResponse();
 
     /**
      * Response setter
      *
-     * @param \Magento\Core\Controller\Response\Http $response
+     * @param \Magento\App\ResponseInterface $response
      * @return \Magento\Core\Model\AppInterface
      */
-    public function setResponse(\Magento\Core\Controller\Response\Http $response);
+    public function setResponse(\Magento\App\ResponseInterface $response);
 
     /**
      * Set use session var instead of SID for URL
diff --git a/app/code/Magento/Core/Model/Cache/Frontend/Factory.php b/app/code/Magento/Core/Model/Cache/Frontend/Factory.php
index 9e3e4c648fd4833d7f0e1c03f4b7f4d5be78cb20..0a1c04524fbf5dc9f5387a9eac38a5f3bdfc7cd8 100644
--- a/app/code/Magento/Core/Model/Cache/Frontend/Factory.php
+++ b/app/code/Magento/Core/Model/Cache/Frontend/Factory.php
@@ -47,7 +47,7 @@ class Factory
     private $_filesystem;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     private $_dirs;
 
@@ -97,7 +97,7 @@ class Factory
     /**
      * @param \Magento\ObjectManager $objectManager
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Core\Model\Resource $resource
      * @param array $enforcedOptions
      * @param array $decorators
@@ -105,7 +105,7 @@ class Factory
     public function __construct(
         \Magento\ObjectManager $objectManager,
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Core\Model\Resource $resource,
         array $enforcedOptions = array(),
         array $decorators = array()
@@ -130,21 +130,21 @@ class Factory
 
         foreach (array('backend_options', 'slow_backend_options') as $section) {
             if (!empty($options[$section]['cache_dir'])) {
-                $dir = $this->_dirs->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . $options[$section]['cache_dir'];
+                $dir = $this->_dirs->getDir(\Magento\App\Dir::VAR_DIR) . DS . $options[$section]['cache_dir'];
                 $this->_filesystem->setIsAllowCreateDirectories(true);
                 $this->_filesystem->ensureDirectoryExists($dir, 0777);
                 $options[$section]['cache_dir'] = $dir;
             }
         }
 
-        $this->_backendOptions['cache_dir'] = $this->_dirs->getDir(\Magento\Core\Model\Dir::CACHE);
+        $this->_backendOptions['cache_dir'] = $this->_dirs->getDir(\Magento\App\Dir::CACHE);
 
         $idPrefix = isset($options['id_prefix']) ? $options['id_prefix'] : '';
         if (!$idPrefix && isset($options['prefix'])) {
             $idPrefix = $options['prefix'];
         }
         if (empty($idPrefix)) {
-            $idPrefix = substr(md5($this->_dirs->getDir(\Magento\Core\Model\Dir::CONFIG)), 0, 3) . '_';
+            $idPrefix = substr(md5($this->_dirs->getDir(\Magento\App\Dir::CONFIG)), 0, 3) . '_';
         }
         $options['frontend_options']['cache_id_prefix'] = $idPrefix;
 
diff --git a/app/code/Magento/Core/Model/Cache/State.php b/app/code/Magento/Core/Model/Cache/State.php
index 2ef1d409549ecdf852cb8341b0657f8e40075b82..6827d417cea7d3ede196af3cb85b0bb73b802cd4 100644
--- a/app/code/Magento/Core/Model/Cache/State.php
+++ b/app/code/Magento/Core/Model/Cache/State.php
@@ -56,13 +56,13 @@ class State implements \Magento\Core\Model\Cache\StateInterface
     /**
      * @param \Magento\Core\Model\Resource\Cache $resource
      * @param \Magento\Core\Model\Cache\Frontend\Pool $cacheFrontendPool
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param bool $banAll Whether all cache types are forced to be disabled
      */
     public function __construct(
         \Magento\Core\Model\Resource\Cache $resource,
         \Magento\Core\Model\Cache\Frontend\Pool $cacheFrontendPool,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         $banAll = false
     ) {
         $this->_resource = $resource;
diff --git a/app/code/Magento/Core/Model/Config.php b/app/code/Magento/Core/Model/Config.php
index 9b3041ed688e77e5fe7d0e2049ffe59d101532b5..f5301f8c036304dc160e09bf39c8be66659e3ded 100644
--- a/app/code/Magento/Core/Model/Config.php
+++ b/app/code/Magento/Core/Model/Config.php
@@ -61,20 +61,6 @@ class Config implements \Magento\Core\Model\ConfigInterface
      */
     protected $_secureUrlCache = array();
 
-    /**
-     * Active modules array per namespace
-     *
-     * @var array
-     */
-    private $_moduleNamespaces = null;
-
-    /**
-     * Areas allowed to use
-     *
-     * @var array
-     */
-    protected $_allowedAreas = null;
-
     /**
      * Object manager
      *
@@ -109,7 +95,7 @@ class Config implements \Magento\Core\Model\ConfigInterface
     protected $_configScope;
 
     /**
-     * @var \Magento\Core\Model\ModuleListInterface
+     * @var \Magento\App\ModuleListInterface
      */
     protected $_moduleList;
 
@@ -127,19 +113,17 @@ class Config implements \Magento\Core\Model\ConfigInterface
      * @param \Magento\Core\Model\ObjectManager           $objectManager
      * @param \Magento\Core\Model\Config\StorageInterface $storage
      * @param \Magento\Core\Model\Config\Modules\Reader   $moduleReader
-     * @param \Magento\Core\Model\ModuleListInterface     $moduleList
+     * @param \Magento\App\ModuleListInterface     $moduleList
      * @param \Magento\Config\ScopeInterface              $configScope
      * @param \Magento\Core\Model\Config\SectionPool      $sectionPool
-     * @param array                                      $areas
      */
     public function __construct(
         \Magento\Core\Model\ObjectManager $objectManager,
         \Magento\Core\Model\Config\StorageInterface $storage,
         \Magento\Core\Model\Config\Modules\Reader $moduleReader,
-        \Magento\Core\Model\ModuleListInterface $moduleList,
+        \Magento\App\ModuleListInterface $moduleList,
         \Magento\Config\ScopeInterface $configScope,
-        \Magento\Core\Model\Config\SectionPool $sectionPool,
-        array $areas = array()
+        \Magento\Core\Model\Config\SectionPool $sectionPool
     ) {
         \Magento\Profiler::start('config_load');
         $this->_objectManager = $objectManager;
@@ -149,7 +133,6 @@ class Config implements \Magento\Core\Model\ConfigInterface
         $this->_moduleList = $moduleList;
         $this->_configScope = $configScope;
         $this->_sectionPool = $sectionPool;
-        $this->_allowedAreas = $areas;
         \Magento\Profiler::stop('config_load');
     }
 
@@ -213,23 +196,6 @@ class Config implements \Magento\Core\Model\ConfigInterface
         return $this->_allowedAreas;
     }
 
-    /**
-     * Retrieve area config by area code
-     *
-     * @param string|null $areaCode
-     * @throws \InvalidArgumentException
-     * @return array
-     */
-    public function getAreaConfig($areaCode = null)
-    {
-        $areaCode = empty($areaCode) ? $this->_configScope->getCurrentScope() : $areaCode;
-        $areas = $this->getAreas();
-        if (!isset($areas[$areaCode])) {
-            throw new \InvalidArgumentException('Requested area (' . $areaCode . ') does not exist');
-        }
-        return $areas[$areaCode];
-    }
-
     /**
      * Identify front name of the requested area. Return current area front name if area code is not specified.
      *
@@ -262,20 +228,6 @@ class Config implements \Magento\Core\Model\ConfigInterface
         return $this->_moduleReader->getModuleDir($type, $moduleName);
     }
 
-    /**
-     * Set path to the corresponding module directory
-     *
-     * @param string $moduleName
-     * @param string $type directory type (etc, controllers, locale etc)
-     * @param string $path
-     * @return \Magento\Core\Model\Config
-     */
-    public function setModuleDir($moduleName, $type, $path)
-    {
-        $this->_moduleReader->setModuleDir($moduleName, $type, $path);
-        return $this;
-    }
-
     /**
      * Retrieve store Ids for $path with checking
      *
diff --git a/app/code/Magento/Core/Model/Config/FileResolver.php b/app/code/Magento/Core/Model/Config/FileResolver.php
index f1c50b237c9407f3e86660c5acd30f791af0913e..21b798400f58f43ea58a98a3bc94e3477157cebe 100644
--- a/app/code/Magento/Core/Model/Config/FileResolver.php
+++ b/app/code/Magento/Core/Model/Config/FileResolver.php
@@ -35,17 +35,17 @@ class FileResolver implements \Magento\Config\FileResolverInterface
     protected $_moduleReader;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_applicationDirs;
 
     /**
      * @param \Magento\Core\Model\Config\Modules\Reader $moduleReader
-     * @param \Magento\Core\Model\Dir $applicationDirs
+     * @param \Magento\App\Dir $applicationDirs
      */
     public function __construct(
         \Magento\Core\Model\Config\Modules\Reader $moduleReader,
-        \Magento\Core\Model\Dir $applicationDirs
+        \Magento\App\Dir $applicationDirs
     ) {
         $this->_moduleReader = $moduleReader;
         $this->_applicationDirs = $applicationDirs;
@@ -58,7 +58,7 @@ class FileResolver implements \Magento\Config\FileResolverInterface
     {
         switch ($scope) {
             case 'primary':
-                $appConfigDir = $this->_applicationDirs->getDir(\Magento\Core\Model\Dir::CONFIG);
+                $appConfigDir = $this->_applicationDirs->getDir(\Magento\App\Dir::CONFIG);
                 // Create pattern similar to app/etc/{*config.xml,*/*config.xml}
                 $filePattern = $appConfigDir . DIRECTORY_SEPARATOR
                     . '{*' . $filename . ',*' . DIRECTORY_SEPARATOR . '*' . $filename . '}';
diff --git a/app/code/Magento/Core/Model/Config/FileResolver/Primary.php b/app/code/Magento/Core/Model/Config/FileResolver/Primary.php
index 0e95f804cc19e220a8dea7a539ec6ea3333ad4cd..b84b42fb2edf6975e3c832aa9c84077f166cff52 100644
--- a/app/code/Magento/Core/Model/Config/FileResolver/Primary.php
+++ b/app/code/Magento/Core/Model/Config/FileResolver/Primary.php
@@ -31,14 +31,14 @@ namespace Magento\Core\Model\Config\FileResolver;
 class Primary implements \Magento\Config\FileResolverInterface
 {
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_applicationDirs;
 
     /**
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      */
-    public function __construct(\Magento\Core\Model\Dir $dirs)
+    public function __construct(\Magento\App\Dir $dirs)
     {
         $this->_applicationDirs = $dirs;
     }
@@ -53,7 +53,7 @@ class Primary implements \Magento\Config\FileResolverInterface
      */
     public function get($filename, $scope)
     {
-        $configDir = $this->_applicationDirs->getDir(\Magento\Core\Model\Dir::CONFIG);
+        $configDir = $this->_applicationDirs->getDir(\Magento\App\Dir::CONFIG);
         $fileList = glob($configDir . DIRECTORY_SEPARATOR . '*' . DIRECTORY_SEPARATOR . $filename);
 
         if (file_exists($configDir . DIRECTORY_SEPARATOR . $filename)) {
diff --git a/app/code/Magento/Core/Model/Config/Modules/Reader.php b/app/code/Magento/Core/Model/Config/Modules/Reader.php
index f532af219e7f6513734852cd3824b2fdedab0e0b..494bc763bbfdfe3cd7c5902339f669448bdea7b5 100644
--- a/app/code/Magento/Core/Model/Config/Modules/Reader.php
+++ b/app/code/Magento/Core/Model/Config/Modules/Reader.php
@@ -37,14 +37,14 @@ class Reader
     /**
      * Directory registry
      *
-     * @var \Magento\Core\Model\Module\Dir
+     * @var \Magento\App\Module\Dir
      */
     protected $_moduleDirs;
 
     /**
      * Modules configuration provider
      *
-     * @var \Magento\Core\Model\ModuleListInterface
+     * @var \Magento\App\ModuleListInterface
      */
     protected $_modulesList;
 
@@ -56,14 +56,14 @@ class Reader
     protected $_prototypeFactory;
 
     /**
-     * @param \Magento\Core\Model\Module\Dir $moduleDirs
+     * @param \Magento\App\Module\Dir $moduleDirs
      * @param \Magento\Core\Model\Config\BaseFactory $prototypeFactory
-     * @param \Magento\Core\Model\ModuleListInterface $moduleList
+     * @param \Magento\App\ModuleListInterface $moduleList
      */
     public function __construct(
-        \Magento\Core\Model\Module\Dir $moduleDirs,
+        \Magento\App\Module\Dir $moduleDirs,
         \Magento\Core\Model\Config\BaseFactory $prototypeFactory,
-        \Magento\Core\Model\ModuleListInterface $moduleList
+        \Magento\App\ModuleListInterface $moduleList
     ) {
         $this->_moduleDirs = $moduleDirs;
         $this->_prototypeFactory = $prototypeFactory;
diff --git a/app/code/Magento/Core/Model/Config/Primary.php b/app/code/Magento/Core/Model/Config/Primary.php
index 76b871e99cda6caab528c691085bc140055fa4a5..731419ba6811ab212c6a1716e87c27e481245844 100644
--- a/app/code/Magento/Core/Model/Config/Primary.php
+++ b/app/code/Magento/Core/Model/Config/Primary.php
@@ -42,35 +42,35 @@ class Primary extends \Magento\Core\Model\Config\Base
     /**
      * Directory list
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
     /**
      * @param string $baseDir
      * @param array $params
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\Config\LoaderInterface $loader
      */
     public function __construct(
         $baseDir,
         array $params,
-        \Magento\Core\Model\Dir $dir = null,
+        \Magento\App\Dir $dir = null,
         \Magento\Core\Model\Config\LoaderInterface $loader = null
     ) {
         parent::__construct('<config/>');
         $this->_params = $params;
-        $this->_dir = $dir ?: new \Magento\Core\Model\Dir(
+        $this->_dir = $dir ?: new \Magento\App\Dir(
             $baseDir,
             $this->getParam(\Magento\Core\Model\App::PARAM_APP_URIS, array()),
             $this->getParam(\Magento\Core\Model\App::PARAM_APP_DIRS, array())
         );
         \Magento\Autoload\IncludePath::addIncludePath(array(
-            $this->_dir->getDir(\Magento\Core\Model\Dir::GENERATION)
+            $this->_dir->getDir(\Magento\App\Dir::GENERATION)
         ));
 
         $this->_loader = $loader ?: new \Magento\Core\Model\Config\Loader\Primary(
-            $this->_dir->getDir(\Magento\Core\Model\Dir::CONFIG)
+            $this->_dir->getDir(\Magento\App\Dir::CONFIG)
         );
         $this->_loader->load($this);
     }
@@ -100,7 +100,7 @@ class Primary extends \Magento\Core\Model\Config\Base
     /**
      * Retrieve directories
      *
-     * @return \Magento\Core\Model\Dir
+     * @return \Magento\App\Dir
      */
     public function getDirectories()
     {
@@ -127,9 +127,9 @@ class Primary extends \Magento\Core\Model\Config\Base
         if (isset($pathInfo['path'])) {
             return $pathInfo['path'];
         } else if (isset($pathInfo['relativePath'])) {
-            return $this->_dir->getDir(\Magento\Core\Model\Dir::ROOT) . DIRECTORY_SEPARATOR . $pathInfo['relativePath'];
+            return $this->_dir->getDir(\Magento\App\Dir::ROOT) . DIRECTORY_SEPARATOR . $pathInfo['relativePath'];
         } else {
-            return $this->_dir->getDir(\Magento\Core\Model\Dir::DI);
+            return $this->_dir->getDir(\Magento\App\Dir::DI);
         }
     }
 
@@ -155,7 +155,7 @@ class Primary extends \Magento\Core\Model\Config\Base
         $objectManager->configure(array(
             'Magento\Core\Model\Config\Loader\Local' => array(
                 'parameters' => array(
-                    'configDirectory' => $this->_dir->getDir(\Magento\Core\Model\Dir::CONFIG),
+                    'configDirectory' => $this->_dir->getDir(\Magento\App\Dir::CONFIG),
                 )
             ),
             'Magento\Core\Model\Cache\Frontend\Factory' => array(
diff --git a/app/code/Magento/Core/Model/Config/Resource.php b/app/code/Magento/Core/Model/Config/Resource.php
index 3cc04e5fe67f188a94012084cb79b7f8f7723638..e6fbae397cd17f615f89d82039b273ddfadd6028 100644
--- a/app/code/Magento/Core/Model/Config/Resource.php
+++ b/app/code/Magento/Core/Model/Config/Resource.php
@@ -30,6 +30,13 @@ class Resource extends \Magento\Config\Data\Scoped
 {
     const DEFAULT_SETUP_CONNECTION = 'default';
 
+    /**
+     * List of connection names per resource
+     *
+     * @var array
+     */
+    protected $_connectionNames = array();
+
     /**
      * @param \Magento\Core\Model\Resource\Config\Reader $reader
      * @param \Magento\Config\ScopeInterface $configScope
diff --git a/app/code/Magento/Core/Model/Config/Section/Processor/Placeholder.php b/app/code/Magento/Core/Model/Config/Section/Processor/Placeholder.php
index 8060d4ce366cb8e569d206a498028891048e860e..b03e148880f8b50207866066af9c01a78942aebe 100644
--- a/app/code/Magento/Core/Model/Config/Section/Processor/Placeholder.php
+++ b/app/code/Magento/Core/Model/Config/Section/Processor/Placeholder.php
@@ -28,14 +28,14 @@ namespace Magento\Core\Model\Config\Section\Processor;
 class Placeholder
 {
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
     /**
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      */
-    public function __construct(\Magento\Core\Controller\Request\Http $request)
+    public function __construct(\Magento\App\RequestInterface $request)
     {
         $this->_request = $request;
     }
diff --git a/app/code/Magento/Core/Model/Config/Section/Reader/DefaultReader.php b/app/code/Magento/Core/Model/Config/Section/Reader/DefaultReader.php
index dffce7edd8f2e438ca68a93cee9955f364b34053..4a8961cac0f70923d254b288fadc64e3e760d12a 100644
--- a/app/code/Magento/Core/Model/Config/Section/Reader/DefaultReader.php
+++ b/app/code/Magento/Core/Model/Config/Section/Reader/DefaultReader.php
@@ -43,7 +43,7 @@ class DefaultReader
     protected $_collectionFactory;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -51,13 +51,13 @@ class DefaultReader
      * @param \Magento\Core\Model\Config\Initial $initialConfig
      * @param \Magento\Core\Model\Config\Section\Converter $converter
      * @param \Magento\Core\Model\Resource\Config\Value\Collection\ScopedFactory $collectionFactory
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      */
     public function __construct(
         \Magento\Core\Model\Config\Initial $initialConfig,
         \Magento\Core\Model\Config\Section\Converter $converter,
         \Magento\Core\Model\Resource\Config\Value\Collection\ScopedFactory $collectionFactory,
-        \Magento\Core\Model\App\State $appState
+        \Magento\App\State $appState
     ) {
         $this->_initialConfig = $initialConfig;
         $this->_converter = $converter;
diff --git a/app/code/Magento/Core/Model/Config/Section/Reader/Store.php b/app/code/Magento/Core/Model/Config/Section/Reader/Store.php
index c8cb7551283dedd73ac590d2522dfe839456bdf5..23091df8940481816bb16739ee2f393815ab6677 100644
--- a/app/code/Magento/Core/Model/Config/Section/Reader/Store.php
+++ b/app/code/Magento/Core/Model/Config/Section/Reader/Store.php
@@ -51,7 +51,7 @@ class Store
     protected $_storeFactory;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -61,7 +61,7 @@ class Store
      * @param \Magento\Core\Model\Config\Section\Store\Converter $converter
      * @param \Magento\Core\Model\Resource\Config\Value\Collection\ScopedFactory $collectionFactory
      * @param \Magento\Core\Model\StoreFactory $storeFactory
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      */
     public function __construct(
         \Magento\Core\Model\Config\Initial $initialConfig,
@@ -69,7 +69,7 @@ class Store
         \Magento\Core\Model\Config\Section\Store\Converter $converter,
         \Magento\Core\Model\Resource\Config\Value\Collection\ScopedFactory $collectionFactory,
         \Magento\Core\Model\StoreFactory $storeFactory,
-        \Magento\Core\Model\App\State $appState
+        \Magento\App\State $appState
     ) {
         $this->_initialConfig = $initialConfig;
         $this->_sectionPool = $sectionPool;
diff --git a/app/code/Magento/Core/Model/Config/Section/Reader/Website.php b/app/code/Magento/Core/Model/Config/Section/Reader/Website.php
index 3680d3387d0efa248d99b920e57401dc2f51f713..e7553c068dcd011a588a9bd21d7eac8fff1f934a 100644
--- a/app/code/Magento/Core/Model/Config/Section/Reader/Website.php
+++ b/app/code/Magento/Core/Model/Config/Section/Reader/Website.php
@@ -51,7 +51,7 @@ class Website
     protected $_websiteFactory;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -61,7 +61,7 @@ class Website
      * @param \Magento\Core\Model\Config\Section\Converter $converter
      * @param \Magento\Core\Model\Resource\Config\Value\Collection\ScopedFactory $collectionFactory
      * @param \Magento\Core\Model\WebsiteFactory $websiteFactory
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      */
     public function __construct(
         \Magento\Core\Model\Config\Initial $initialConfig,
@@ -69,7 +69,7 @@ class Website
         \Magento\Core\Model\Config\Section\Converter $converter,
         \Magento\Core\Model\Resource\Config\Value\Collection\ScopedFactory $collectionFactory,
         \Magento\Core\Model\WebsiteFactory $websiteFactory,
-        \Magento\Core\Model\App\State $appState
+        \Magento\App\State $appState
     ) {
         $this->_initialConfig = $initialConfig;
         $this->_sectionPool = $sectionPool;
diff --git a/app/code/Magento/Core/Model/Config/ValidationState.php b/app/code/Magento/Core/Model/Config/ValidationState.php
index 520082edca07cf9d39b5f863369470f0fb52ad26..ecd1e612ef081f91e9fce9b4e09b7d18bed55797 100644
--- a/app/code/Magento/Core/Model/Config/ValidationState.php
+++ b/app/code/Magento/Core/Model/Config/ValidationState.php
@@ -47,6 +47,6 @@ class ValidationState implements \Magento\Config\ValidationStateInterface
      */
     public function isValidated()
     {
-        return $this->_appMode == \Magento\Core\Model\App\State::MODE_DEVELOPER;
+        return $this->_appMode == \Magento\App\State::MODE_DEVELOPER;
     }
 }
diff --git a/app/code/Magento/Core/Model/Context.php b/app/code/Magento/Core/Model/Context.php
index 0e63672655daa62579dbcb053eca46a21c9951ba..7fd80fdfd48000fc883eb55caf38a06369bf6ab6 100644
--- a/app/code/Magento/Core/Model/Context.php
+++ b/app/code/Magento/Core/Model/Context.php
@@ -28,7 +28,7 @@ namespace Magento\Core\Model;
 class Context implements \Magento\ObjectManager\ContextInterface
 {
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventDispatcher;
 
@@ -44,21 +44,21 @@ class Context implements \Magento\ObjectManager\ContextInterface
 
     /**
      * @param \Magento\Core\Model\Logger $logger
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
     /**
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Event\Manager $eventDispatcher
+     * @param \Magento\Event\ManagerInterface $eventDispatcher
      * @param \Magento\Core\Model\CacheInterface $cacheManager
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Event\Manager $eventDispatcher,
+        \Magento\Event\ManagerInterface $eventDispatcher,
         \Magento\Core\Model\CacheInterface $cacheManager,
-        \Magento\Core\Model\App\State $appState
+        \Magento\App\State $appState
     ) {
         $this->_eventDispatcher = $eventDispatcher;
         $this->_cacheManager = $cacheManager;
@@ -75,7 +75,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\Event\Manager
+     * @return \Magento\Event\ManagerInterface
      */
     public function getEventDispatcher()
     {
@@ -91,7 +91,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\App\State
+     * @return \Magento\App\State
      */
     public function getAppState()
     {
diff --git a/app/code/Magento/Core/Model/Cookie.php b/app/code/Magento/Core/Model/Cookie.php
index 7ea96ff9662fdf856edbdfabaa6db41c14d91d90..b7a2ec5e4eacbe1fb1fa37e953ff2ff0867ea4a1 100644
--- a/app/code/Magento/Core/Model/Cookie.php
+++ b/app/code/Magento/Core/Model/Cookie.php
@@ -56,12 +56,12 @@ class Cookie
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_httpRequest;
 
     /**
-     * @var \Magento\Core\Controller\Response\Http
+     * @var \Magento\App\ResponseInterface
      */
     protected $_httpResponse;
 
@@ -73,19 +73,19 @@ class Cookie
     protected $_coreStoreConfig;
 
     /**
-     * @param \Magento\Core\Controller\Request\Http $httpRequest
-     * @param \Magento\Core\Controller\Response\Http $httpResponse
-     * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\StoreManager $storeManager
+     * @param \Magento\App\RequestInterface $request
+     * @param \Magento\App\ResponseInterface $response
+     * @param Store\Config $coreStoreConfig
+     * @param StoreManager $storeManager
      */
     public function __construct(
-        \Magento\Core\Controller\Request\Http $httpRequest,
-        \Magento\Core\Controller\Response\Http $httpResponse,
+        \Magento\App\RequestInterface $request,
+        \Magento\App\ResponseInterface $response,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManager $storeManager
     ) {
-        $this->_httpRequest = $httpRequest;
-        $this->_httpResponse = $httpResponse;
+        $this->_httpRequest = $request;
+        $this->_httpResponse = $response;
         $this->_coreStoreConfig = $coreStoreConfig;
         $this->_storeManager = $storeManager;
     }
@@ -118,7 +118,7 @@ class Cookie
     /**
      * Retrieve Request object
      *
-     * @return \Magento\Core\Controller\Request\Http
+     * @return \Magento\App\RequestInterface
      */
     protected function _getRequest()
     {
@@ -128,7 +128,7 @@ class Cookie
     /**
      * Retrieve Response object
      *
-     * @return \Magento\Core\Controller\Response\Http
+     * @return \Magento\App\ResponseInterface
      */
     protected function _getResponse()
     {
diff --git a/app/code/Magento/Core/Model/DataService/Path/Request.php b/app/code/Magento/Core/Model/DataService/Path/Request.php
index d24c2d6d1351055343ec4b3b5090d1161a142adc..80440e34fb4e848f0d49a82f31132dcc5a60d195 100644
--- a/app/code/Magento/Core/Model/DataService/Path/Request.php
+++ b/app/code/Magento/Core/Model/DataService/Path/Request.php
@@ -1,9 +1,9 @@
 <?php
 /**
- * Wrapper around \Magento\Core\Controller\Request\Http for the Navigator class.
+ * Wrapper around \Magento\App\Request\Http for the Navigator class.
  *
- * HTTP Requests need to be exposed as data services for the front end (twig) to be able to access the
- * request data. This class acts as a wrapper around the \Magento\Core\Controller\Request\Http object so
+ * HTTP Requests need to be exposed as data services for the front end to be able to access the
+ * request data. This class acts as a wrapper around the \Magento\App\Request\Http object so
  * that the data can be searched for and extracted via the Navigator class.
  *
  * Magento
@@ -32,14 +32,14 @@ namespace Magento\Core\Model\DataService\Path;
 class Request implements \Magento\Core\Model\DataService\Path\NodeInterface
 {
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
     /**
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      */
-    public function __construct(\Magento\Core\Controller\Request\Http $request)
+    public function __construct(\Magento\App\RequestInterface $request)
     {
         $this->_request = $request;
     }
diff --git a/app/code/Magento/Core/Model/Design.php b/app/code/Magento/Core/Model/Design.php
index 932a8b07617a5b8b71bd5b5ca95f6c02d77e0bba..3f6695993aa4777358fdb214f9f3453b192f7656 100644
--- a/app/code/Magento/Core/Model/Design.php
+++ b/app/code/Magento/Core/Model/Design.php
@@ -136,10 +136,10 @@ class Design extends \Magento\Core\Model\AbstractModel
     /**
      * Apply design change from self data into specified design package instance
      *
-     * @param \Magento\Core\Model\View\DesignInterface $packageInto
+     * @param \Magento\View\DesignInterface $packageInto
      * @return \Magento\Core\Model\Design
      */
-    public function changeDesign(\Magento\Core\Model\View\DesignInterface $packageInto)
+    public function changeDesign(\Magento\View\DesignInterface $packageInto)
     {
         $design = $this->getDesign();
         if ($design) {
diff --git a/app/code/Magento/Core/Model/Design/Backend/Exceptions.php b/app/code/Magento/Core/Model/Design/Backend/Exceptions.php
index e8627feb25772d4efd7f4b4bf409735317025d59..b6b02d75145e9630e8c3fe478e425ca003da860a 100644
--- a/app/code/Magento/Core/Model/Design/Backend/Exceptions.php
+++ b/app/code/Magento/Core/Model/Design/Backend/Exceptions.php
@@ -31,12 +31,12 @@ class Exceptions extends \Magento\Backend\Model\Config\Backend\Serialized\ArrayS
     /**
      * Design package instance
      *
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_design = null;
 
     /**
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\StoreManager $storeManager
@@ -46,7 +46,7 @@ class Exceptions extends \Magento\Backend\Model\Config\Backend\Serialized\ArrayS
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\StoreManager $storeManager,
diff --git a/app/code/Magento/Core/Model/Design/Backend/Theme.php b/app/code/Magento/Core/Model/Design/Backend/Theme.php
index f9ee0af063e79695f9a4c1f91b050c8951561132..679e4a723c0d0278b05862d08197cc9ca00ca197 100644
--- a/app/code/Magento/Core/Model/Design/Backend/Theme.php
+++ b/app/code/Magento/Core/Model/Design/Backend/Theme.php
@@ -31,12 +31,12 @@ class Theme extends \Magento\Core\Model\Config\Value
     /**
      * Design package instance
      *
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_design = null;
 
     /**
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\StoreManager $storeManager
@@ -46,7 +46,7 @@ class Theme extends \Magento\Core\Model\Config\Value
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\StoreManager $storeManager,
diff --git a/app/code/Magento/Core/Model/Design/Fallback/Factory.php b/app/code/Magento/Core/Model/Design/Fallback/Factory.php
index 900d9e37c190e94429470026f2e77c66b1a4f2d1..684b41d6ddf783706ce63d9942f13923962375c0 100644
--- a/app/code/Magento/Core/Model/Design/Fallback/Factory.php
+++ b/app/code/Magento/Core/Model/Design/Fallback/Factory.php
@@ -30,16 +30,16 @@ namespace Magento\Core\Model\Design\Fallback;
 class Factory
 {
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     private $_dirs;
 
     /**
      * Constructor
      *
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      */
-    public function __construct(\Magento\Core\Model\Dir $dirs)
+    public function __construct(\Magento\App\Dir $dirs)
     {
         $this->_dirs = $dirs;
     }
@@ -51,7 +51,7 @@ class Factory
      */
     public function createLocaleFileRule()
     {
-        $themesDir = $this->_dirs->getDir(\Magento\Core\Model\Dir::THEMES);
+        $themesDir = $this->_dirs->getDir(\Magento\App\Dir::THEMES);
         return new \Magento\Core\Model\Design\Fallback\Rule\Theme(
             new \Magento\Core\Model\Design\Fallback\Rule\Simple("$themesDir/<area>/<theme_path>/i18n/<locale>")
         );
@@ -64,8 +64,8 @@ class Factory
      */
     public function createFileRule()
     {
-        $themesDir = $this->_dirs->getDir(\Magento\Core\Model\Dir::THEMES);
-        $modulesDir = $this->_dirs->getDir(\Magento\Core\Model\Dir::MODULES);
+        $themesDir = $this->_dirs->getDir(\Magento\App\Dir::THEMES);
+        $modulesDir = $this->_dirs->getDir(\Magento\App\Dir::MODULES);
         return new \Magento\Core\Model\Design\Fallback\Rule\ModularSwitch(
             new \Magento\Core\Model\Design\Fallback\Rule\Theme(
                 new \Magento\Core\Model\Design\Fallback\Rule\Simple(
@@ -92,9 +92,9 @@ class Factory
      */
     public function createViewFileRule()
     {
-        $themesDir = $this->_dirs->getDir(\Magento\Core\Model\Dir::THEMES);
-        $modulesDir = $this->_dirs->getDir(\Magento\Core\Model\Dir::MODULES);
-        $pubLibDir = $this->_dirs->getDir(\Magento\Core\Model\Dir::PUB_LIB);
+        $themesDir = $this->_dirs->getDir(\Magento\App\Dir::THEMES);
+        $modulesDir = $this->_dirs->getDir(\Magento\App\Dir::MODULES);
+        $pubLibDir = $this->_dirs->getDir(\Magento\App\Dir::PUB_LIB);
         return new \Magento\Core\Model\Design\Fallback\Rule\ModularSwitch(
             new \Magento\Core\Model\Design\Fallback\Rule\Composite(array(
                 new \Magento\Core\Model\Design\Fallback\Rule\Theme(
diff --git a/app/code/Magento/Core/Model/Design/Fallback/Rule/Theme.php b/app/code/Magento/Core/Model/Design/Fallback/Rule/Theme.php
index a64797d435bc6afa0a2f6bea03c87d4cf9d7991b..f6ee233caee8dea2008a9304606a508081b2a4bf 100644
--- a/app/code/Magento/Core/Model/Design/Fallback/Rule/Theme.php
+++ b/app/code/Magento/Core/Model/Design/Fallback/Rule/Theme.php
@@ -52,13 +52,13 @@ class Theme implements \Magento\Core\Model\Design\Fallback\Rule\RuleInterface
      */
     public function getPatternDirs(array $params)
     {
-        if (!array_key_exists('theme', $params) || !($params['theme'] instanceof \Magento\Core\Model\ThemeInterface)) {
+        if (!array_key_exists('theme', $params) || !($params['theme'] instanceof \Magento\View\Design\ThemeInterface)) {
             throw new \InvalidArgumentException(
                 'Parameter "theme" should be specified and should implement the theme interface.'
             );
         }
         $result = array();
-        /** @var $theme \Magento\Core\Model\ThemeInterface */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         $theme = $params['theme'];
         unset($params['theme']);
         while ($theme) {
diff --git a/app/code/Magento/Core/Model/Design/FileResolution/Strategy/Fallback.php b/app/code/Magento/Core/Model/Design/FileResolution/Strategy/Fallback.php
index 0d6342fed0e827757dbbb103c7d0268c8d044f8d..e9eff08dfb56dafbb8e90718ab46856caee108ef 100644
--- a/app/code/Magento/Core/Model/Design/FileResolution/Strategy/Fallback.php
+++ b/app/code/Magento/Core/Model/Design/FileResolution/Strategy/Fallback.php
@@ -72,12 +72,12 @@ class Fallback
      * Get existing file name, using fallback mechanism
      *
      * @param string $area
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @param string $file
      * @param string|null $module
      * @return string
      */
-    public function getFile($area, \Magento\Core\Model\Theme $themeModel, $file, $module = null)
+    public function getFile($area, \Magento\View\Design\ThemeInterface $themeModel, $file, $module = null)
     {
         $params = array('area' => $area, 'theme' => $themeModel, 'namespace' => null, 'module' => null);
         if ($module) {
@@ -90,12 +90,12 @@ class Fallback
      * Get locale file name, using fallback mechanism
      *
      * @param string $area
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @param string $locale
      * @param string $file
      * @return string
      */
-    public function getLocaleFile($area, \Magento\Core\Model\Theme $themeModel, $locale, $file)
+    public function getLocaleFile($area, \Magento\View\Design\ThemeInterface $themeModel, $locale, $file)
     {
         $params = array('area' => $area, 'theme' => $themeModel, 'locale' => $locale);
         return $this->_resolveFile($this->_getLocaleFileRule(), $file, $params);
@@ -105,13 +105,13 @@ class Fallback
      * Get theme file name, using fallback mechanism
      *
      * @param string $area
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @param string $locale
      * @param string $file
      * @param string|null $module
      * @return string
      */
-    public function getViewFile($area, \Magento\Core\Model\Theme $themeModel, $locale, $file, $module = null)
+    public function getViewFile($area, \Magento\View\Design\ThemeInterface $themeModel, $locale, $file, $module = null)
     {
         $params = array(
             'area' => $area, 'theme' => $themeModel, 'locale' => $locale, 'namespace' => null, 'module' => null
diff --git a/app/code/Magento/Core/Model/Design/FileResolution/Strategy/Fallback/CachingProxy.php b/app/code/Magento/Core/Model/Design/FileResolution/Strategy/Fallback/CachingProxy.php
index dc14008ca668ed8681da855b87f936e8d90c782d..f46081438d636f2a716563e0dbcc3fb89c4c1892 100644
--- a/app/code/Magento/Core/Model/Design/FileResolution/Strategy/Fallback/CachingProxy.php
+++ b/app/code/Magento/Core/Model/Design/FileResolution/Strategy/Fallback/CachingProxy.php
@@ -125,12 +125,12 @@ class CachingProxy implements
      * Proxy to \Magento\Core\Model\Design\FileResolution\Strategy\Fallback::getFile()
      *
      * @param string $area
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @param string $file
      * @param string|null $module
      * @return string
      */
-    public function getFile($area, \Magento\Core\Model\Theme $themeModel, $file, $module = null)
+    public function getFile($area, \Magento\View\Design\ThemeInterface $themeModel, $file, $module = null)
     {
         $result = $this->_getFromMap('file', $area, $themeModel, null, $module, $file);
         if (!$result) {
@@ -144,12 +144,12 @@ class CachingProxy implements
      * Proxy to \Magento\Core\Model\Design\FileResolution\Strategy\Fallback::getLocaleFile()
      *
      * @param string $area
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @param string $locale
      * @param string $file
      * @return string
      */
-    public function getLocaleFile($area, \Magento\Core\Model\Theme $themeModel, $locale, $file)
+    public function getLocaleFile($area, \Magento\View\Design\ThemeInterface $themeModel, $locale, $file)
     {
         $result = $this->_getFromMap('locale', $area, $themeModel, $locale, null, $file);
         if (!$result) {
@@ -163,13 +163,13 @@ class CachingProxy implements
      * Proxy to \Magento\Core\Model\Design\FileResolution\Strategy\Fallback::getViewFile()
      *
      * @param string $area
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @param string $locale
      * @param string $file
      * @param string|null $module
      * @return string
      */
-    public function getViewFile($area, \Magento\Core\Model\Theme $themeModel, $locale, $file, $module = null)
+    public function getViewFile($area, \Magento\View\Design\ThemeInterface $themeModel, $locale, $file, $module = null)
     {
         $result = $this->_getFromMap('view', $area, $themeModel, $locale, $module, $file);
         if (!$result) {
@@ -184,14 +184,15 @@ class CachingProxy implements
      *
      * @param string $fileType
      * @param string $area
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @param string|null $locale
      * @param string|null $module
      * @param string $file
      * @return null|string
      */
-    protected function _getFromMap($fileType, $area, \Magento\Core\Model\Theme $theme, $locale, $module, $file)
-    {
+    protected function _getFromMap(
+        $fileType, $area, \Magento\View\Design\ThemeInterface $theme, $locale, $module, $file
+    ) {
         $sectionKey = $this->_loadSection($area, $theme, $locale);
         $fileKey = "$fileType|$file|$module";
         if (isset($this->_sections[$sectionKey]['data'][$fileKey])) {
@@ -209,15 +210,16 @@ class CachingProxy implements
      *
      * @param string $fileType
      * @param string $area
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @param string|null $locale
      * @param string|null $module
      * @param string $file
      * @param string $filePath
      * @throws \Magento\Exception
      */
-    protected function _setToMap($fileType, $area, \Magento\Core\Model\Theme $theme, $locale, $module, $file, $filePath)
-    {
+    protected function _setToMap(
+        $fileType, $area, \Magento\View\Design\ThemeInterface $theme, $locale, $module, $file, $filePath
+    ) {
         $pattern = $this->_baseDir . DIRECTORY_SEPARATOR;
         if (0 !== strpos($filePath, $pattern)) {
             throw new \Magento\Exception(
@@ -236,11 +238,11 @@ class CachingProxy implements
      * Compose section file name
      *
      * @param string $area
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @param string|null $locale
      * @return string
      */
-    protected function _getSectionFile($area, \Magento\Core\Model\Theme $themeModel, $locale)
+    protected function _getSectionFile($area, \Magento\View\Design\ThemeInterface $themeModel, $locale)
     {
         $theme = $themeModel->getId() ?: md5($themeModel->getThemePath());
         return "{$area}_{$theme}_{$locale}.ser";
@@ -250,11 +252,11 @@ class CachingProxy implements
      * Load section and return its key
      *
      * @param string $area
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @param string|null $locale
      * @return string
      */
-    protected function _loadSection($area, \Magento\Core\Model\Theme $themeModel, $locale)
+    protected function _loadSection($area, \Magento\View\Design\ThemeInterface $themeModel, $locale)
     {
         $sectionFile = $this->_getSectionFile($area, $themeModel, $locale);
         if (!isset($this->_sections[$sectionFile])) {
@@ -274,15 +276,15 @@ class CachingProxy implements
      * Set file path to map.
      *
      * @param string $area
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @param string $locale
      * @param string|null $module
      * @param string $file
      * @param string $newFilePath
      * @return \Magento\Core\Model\Design\FileResolution\Strategy\Fallback\CachingProxy
      */
-    public function setViewFilePathToMap($area, \Magento\Core\Model\Theme $themeModel, $locale, $module, $file,
-        $newFilePath
+    public function setViewFilePathToMap(
+        $area, \Magento\View\Design\ThemeInterface $themeModel, $locale, $module, $file, $newFilePath
     ) {
         $this->_setToMap('view', $area, $themeModel, $locale, $module, $file, $newFilePath);
         return $this;
diff --git a/app/code/Magento/Core/Model/Design/FileResolution/Strategy/FileInterface.php b/app/code/Magento/Core/Model/Design/FileResolution/Strategy/FileInterface.php
index 51df254a1bcc8f956a72be40cba82b341c2b5da0..d78cc5176789b54dd2e5d1bde12c131de70a1af4 100644
--- a/app/code/Magento/Core/Model/Design/FileResolution/Strategy/FileInterface.php
+++ b/app/code/Magento/Core/Model/Design/FileResolution/Strategy/FileInterface.php
@@ -35,10 +35,10 @@ interface FileInterface
      * Get a usual file path (e.g. template)
      *
      * @param string $area
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @param string $file
      * @param string|null $module
      * @return string
      */
-    public function getFile($area, \Magento\Core\Model\Theme $themeModel, $file, $module = null);
+    public function getFile($area, \Magento\View\Design\ThemeInterface $themeModel, $file, $module = null);
 }
diff --git a/app/code/Magento/Core/Model/Design/FileResolution/Strategy/LocaleInterface.php b/app/code/Magento/Core/Model/Design/FileResolution/Strategy/LocaleInterface.php
index ec05f67229c8005b3f4330f9c6abddb70be43a3e..37e5e4376828d728813f2637898227aff660fa7b 100644
--- a/app/code/Magento/Core/Model/Design/FileResolution/Strategy/LocaleInterface.php
+++ b/app/code/Magento/Core/Model/Design/FileResolution/Strategy/LocaleInterface.php
@@ -35,10 +35,10 @@ interface LocaleInterface
      * Get locale file name (e.g. file with translations)
      *
      * @param string $area
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @param string $locale
      * @param string $file
      * @return string
      */
-    public function getLocaleFile($area, \Magento\Core\Model\Theme $themeModel, $locale, $file);
+    public function getLocaleFile($area, \Magento\View\Design\ThemeInterface $themeModel, $locale, $file);
 }
diff --git a/app/code/Magento/Core/Model/Design/FileResolution/Strategy/View/NotifiableInterface.php b/app/code/Magento/Core/Model/Design/FileResolution/Strategy/View/NotifiableInterface.php
index 041ae1fbbe32c627fc2691792963a1af6ec4b2bc..b0905dacd285267c38a96e653febfa1cc63ee159 100644
--- a/app/code/Magento/Core/Model/Design/FileResolution/Strategy/View/NotifiableInterface.php
+++ b/app/code/Magento/Core/Model/Design/FileResolution/Strategy/View/NotifiableInterface.php
@@ -36,14 +36,14 @@ interface NotifiableInterface
      * new location.
      *
      * @param string $area
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @param string $locale
      * @param string|null $module
      * @param string $file
      * @param string $newFilePath
      * @return \Magento\Core\Model\Design\FileResolution\Strategy\Fallback\CachingProxy
      */
-    public function setViewFilePathToMap($area, \Magento\Core\Model\Theme $themeModel, $locale, $module, $file,
-        $newFilePath
+    public function setViewFilePathToMap(
+        $area, \Magento\View\Design\ThemeInterface $themeModel, $locale, $module, $file, $newFilePath
     );
 }
diff --git a/app/code/Magento/Core/Model/Design/FileResolution/Strategy/ViewInterface.php b/app/code/Magento/Core/Model/Design/FileResolution/Strategy/ViewInterface.php
index 7b51fe58fb5860b94b969b0848bd96eeba7e3604..5717bd25e6a44c8efc573e251418d324739ea1ed 100644
--- a/app/code/Magento/Core/Model/Design/FileResolution/Strategy/ViewInterface.php
+++ b/app/code/Magento/Core/Model/Design/FileResolution/Strategy/ViewInterface.php
@@ -35,11 +35,11 @@ interface ViewInterface
      * Get theme file name (e.g. a javascript file)
      *
      * @param string $area
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @param string $locale
      * @param string $file
      * @param string|null $module
      * @return string
      */
-    public function getViewFile($area, \Magento\Core\Model\Theme $themeModel, $locale, $file, $module = null);
+    public function getViewFile($area, \Magento\View\Design\ThemeInterface $themeModel, $locale, $file, $module = null);
 }
diff --git a/app/code/Magento/Core/Model/Design/FileResolution/StrategyPool.php b/app/code/Magento/Core/Model/Design/FileResolution/StrategyPool.php
index cd9fae0be2158d1259ee366850c6ae57e396a967..0f18e0351eff8b3ffa3c72a8fc31f2a42405883c 100644
--- a/app/code/Magento/Core/Model/Design/FileResolution/StrategyPool.php
+++ b/app/code/Magento/Core/Model/Design/FileResolution/StrategyPool.php
@@ -52,7 +52,7 @@ class StrategyPool
     protected $_filesystem;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
@@ -88,14 +88,14 @@ class StrategyPool
 
     /**
      * @param \Magento\ObjectManager $objectManager
-     * @param \Magento\Core\Model\App\State $appState
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\State $appState
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Filesystem $filesystem
      */
     public function __construct(
         \Magento\ObjectManager $objectManager,
-        \Magento\Core\Model\App\State $appState,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\State $appState,
+        \Magento\App\Dir $dirs,
         \Magento\Filesystem $filesystem
     ) {
         $this->_objectManager = $objectManager;
@@ -164,11 +164,11 @@ class StrategyPool
     protected function _getStrategyClass($fileType, $skipProxy = false)
     {
         $mode = $this->_appState->getMode();
-        if ($mode == \Magento\Core\Model\App\State::MODE_PRODUCTION) {
+        if ($mode == \Magento\App\State::MODE_PRODUCTION) {
             $strategyClasses = $this->_strategies['production_mode'];
-        } else if (($mode == \Magento\Core\Model\App\State::MODE_DEVELOPER) || $skipProxy) {
+        } else if (($mode == \Magento\App\State::MODE_DEVELOPER) || $skipProxy) {
             $strategyClasses = $this->_strategies['full_check'];
-        } else if ($mode == \Magento\Core\Model\App\State::MODE_DEFAULT) {
+        } else if ($mode == \Magento\App\State::MODE_DEFAULT) {
             $strategyClasses = $this->_strategies['caching_map'];
         } else {
             throw new \Magento\Core\Exception("Unknown mode to choose strategy: {$mode}");
@@ -186,11 +186,11 @@ class StrategyPool
     {
         switch ($className) {
             case 'Magento\Core\Model\Design\FileResolution\Strategy\Fallback\CachingProxy':
-                $mapDir = $this->_dirs->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DIRECTORY_SEPARATOR
+                $mapDir = $this->_dirs->getDir(\Magento\App\Dir::VAR_DIR) . DIRECTORY_SEPARATOR
                     . self::FALLBACK_MAP_DIR;
                 $arguments = array(
                     'mapDir' => str_replace('/', DIRECTORY_SEPARATOR, $mapDir),
-                    'baseDir' => $this->_dirs->getDir(\Magento\Core\Model\Dir::ROOT),
+                    'baseDir' => $this->_dirs->getDir(\Magento\App\Dir::ROOT),
                 );
                 break;
             default:
diff --git a/app/code/Magento/Core/Model/Email.php b/app/code/Magento/Core/Model/Email.php
index 90e4994818353bf91332b4e5583c8905a3af6749..bbad0794757d6fa0f2a04272570f6c99ef3f46b1 100644
--- a/app/code/Magento/Core/Model/Email.php
+++ b/app/code/Magento/Core/Model/Email.php
@@ -53,18 +53,18 @@ class Email extends \Magento\Object
     /**
      * Layout factory
      *
-     * @var \Magento\Core\Model\LayoutFactory
+     * @var \Magento\View\LayoutFactory
      */
     protected $_layoutFactory;
 
     /**
-     * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\LayoutFactory $layoutFactory
+     * @param Store\Config $coreStoreConfig
+     * @param \Magento\View\LayoutFactory $layoutFactory
      * @param array $data
      */
     public function __construct(
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\LayoutFactory $layoutFactory,
+        \Magento\View\LayoutFactory $layoutFactory,
         array $data = array()
     ) {
         $this->_layoutFactory = $layoutFactory;
diff --git a/app/code/Magento/Core/Model/Email/Template.php b/app/code/Magento/Core/Model/Email/Template.php
index 787471494f14043625ff138508e69d4d947700d2..183450178ab1e0d741f5113bc70e76e0a9221a65 100644
--- a/app/code/Magento/Core/Model/Email/Template.php
+++ b/app/code/Magento/Core/Model/Email/Template.php
@@ -132,7 +132,7 @@ class Template extends \Magento\Core\Model\Template
     protected $_emailFilterFactory;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -143,12 +143,12 @@ class Template extends \Magento\Core\Model\Template
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Core\Model\View\Url $viewUrl
      * @param \Magento\Core\Model\View\FileSystem $viewFileSystem
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig
      * @param \Magento\Core\Model\ConfigInterface $coreConfig
      * @param \Magento\Core\Model\Email\Template\FilterFactory $emailFilterFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\Email\Template\Config $emailConfig
      * @param array $data
      *
@@ -161,12 +161,12 @@ class Template extends \Magento\Core\Model\Template
         \Magento\Filesystem $filesystem,
         \Magento\Core\Model\View\Url $viewUrl,
         \Magento\Core\Model\View\FileSystem $viewFileSystem,
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig,
         \Magento\Core\Model\ConfigInterface $coreConfig,
         \Magento\Core\Model\Email\Template\FilterFactory $emailFilterFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\Email\Template\Config $emailConfig,
         array $data = array()
     ) {
diff --git a/app/code/Magento/Core/Model/Email/Template/Config/Reader.php b/app/code/Magento/Core/Model/Email/Template/Config/Reader.php
index 6bd96655e1cbb2e4446b9fce30bc2ab9b5a5199d..0fd11cdb394472122a63872616d8c56cdf81010c 100644
--- a/app/code/Magento/Core/Model/Email/Template/Config/Reader.php
+++ b/app/code/Magento/Core/Model/Email/Template/Config/Reader.php
@@ -28,7 +28,7 @@ namespace Magento\Core\Model\Email\Template\Config;
 class Reader extends \Magento\Config\Reader\Filesystem
 {
     /**
-     * @var \Magento\Core\Model\Module\Dir\ReverseResolver
+     * @var \Magento\App\Module\Dir\ReverseResolver
      */
     private $_moduleDirResolver;
 
@@ -37,14 +37,14 @@ class Reader extends \Magento\Config\Reader\Filesystem
      * @param \Magento\Core\Model\Email\Template\Config\Converter $converter
      * @param \Magento\Core\Model\Email\Template\Config\SchemaLocator $schemaLocator
      * @param \Magento\Config\ValidationStateInterface $validationState
-     * @param \Magento\Core\Model\Module\Dir\ReverseResolver $moduleDirResolver
+     * @param \Magento\App\Module\Dir\ReverseResolver $moduleDirResolver
      */
     public function __construct(
         \Magento\Config\FileResolverInterface $fileResolver,
         \Magento\Core\Model\Email\Template\Config\Converter $converter,
         \Magento\Core\Model\Email\Template\Config\SchemaLocator $schemaLocator,
         \Magento\Config\ValidationStateInterface $validationState,
-        \Magento\Core\Model\Module\Dir\ReverseResolver $moduleDirResolver
+        \Magento\App\Module\Dir\ReverseResolver $moduleDirResolver
     ) {
         $fileName = 'email_templates.xml';
         $idAttributes = array(
diff --git a/app/code/Magento/Core/Model/Email/Template/Filter.php b/app/code/Magento/Core/Model/Email/Template/Filter.php
index 048e80c35632b6f6b5e1651e4095c4e42631caa1..51baf6ce4683137fec7c65ea41e97b25fc4a862a 100644
--- a/app/code/Magento/Core/Model/Email/Template/Filter.php
+++ b/app/code/Magento/Core/Model/Email/Template/Filter.php
@@ -92,12 +92,12 @@ class Filter extends \Magento\Filter\Template
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
-     * @var \Magento\Core\Model\LayoutFactory
+     * @var \Magento\View\LayoutFactory
      */
     protected $_layoutFactory;
 
@@ -115,8 +115,8 @@ class Filter extends \Magento\Filter\Template
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\VariableFactory $coreVariableFactory
      * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\Layout $layout
-     * @param \Magento\Core\Model\LayoutFactory $layoutFactory
+     * @param \Magento\View\LayoutInterface $layout
+     * @param \Magento\View\LayoutFactory $layoutFactory
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
@@ -125,8 +125,8 @@ class Filter extends \Magento\Filter\Template
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\VariableFactory $coreVariableFactory,
         \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\Layout $layout,
-        \Magento\Core\Model\LayoutFactory $layoutFactory
+        \Magento\View\LayoutInterface $layout,
+        \Magento\View\LayoutFactory $layoutFactory
     ) {
         $this->_coreData = $coreData;
         $this->_viewUrl = $viewUrl;
@@ -269,7 +269,7 @@ class Filter extends \Magento\Filter\Template
         if (isset($params['area'])) {
             $layoutParams['area'] = $params['area'];
         }
-        /** @var $layout \Magento\Core\Model\Layout */
+        /** @var $layout \Magento\View\LayoutInterface */
         $layout = $this->_layoutFactory->create($layoutParams);
         $layout->getUpdate()->addHandle($params['handle'])
             ->load();
@@ -298,7 +298,6 @@ class Filter extends \Magento\Filter\Template
             $layout->addOutputElement($rootBlock->getNameInLayout());
         }
 
-        $layout->setDirectOutput(false);
         $result = $layout->getOutput();
         $layout->__destruct(); // To overcome bug with SimpleXML memory leak (https://bugs.php.net/bug.php?id=62468)
         return $result;
diff --git a/app/code/Magento/Core/Model/EntryPoint/Cron.php b/app/code/Magento/Core/Model/EntryPoint/Cron.php
index f8289d8e8ddaa1ed09e2365977f6142a76b916e9..99faf24e5b21bc10f1d08a31445324ecd72498af 100644
--- a/app/code/Magento/Core/Model/EntryPoint/Cron.php
+++ b/app/code/Magento/Core/Model/EntryPoint/Cron.php
@@ -35,10 +35,10 @@ class Cron extends \Magento\Core\Model\AbstractEntryPoint
         $app->setUseSessionInUrl(false);
         $app->requireInstalledInstance();
 
-        /** @var $eventManager \Magento\Core\Model\Event\Manager */
-        $eventManager = $this->_objectManager->get('Magento\Core\Model\Event\Manager');
-        /** @var \Magento\Core\Model\Config\Scope $configScope */
-        $configScope = $this->_objectManager->get('Magento\Core\Model\Config\Scope');
+        /** @var $eventManager \Magento\Event\ManagerInterface */
+        $eventManager = $this->_objectManager->get('Magento\Event\ManagerInterface');
+        /** @var \Magento\Config\Scope $configScope */
+        $configScope = $this->_objectManager->get('Magento\Config\ScopeInterface');
         $configScope->setCurrentScope('crontab');
         $eventManager->dispatch('default');
     }
diff --git a/app/code/Magento/Core/Model/EntryPoint/Http.php b/app/code/Magento/Core/Model/EntryPoint/Http.php
index f7f626e22db6e34e9c98282a05d417935af4680a..054c14c2dba873022c40431b9a30cec9fa61d679 100644
--- a/app/code/Magento/Core/Model/EntryPoint/Http.php
+++ b/app/code/Magento/Core/Model/EntryPoint/Http.php
@@ -39,8 +39,8 @@ class Http extends \Magento\Core\Model\AbstractEntryPoint
                 'Location: ' . $this->_objectManager->get('Magento\Core\Model\StoreManager')->getStore()->getBaseUrl()
             );
         } catch (\Magento\Core\Model\Store\Exception $e) {
-            require $this->_objectManager->get('Magento\Core\Model\Dir')
-                    ->getDir(\Magento\Core\Model\Dir::PUB) . DS . 'errors' . DS . '404.php';
+            require $this->_objectManager->get('Magento\App\Dir')
+                    ->getDir(\Magento\App\Dir::PUB) . DS . 'errors' . DS . '404.php';
         } catch (\Magento\BootstrapException $e) {
             header('Content-Type: text/plain', true, 503);
             echo $e->getMessage();
@@ -54,9 +54,14 @@ class Http extends \Magento\Core\Model\AbstractEntryPoint
      */
     protected function _processRequest()
     {
-        $request = $this->_objectManager->get('Magento\Core\Controller\Request\Http');
-        $response = $this->_objectManager->get('Magento\Core\Controller\Response\Http');
-        $handler = $this->_objectManager->get('Magento\HTTP\Handler\Composite');
-        $handler->handle($request, $response);
+        $request = $this->_objectManager->get('Magento\App\RequestInterface');
+        $areas = $this->_objectManager->get('Magento\App\AreaList');
+        $areaCode = $areas->getCodeByFrontName($request->getFrontName());
+        $this->_objectManager->get('Magento\Config\Scope')->setCurrentScope($areaCode);
+        $this->_objectManager->configure(
+            $this->_objectManager->get('Magento\Core\Model\ObjectManager\ConfigLoader')->load($areaCode)
+        );
+        $frontController = $this->_objectManager->get('Magento\App\FrontControllerInterface');
+        $frontController->dispatch($request);
     }
 }
diff --git a/app/code/Magento/Core/Model/EntryPoint/Media.php b/app/code/Magento/Core/Model/EntryPoint/Media.php
index c74eb84749c2f6904c9b9d675455a8345684d1d3..740b4cce7e27912b1c16e068cf96debe2fa144db 100644
--- a/app/code/Magento/Core/Model/EntryPoint/Media.php
+++ b/app/code/Magento/Core/Model/EntryPoint/Media.php
@@ -110,7 +110,7 @@ class Media extends \Magento\Core\Model\AbstractEntryPoint
     protected function _processRequest()
     {
         try {
-            $appState = $this->_objectManager->get('Magento\Core\Model\App\State');
+            $appState = $this->_objectManager->get('Magento\App\State');
             if (!$appState->isInstalled()) {
                 $this->_response->sendNotFound();
                 return;
diff --git a/app/code/Magento/Core/Model/Event/Config/SchemaLocator.php b/app/code/Magento/Core/Model/Event/Config/SchemaLocator.php
deleted file mode 100644
index 957e11ad964a200f49af96c39202a71c13057ec2..0000000000000000000000000000000000000000
--- a/app/code/Magento/Core/Model/Event/Config/SchemaLocator.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-/**
- * Event observers configuration schema locator
- *
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\Event\Config;
-
-class SchemaLocator implements \Magento\Config\SchemaLocatorInterface
-{
-    /**
-     * Path to corresponding XSD file with validation rules for merged config
-     *
-     * @var string
-     */
-    protected $_schema = null;
-
-    /**
-     * Path to corresponding XSD file with validation rules for separate config files
-     *
-     * @var string
-     */
-    protected $_perFileSchema = null;
-
-    /**
-     * @param \Magento\Core\Model\Config\Modules\Reader $moduleReader
-     */
-    public function __construct(\Magento\Core\Model\Config\Modules\Reader $moduleReader)
-    {
-        $this->_schema = $moduleReader->getModuleDir('etc', 'Magento_Core') . DIRECTORY_SEPARATOR . 'events.xsd';
-    }
-
-    /**
-     * Get path to merged config schema
-     *
-     * @return string|null
-     */
-    public function getSchema()
-    {
-        return $this->_schema;
-    }
-
-    /**
-     * Get path to pre file validation schema
-     *
-     * @return string|null
-     */
-    public function getPerFileSchema()
-    {
-        return $this->_perFileSchema;
-    }
-}
diff --git a/app/code/Magento/Core/Model/File/Storage.php b/app/code/Magento/Core/Model/File/Storage.php
index e8d8fb4dd55932bb69953908786b5c9de5d311af..f9e3c77f5f9552c40f7853b53948526b8c87d9d5 100644
--- a/app/code/Magento/Core/Model/File/Storage.php
+++ b/app/code/Magento/Core/Model/File/Storage.php
@@ -97,7 +97,7 @@ class Storage extends \Magento\Core\Model\AbstractModel
     protected $_databaseFactory;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -110,7 +110,7 @@ class Storage extends \Magento\Core\Model\AbstractModel
      * @param \Magento\Core\Model\File\Storage\Flag $fileFlag
      * @param \Magento\Core\Model\File\Storage\FileFactory $fileFactory
      * @param \Magento\Core\Model\File\Storage\DatabaseFactory $databaseFactory
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -124,7 +124,7 @@ class Storage extends \Magento\Core\Model\AbstractModel
         \Magento\Core\Model\File\Storage\Flag $fileFlag,
         \Magento\Core\Model\File\Storage\FileFactory $fileFactory,
         \Magento\Core\Model\File\Storage\DatabaseFactory $databaseFactory,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
diff --git a/app/code/Magento/Core/Model/Layout.php b/app/code/Magento/Core/Model/Layout.php
index 392352d6a01a68d96a396323061225847cfc2e65..559ae3853da49e1c706deddabb052d1243a0caee 100644
--- a/app/code/Magento/Core/Model/Layout.php
+++ b/app/code/Magento/Core/Model/Layout.php
@@ -41,7 +41,7 @@ namespace Magento\Core\Model;
  * @SuppressWarnings(PHPMD.TooManyMethods)
  * @SuppressWarnings(PHPMD.ExcessiveParameterList)
  */
-class Layout extends \Magento\Simplexml\Config
+class Layout extends \Magento\Simplexml\Config implements \Magento\View\LayoutInterface
 {
     /**#@+
      * Supported layout directives
@@ -97,14 +97,14 @@ class Layout extends \Magento\Simplexml\Config
     const SCHEDULED_STRUCTURE_INDEX_LAYOUT_ELEMENT = 5;
 
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_design;
 
     /**
      * Layout Update module
      *
-     * @var \Magento\Core\Model\Layout\Merge
+     * @var \Magento\View\Layout\ProcessorInterface
      */
     protected $_update;
 
@@ -141,13 +141,6 @@ class Layout extends \Magento\Simplexml\Config
      */
     protected $_helpers = array();
 
-    /**
-     * Flag to have blocks' output go directly to browser as oppose to return result
-     *
-     * @var boolean
-     */
-    protected $_directOutput = false;
-
     /**
      * A variable for transporting output into observer during rendering
      *
@@ -217,7 +210,7 @@ class Layout extends \Magento\Simplexml\Config
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -234,9 +227,9 @@ class Layout extends \Magento\Simplexml\Config
     protected $_logger;
 
     /**
-     * @var \Magento\Core\Model\Layout\MergeFactory
+     * @var \Magento\View\Layout\ProcessorFactory
      */
-    protected $_mergeFactory;
+    protected $_processorFactory;
 
     /**
      * @var \Magento\Core\Model\Resource\Theme\CollectionFactory
@@ -244,36 +237,36 @@ class Layout extends \Magento\Simplexml\Config
     protected $_themeFactory;
 
     /**
-     * @param \Magento\Core\Model\Layout\MergeFactory $mergeFactory
-     * @param \Magento\Core\Model\Resource\Theme\CollectionFactory $themeFactory
-     * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Event\Manager $eventManager
-     * @param \Magento\Core\Model\Factory\Helper $factoryHelper
+     * @param \Magento\View\Layout\ProcessorFactory $processorFactory
+     * @param Resource\Theme\CollectionFactory $themeFactory
+     * @param Logger $logger
+     * @param \Magento\Event\ManagerInterface $eventManager
+     * @param Factory\Helper $factoryHelper
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Model\View\DesignInterface $design
-     * @param \Magento\Core\Model\BlockFactory $blockFactory
+     * @param \Magento\View\DesignInterface $design
+     * @param BlockFactory $blockFactory
      * @param \Magento\Data\Structure $structure
-     * @param \Magento\Core\Model\Layout\Argument\Processor $argumentProcessor
-     * @param \Magento\Core\Model\Layout\ScheduledStructure $scheduledStructure
-     * @param \Magento\Core\Model\DataService\Graph $dataServiceGraph
-     * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param $area
+     * @param Layout\Argument\Processor $argumentProcessor
+     * @param Layout\ScheduledStructure $scheduledStructure
+     * @param DataService\Graph $dataServiceGraph
+     * @param Store\Config $coreStoreConfig
+     * @param string $area
      */
     public function __construct(
-        \Magento\Core\Model\Layout\MergeFactory $mergeFactory,
+        \Magento\View\Layout\ProcessorFactory $processorFactory,
         \Magento\Core\Model\Resource\Theme\CollectionFactory $themeFactory,
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Factory\Helper $factoryHelper,
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\BlockFactory $blockFactory,
         \Magento\Data\Structure $structure,
         \Magento\Core\Model\Layout\Argument\Processor $argumentProcessor,
         \Magento\Core\Model\Layout\ScheduledStructure $scheduledStructure,
         \Magento\Core\Model\DataService\Graph $dataServiceGraph,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        $area = \Magento\Core\Model\View\DesignInterface::DEFAULT_AREA
+        $area = \Magento\View\DesignInterface::DEFAULT_AREA
     ) {
         $this->_eventManager = $eventManager;
         $this->_factoryHelper = $factoryHelper;
@@ -284,12 +277,12 @@ class Layout extends \Magento\Simplexml\Config
         $this->_area = $area;
         $this->_structure = $structure;
         $this->_argumentProcessor = $argumentProcessor;
-        $this->_elementClass = 'Magento\Core\Model\Layout\Element';
+        $this->_elementClass = 'Magento\View\Layout\Element';
         $this->setXml(simplexml_load_string('<layout/>', $this->_elementClass));
         $this->_renderingOutput = new \Magento\Object;
         $this->_scheduledStructure = $scheduledStructure;
         $this->_dataServiceGraph = $dataServiceGraph;
-        $this->_mergeFactory = $mergeFactory;
+        $this->_processorFactory = $processorFactory;
         $this->_themeFactory = $themeFactory;
         $this->_logger = $logger;
     }
@@ -313,13 +306,13 @@ class Layout extends \Magento\Simplexml\Config
     /**
      * Retrieve the layout update instance
      *
-     * @return \Magento\Core\Model\Layout\Merge
+     * @return \Magento\View\Layout\ProcessorInterface
      */
     public function getUpdate()
     {
         if (!$this->_update) {
             $theme = $this->_getThemeInstance($this->getArea());
-            $this->_update = $this->_mergeFactory->create(array('theme' => $theme));
+            $this->_update = $this->_processorFactory->create(array('theme' => $theme));
         }
         return $this->_update;
     }
@@ -367,28 +360,6 @@ class Layout extends \Magento\Simplexml\Config
         $this->_area = $areaCode;
     }
 
-    /**
-     * Declaring layout direct output flag
-     *
-     * @param   bool $flag
-     * @return  \Magento\Core\Model\Layout
-     */
-    public function setDirectOutput($flag)
-    {
-        $this->_directOutput = $flag;
-        return $this;
-    }
-
-    /**
-     * Retrieve direct output flag
-     *
-     * @return bool
-     */
-    public function isDirectOutput()
-    {
-        return $this->_directOutput;
-    }
-
     /**
      * Layout xml generation
      *
@@ -496,13 +467,13 @@ class Layout extends \Magento\Simplexml\Config
     /**
      * Traverse through all elements of specified XML-node and schedule structural elements of it
      *
-     * @param \Magento\Core\Model\Layout\Element $parent
+     * @param \Magento\View\Layout\Element $parent
      * @SuppressWarnings(PHPMD.CyclomaticComplexity)
      */
     protected function _readStructure($parent)
     {
         foreach ($parent as $node) {
-            /** @var $node \Magento\Core\Model\Layout\Element */
+            /** @var $node \Magento\View\Layout\Element */
             switch ($node->getName()) {
                 case self::TYPE_CONTAINER:
                     $this->_scheduleStructure($node, $parent);
@@ -558,7 +529,7 @@ class Layout extends \Magento\Simplexml\Config
     /**
      * Grab information about data service from the node
      *
-     * @param \Magento\Core\Model\Layout\Element $node
+     * @param \Magento\View\Layout\Element $node
      * @return \Magento\Core\Model\Layout
      */
     protected function _initServiceCalls($node)
@@ -584,9 +555,9 @@ class Layout extends \Magento\Simplexml\Config
     /**
      * Merge Container attributes
      *
-     * @param \Magento\Core\Model\Layout\Element $node
+     * @param \Magento\View\Layout\Element $node
      */
-    protected function _mergeContainerAttributes(\Magento\Core\Model\Layout\Element $node)
+    protected function _mergeContainerAttributes(\Magento\View\Layout\Element $node)
     {
         $containerName = $node->getAttribute('name');
         $element = $this->_scheduledStructure->getStructureElement($containerName, array());
@@ -628,14 +599,14 @@ class Layout extends \Magento\Simplexml\Config
     /**
      * Parse argument nodes and create prepared array of items
      *
-     * @param \Magento\Core\Model\Layout\Element $node
+     * @param \Magento\View\Layout\Element $node
      * @return array
      */
-    protected function _parseArguments(\Magento\Core\Model\Layout\Element $node)
+    protected function _parseArguments(\Magento\View\Layout\Element $node)
     {
         $arguments = array();
         foreach ($node->xpath('argument') as $argument) {
-            /** @var $argument \Magento\Core\Model\Layout\Element */
+            /** @var $argument \Magento\View\Layout\Element */
             $argumentName = (string)$argument['name'];
             $arguments[$argumentName] = $this->_argumentProcessor->parse($argument);
         }
@@ -660,7 +631,7 @@ class Layout extends \Magento\Simplexml\Config
     /**
      * Schedule structural changes for move directive
      *
-     * @param \Magento\Core\Model\Layout\Element $node
+     * @param \Magento\View\Layout\Element $node
      * @throws \Magento\Exception
      * @return \Magento\Core\Model\Layout
      */
@@ -684,8 +655,8 @@ class Layout extends \Magento\Simplexml\Config
     /**
      * Populate queue for generating structural elements
      *
-     * @param \Magento\Core\Model\Layout\Element $node
-     * @param \Magento\Core\Model\Layout\Element $parent
+     * @param \Magento\View\Layout\Element $node
+     * @param \Magento\View\Layout\Element $parent
      * @see _scheduleElement() where the _scheduledStructure is used
      */
     protected function _scheduleStructure($node, $parent)
@@ -740,7 +711,7 @@ class Layout extends \Magento\Simplexml\Config
     /**
      * Analyze "before" and "after" information in the node and return sibling name and whether "after" or "before"
      *
-     * @param \Magento\Core\Model\Layout\Element $node
+     * @param \Magento\View\Layout\Element $node
      * @return array
      */
     protected function _beforeAfterToSibling($node)
@@ -971,8 +942,8 @@ class Layout extends \Magento\Simplexml\Config
     /**
      * Run action defined in layout update
      *
-     * @param \Magento\Core\Model\Layout\Element $node
-     * @param \Magento\Core\Model\Layout\Element $parent
+     * @param \Magento\View\Layout\Element $node
+     * @param \Magento\View\Layout\Element $parent
      */
     protected function _generateAction($node, $parent)
     {
diff --git a/app/code/Magento/Core/Model/Layout/Argument/AbstractHandler.php b/app/code/Magento/Core/Model/Layout/Argument/AbstractHandler.php
index 1bd628e3de567e9b17d5ea2f96d9f18957894421..4c404907103a3d16d0623aa1aa31da455d5b5c14 100644
--- a/app/code/Magento/Core/Model/Layout/Argument/AbstractHandler.php
+++ b/app/code/Magento/Core/Model/Layout/Argument/AbstractHandler.php
@@ -44,10 +44,10 @@ abstract class AbstractHandler
     /**
      * Retrieve value from argument
      *
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @return mixed|null
      */
-    protected function _getArgumentValue(\Magento\Core\Model\Layout\Element $argument)
+    protected function _getArgumentValue(\Magento\View\Layout\Element $argument)
     {
         if ($this->_isUpdater($argument)) {
             return null;
@@ -63,10 +63,10 @@ abstract class AbstractHandler
     /**
      * Check whether updater used and value not overwriten
      *
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @return string
      */
-    protected function _isUpdater(\Magento\Core\Model\Layout\Element $argument)
+    protected function _isUpdater(\Magento\View\Layout\Element $argument)
     {
         $updaters = $argument->xpath('./updater');
         if (!empty($updaters) && !isset($argument->value)) {
@@ -78,26 +78,26 @@ abstract class AbstractHandler
     /**
      * Retrieve xsi:type attribute value from argument
      *
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @return string
      */
-    protected function _getArgumentType(\Magento\Core\Model\Layout\Element $argument)
+    protected function _getArgumentType(\Magento\View\Layout\Element $argument)
     {
         return (string)$argument->attributes('xsi', true)->type;
     }
 
     /**
      * Parse argument node
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @return array
      */
-    public function parse(\Magento\Core\Model\Layout\Element $argument)
+    public function parse(\Magento\View\Layout\Element $argument)
     {
         $result = array();
         $updaters = array();
         $result['type'] = $this->_getArgumentType($argument);
         foreach ($argument->xpath('./updater') as $updaterNode) {
-            /** @var $updaterNode \Magento\Core\Model\Layout\Element */
+            /** @var $updaterNode \Magento\View\Layout\Element */
             $updaters[uniqid() . '_' . mt_rand()] = trim((string)$updaterNode);
         }
 
diff --git a/app/code/Magento/Core/Model/Layout/Argument/Handler/ArrayHandler.php b/app/code/Magento/Core/Model/Layout/Argument/Handler/ArrayHandler.php
index b46e23c9c1248e95a6441f1ff12da561c25d1841..89d68ef43cd071b90016c93275de26ff280e9ad2 100644
--- a/app/code/Magento/Core/Model/Layout/Argument/Handler/ArrayHandler.php
+++ b/app/code/Magento/Core/Model/Layout/Argument/Handler/ArrayHandler.php
@@ -93,17 +93,17 @@ class ArrayHandler extends \Magento\Core\Model\Layout\Argument\AbstractHandler
     /**
      * Retrive value from Array argument
      *
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @return array|null
      */
-    protected function _getArgumentValue(\Magento\Core\Model\Layout\Element $argument)
+    protected function _getArgumentValue(\Magento\View\Layout\Element $argument)
     {
         $items = $argument->xpath('item');
         if ($this->_isUpdater($argument) && empty($items)) {
             return null;
         }
         $result = array();
-        /** @var $item \Magento\Core\Model\Layout\Element */
+        /** @var $item \Magento\View\Layout\Element */
         foreach ($items as $item) {
             $itemName = (string)$item['name'];
             $itemType = $this->_getArgumentType($item);
diff --git a/app/code/Magento/Core/Model/Layout/Argument/Handler/Helper.php b/app/code/Magento/Core/Model/Layout/Argument/Handler/Helper.php
index 69c0aa775d3d1ff159babad306a9e0085ddc7e68..6d89b855167e64a83cd09999be48dc8d3b0c3f1e 100644
--- a/app/code/Magento/Core/Model/Layout/Argument/Handler/Helper.php
+++ b/app/code/Magento/Core/Model/Layout/Argument/Handler/Helper.php
@@ -89,10 +89,10 @@ class Helper extends \Magento\Core\Model\Layout\Argument\AbstractHandler
     /**
      * Retrieve value from argument
      *
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @return array
      */
-    protected function _getArgumentValue(\Magento\Core\Model\Layout\Element $argument)
+    protected function _getArgumentValue(\Magento\View\Layout\Element $argument)
     {
         $value = array(
             'helperClass' => '',
diff --git a/app/code/Magento/Core/Model/Layout/Argument/Handler/Object.php b/app/code/Magento/Core/Model/Layout/Argument/Handler/Object.php
index 63e4a3ab3066777dcbdfc2f86b44c8434333d0f8..449bef65b43776870d05ad5c17bf4b335afaae07 100644
--- a/app/code/Magento/Core/Model/Layout/Argument/Handler/Object.php
+++ b/app/code/Magento/Core/Model/Layout/Argument/Handler/Object.php
@@ -89,10 +89,10 @@ class Object extends \Magento\Core\Model\Layout\Argument\AbstractHandler
     /**
      * Retrieve value from argument
      *
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @return array|null
      */
-    protected function _getArgumentValue(\Magento\Core\Model\Layout\Element $argument)
+    protected function _getArgumentValue(\Magento\View\Layout\Element $argument)
     {
         $value = parent::_getArgumentValue($argument);
         if (!isset($value)) {
diff --git a/app/code/Magento/Core/Model/Layout/Argument/Handler/Options.php b/app/code/Magento/Core/Model/Layout/Argument/Handler/Options.php
index 46b9876c3323727261ba0cc08201af466ee0e4e4..4005a11952b5128ed695638df86eb4df77862786 100644
--- a/app/code/Magento/Core/Model/Layout/Argument/Handler/Options.php
+++ b/app/code/Magento/Core/Model/Layout/Argument/Handler/Options.php
@@ -76,10 +76,10 @@ class Options extends \Magento\Core\Model\Layout\Argument\AbstractHandler
     }
 
     /**
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @return array
      */
-    protected function _getArgumentValue(\Magento\Core\Model\Layout\Element $argument)
+    protected function _getArgumentValue(\Magento\View\Layout\Element $argument)
     {
         return array('model' => (string)$argument['model']);
     }
diff --git a/app/code/Magento/Core/Model/Layout/Argument/Handler/String.php b/app/code/Magento/Core/Model/Layout/Argument/Handler/String.php
index 830d5f665193c947ac7828a441f749596c7aa997..a9573ee3871fe09a59358d59cabacdba8aa25c71 100644
--- a/app/code/Magento/Core/Model/Layout/Argument/Handler/String.php
+++ b/app/code/Magento/Core/Model/Layout/Argument/Handler/String.php
@@ -78,10 +78,10 @@ class String extends \Magento\Core\Model\Layout\Argument\AbstractHandler
     /**
      * Retrieve value from argument
      *
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @return array|null
      */
-    protected function _getArgumentValue(\Magento\Core\Model\Layout\Element $argument)
+    protected function _getArgumentValue(\Magento\View\Layout\Element $argument)
     {
         $value = parent::_getArgumentValue($argument);
         if (!isset($value)) {
diff --git a/app/code/Magento/Core/Model/Layout/Argument/Handler/Url.php b/app/code/Magento/Core/Model/Layout/Argument/Handler/Url.php
index 9bb03d1ada2d63a0d56cdb83d141f2e9ecc5d998..30267e09eab1524cc44fe86768a224ff5d28861a 100644
--- a/app/code/Magento/Core/Model/Layout/Argument/Handler/Url.php
+++ b/app/code/Magento/Core/Model/Layout/Argument/Handler/Url.php
@@ -36,15 +36,15 @@ namespace Magento\Core\Model\Layout\Argument\Handler;
 class Url extends \Magento\Core\Model\Layout\Argument\AbstractHandler
 {
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlModel;
 
     /**
      * @param \Magento\ObjectManager $objectManager
-     * @param \Magento\Core\Model\UrlInterface $urlModel
+     * @param \Magento\UrlInterface $urlModel
      */
-    public function __construct(\Magento\Core\Model\UrlInterface  $urlModel)
+    public function __construct(\Magento\UrlInterface  $urlModel)
     {
         $this->_urlModel = $urlModel;
     }
@@ -84,7 +84,7 @@ class Url extends \Magento\Core\Model\Layout\Argument\AbstractHandler
      * @param $argument
      * @return array
      */
-    protected function _getArgumentValue(\Magento\Core\Model\Layout\Element $argument)
+    protected function _getArgumentValue(\Magento\View\Layout\Element $argument)
     {
         $result = array(
             'path' => (string)$argument['path'],
diff --git a/app/code/Magento/Core/Model/Layout/Argument/HandlerInterface.php b/app/code/Magento/Core/Model/Layout/Argument/HandlerInterface.php
index eff9601c7c1212a0e9be4de13321f9bddf341572..3cdf8e7b6071c0dd2aa21c396b1a6e9d602719ef 100644
--- a/app/code/Magento/Core/Model/Layout/Argument/HandlerInterface.php
+++ b/app/code/Magento/Core/Model/Layout/Argument/HandlerInterface.php
@@ -38,10 +38,10 @@ interface HandlerInterface
     /**
      * Parse specified argument node
      *
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @return array
      */
-    public function parse(\Magento\Core\Model\Layout\Element $argument);
+    public function parse(\Magento\View\Layout\Element $argument);
 
     /**
      * Process argument value
diff --git a/app/code/Magento/Core/Model/Layout/Argument/Processor.php b/app/code/Magento/Core/Model/Layout/Argument/Processor.php
index c35a586521458f0cb64ecded775fd065b1e39c8c..b4389dd83d6474ba44824f1d6ca84426e7cab684 100644
--- a/app/code/Magento/Core/Model/Layout/Argument/Processor.php
+++ b/app/code/Magento/Core/Model/Layout/Argument/Processor.php
@@ -67,11 +67,11 @@ class Processor
     /**
      * Parse given argument
      *
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @throws \InvalidArgumentException
      * @return array
      */
-    public function parse(\Magento\Core\Model\Layout\Element $argument)
+    public function parse(\Magento\View\Layout\Element $argument)
     {
         $type = $this->_getArgumentType($argument);
         $handler = $this->_handlerFactory->getArgumentHandlerByType($type);
@@ -98,10 +98,10 @@ class Processor
     /**
      * Get Argument's XSI type
      *
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @return string
      */
-    protected function _getArgumentType(\Magento\Core\Model\Layout\Element $argument)
+    protected function _getArgumentType(\Magento\View\Layout\Element $argument)
     {
         return (string)$argument->attributes('xsi', true)->type;
     }
diff --git a/app/code/Magento/Core/Model/Layout/File.php b/app/code/Magento/Core/Model/Layout/File.php
index 39c81607e1cd718158fd6cd0701e547fca131059..2f61b36365a286f666eb0800e1085e11191a3635 100644
--- a/app/code/Magento/Core/Model/Layout/File.php
+++ b/app/code/Magento/Core/Model/Layout/File.php
@@ -40,16 +40,16 @@ class File
     private $_module;
 
     /**
-     * @var \Magento\Core\Model\ThemeInterface
+     * @var \Magento\View\Design\ThemeInterface
      */
     private $_theme;
 
     /**
      * @param string $filename
      * @param string $module
-     * @param \Magento\Core\Model\ThemeInterface $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      */
-    public function __construct($filename, $module, \Magento\Core\Model\ThemeInterface $theme = null)
+    public function __construct($filename, $module, \Magento\View\Design\ThemeInterface $theme = null)
     {
         $this->_filename = $filename;
         $this->_module = $module;
@@ -89,7 +89,7 @@ class File
     /**
      * Retrieve instance of a theme a file belongs to
      *
-     * @return \Magento\Core\Model\ThemeInterface|null
+     * @return \Magento\View\Design\ThemeInterface|null
      */
     public function getTheme()
     {
diff --git a/app/code/Magento/Core/Model/Layout/File/Factory.php b/app/code/Magento/Core/Model/Layout/File/Factory.php
index 3e87e14b403eb02eb5050dd4a477b9cd4cc8a950..9bc257d74224356bd8aa177012673d209a8ccdaf 100644
--- a/app/code/Magento/Core/Model/Layout/File/Factory.php
+++ b/app/code/Magento/Core/Model/Layout/File/Factory.php
@@ -47,10 +47,10 @@ class Factory
      *
      * @param string $filename
      * @param string $module
-     * @param \Magento\Core\Model\ThemeInterface $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return \Magento\Core\Model\Layout\File
      */
-    public function create($filename, $module, \Magento\Core\Model\ThemeInterface $theme = null)
+    public function create($filename, $module, \Magento\View\Design\ThemeInterface $theme = null)
     {
         return $this->_objectManager->create(
             'Magento\Core\Model\Layout\File',
diff --git a/app/code/Magento/Core/Model/Layout/File/Source/Aggregated.php b/app/code/Magento/Core/Model/Layout/File/Source/Aggregated.php
index 897522f23c59362a53e7e3dacd5c23e52bd3542a..89c4ad29fe27e71a01832dfd4633c7ee8f6d4652 100644
--- a/app/code/Magento/Core/Model/Layout/File/Source/Aggregated.php
+++ b/app/code/Magento/Core/Model/Layout/File/Source/Aggregated.php
@@ -80,7 +80,7 @@ class Aggregated implements \Magento\Core\Model\Layout\File\SourceInterface
      *
      * {@inheritdoc}
      */
-    public function getFiles(\Magento\Core\Model\ThemeInterface $theme)
+    public function getFiles(\Magento\View\Design\ThemeInterface $theme)
     {
         $list = $this->_fileListFactory->create();
         $list->add($this->_baseFiles->getFiles($theme));
@@ -95,10 +95,10 @@ class Aggregated implements \Magento\Core\Model\Layout\File\SourceInterface
     /**
      * Return the full theme inheritance sequence, from the root theme till a specified one
      *
-     * @param \Magento\Core\Model\ThemeInterface $theme
-     * @return \Magento\Core\Model\ThemeInterface[] Format: array([<root_theme>, ..., <parent_theme>,] <current_theme>)
+     * @param \Magento\View\Design\ThemeInterface $theme
+     * @return \Magento\View\Design\ThemeInterface[] Format: array([<root_theme>, ..., <parent_theme>,] <current_theme>)
      */
-    protected function _getInheritedThemes(\Magento\Core\Model\ThemeInterface $theme)
+    protected function _getInheritedThemes(\Magento\View\Design\ThemeInterface $theme)
     {
         $result = array();
         while ($theme) {
diff --git a/app/code/Magento/Core/Model/Layout/File/Source/Base.php b/app/code/Magento/Core/Model/Layout/File/Source/Base.php
index 8c94b82e04ce168fbe66895f52b50c386f447a67..2276624f22f0ac556fb5db44951577e3017fe098 100644
--- a/app/code/Magento/Core/Model/Layout/File/Source/Base.php
+++ b/app/code/Magento/Core/Model/Layout/File/Source/Base.php
@@ -35,7 +35,7 @@ class Base implements \Magento\Core\Model\Layout\File\SourceInterface
     private $_filesystem;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     private $_dirs;
 
@@ -46,12 +46,12 @@ class Base implements \Magento\Core\Model\Layout\File\SourceInterface
 
     /**
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Core\Model\Layout\File\Factory $fileFactory
      */
     public function __construct(
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Core\Model\Layout\File\Factory $fileFactory
     ) {
         $this->_filesystem = $filesystem;
@@ -62,12 +62,12 @@ class Base implements \Magento\Core\Model\Layout\File\SourceInterface
     /**
      * {@inheritdoc}
      */
-    public function getFiles(\Magento\Core\Model\ThemeInterface $theme)
+    public function getFiles(\Magento\View\Design\ThemeInterface $theme)
     {
         $namespace = $module = '*';
         $area = $theme->getArea();
         $files = $this->_filesystem->searchKeys(
-            $this->_dirs->getDir(\Magento\Core\Model\Dir::MODULES),
+            $this->_dirs->getDir(\Magento\App\Dir::MODULES),
             "{$namespace}/{$module}/view/{$area}/layout/*.xml"
         );
         $result = array();
diff --git a/app/code/Magento/Core/Model/Layout/File/Source/Decorator/ModuleDependency.php b/app/code/Magento/Core/Model/Layout/File/Source/Decorator/ModuleDependency.php
index bac1bb546fabc3e1a1238abf8587e40976f33189..1fa4cb09466740992ebbb2806db9ac6f2ea111cb 100644
--- a/app/code/Magento/Core/Model/Layout/File/Source/Decorator/ModuleDependency.php
+++ b/app/code/Magento/Core/Model/Layout/File/Source/Decorator/ModuleDependency.php
@@ -36,7 +36,7 @@ class ModuleDependency
     private $_subject;
 
     /**
-     * @var \Magento\Core\Model\ModuleListInterface
+     * @var \Magento\App\ModuleListInterface
      */
     private $_moduleList;
 
@@ -49,11 +49,11 @@ class ModuleDependency
 
     /**
      * @param \Magento\Core\Model\Layout\File\SourceInterface $subject
-     * @param \Magento\Core\Model\ModuleListInterface $listInterface
+     * @param \Magento\App\ModuleListInterface $listInterface
      */
     public function __construct(
         \Magento\Core\Model\Layout\File\SourceInterface $subject,
-        \Magento\Core\Model\ModuleListInterface $listInterface
+        \Magento\App\ModuleListInterface $listInterface
     ) {
         $this->_subject = $subject;
         $this->_moduleList = $listInterface;
@@ -64,7 +64,7 @@ class ModuleDependency
      *
      * {@inheritdoc}
      */
-    public function getFiles(\Magento\Core\Model\ThemeInterface $theme)
+    public function getFiles(\Magento\View\Design\ThemeInterface $theme)
     {
         $result = $this->_subject->getFiles($theme);
         usort($result, array($this, 'compareFiles'));
diff --git a/app/code/Magento/Core/Model/Layout/File/Source/Decorator/ModuleOutput.php b/app/code/Magento/Core/Model/Layout/File/Source/Decorator/ModuleOutput.php
index c0b8cc59ba2f03b79c248753f231454e68ba092f..f95a340b83c5b95e6c7c12763acf9a19fa14cb97 100644
--- a/app/code/Magento/Core/Model/Layout/File/Source/Decorator/ModuleOutput.php
+++ b/app/code/Magento/Core/Model/Layout/File/Source/Decorator/ModuleOutput.php
@@ -56,7 +56,7 @@ class ModuleOutput implements \Magento\Core\Model\Layout\File\SourceInterface
      *
      * {@inheritdoc}
      */
-    public function getFiles(\Magento\Core\Model\ThemeInterface $theme)
+    public function getFiles(\Magento\View\Design\ThemeInterface $theme)
     {
         $result = array();
         foreach ($this->_subject->getFiles($theme) as $file) {
diff --git a/app/code/Magento/Core/Model/Layout/File/Source/Override/Base.php b/app/code/Magento/Core/Model/Layout/File/Source/Override/Base.php
index 02889c46ce12354a37b7b90ad7c7f524dab3fbc9..121c33d0ca54c8cafd56be70880e8101ab738f7c 100644
--- a/app/code/Magento/Core/Model/Layout/File/Source/Override/Base.php
+++ b/app/code/Magento/Core/Model/Layout/File/Source/Override/Base.php
@@ -35,7 +35,7 @@ class Base implements \Magento\Core\Model\Layout\File\SourceInterface
     private $_filesystem;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     private $_dirs;
 
@@ -46,12 +46,12 @@ class Base implements \Magento\Core\Model\Layout\File\SourceInterface
 
     /**
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Core\Model\Layout\File\Factory $fileFactory
      */
     public function __construct(
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Core\Model\Layout\File\Factory $fileFactory
     ) {
         $this->_filesystem = $filesystem;
@@ -62,12 +62,12 @@ class Base implements \Magento\Core\Model\Layout\File\SourceInterface
     /**
      * {@inheritdoc}
      */
-    public function getFiles(\Magento\Core\Model\ThemeInterface $theme)
+    public function getFiles(\Magento\View\Design\ThemeInterface $theme)
     {
         $namespace = $module = '*';
         $themePath = $theme->getFullPath();
         $files = $this->_filesystem->searchKeys(
-            $this->_dirs->getDir(\Magento\Core\Model\Dir::THEMES),
+            $this->_dirs->getDir(\Magento\App\Dir::THEMES),
             "{$themePath}/{$namespace}_{$module}/layout/override/*.xml"
         );
         $result = array();
diff --git a/app/code/Magento/Core/Model/Layout/File/Source/Override/Theme.php b/app/code/Magento/Core/Model/Layout/File/Source/Override/Theme.php
index d490fa463737fc45255e08ef55f969a68370a3fa..ad8e7065fbaf09e42bee0a468f65dfe826eda498 100644
--- a/app/code/Magento/Core/Model/Layout/File/Source/Override/Theme.php
+++ b/app/code/Magento/Core/Model/Layout/File/Source/Override/Theme.php
@@ -35,7 +35,7 @@ class Theme implements \Magento\Core\Model\Layout\File\SourceInterface
     private $_filesystem;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     private $_dirs;
 
@@ -46,12 +46,12 @@ class Theme implements \Magento\Core\Model\Layout\File\SourceInterface
 
     /**
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Core\Model\Layout\File\Factory $fileFactory
      */
     public function __construct(
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Core\Model\Layout\File\Factory $fileFactory
     ) {
         $this->_filesystem = $filesystem;
@@ -62,12 +62,12 @@ class Theme implements \Magento\Core\Model\Layout\File\SourceInterface
     /**
      * {@inheritdoc}
      */
-    public function getFiles(\Magento\Core\Model\ThemeInterface $theme)
+    public function getFiles(\Magento\View\Design\ThemeInterface $theme)
     {
         $namespace = $module = '*';
         $themePath = $theme->getFullPath();
         $files = $this->_filesystem->searchKeys(
-            $this->_dirs->getDir(\Magento\Core\Model\Dir::THEMES),
+            $this->_dirs->getDir(\Magento\App\Dir::THEMES),
             "{$themePath}/{$namespace}_{$module}/layout/override/*/*.xml"
         );
 
diff --git a/app/code/Magento/Core/Model/Layout/File/Source/Theme.php b/app/code/Magento/Core/Model/Layout/File/Source/Theme.php
index a3ececa9408d582fda642a07a3bf6ac00478c726..2cdd4d4eec66beb8cb324256c5609ae9c4f689e4 100644
--- a/app/code/Magento/Core/Model/Layout/File/Source/Theme.php
+++ b/app/code/Magento/Core/Model/Layout/File/Source/Theme.php
@@ -35,7 +35,7 @@ class Theme implements \Magento\Core\Model\Layout\File\SourceInterface
     private $_filesystem;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     private $_dirs;
 
@@ -46,12 +46,12 @@ class Theme implements \Magento\Core\Model\Layout\File\SourceInterface
 
     /**
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Core\Model\Layout\File\Factory $fileFactory
      */
     public function __construct(
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Core\Model\Layout\File\Factory $fileFactory
     ) {
         $this->_filesystem = $filesystem;
@@ -62,12 +62,12 @@ class Theme implements \Magento\Core\Model\Layout\File\SourceInterface
     /**
      * {@inheritdoc}
      */
-    public function getFiles(\Magento\Core\Model\ThemeInterface $theme)
+    public function getFiles(\Magento\View\Design\ThemeInterface $theme)
     {
         $namespace = $module = '*';
         $themePath = $theme->getFullPath();
         $files = $this->_filesystem->searchKeys(
-            $this->_dirs->getDir(\Magento\Core\Model\Dir::THEMES),
+            $this->_dirs->getDir(\Magento\App\Dir::THEMES),
             "{$themePath}/{$namespace}_{$module}/layout/*.xml"
         );
         $result = array();
diff --git a/app/code/Magento/Core/Model/Layout/File/SourceInterface.php b/app/code/Magento/Core/Model/Layout/File/SourceInterface.php
index 3b414b1e3f66f96c295f21d541e874fd13595333..5f95486b05e7723484c76346e62738121b3aa3a4 100644
--- a/app/code/Magento/Core/Model/Layout/File/SourceInterface.php
+++ b/app/code/Magento/Core/Model/Layout/File/SourceInterface.php
@@ -32,8 +32,8 @@ interface SourceInterface
     /**
      * Retrieve instances of layout files
      *
-     * @param \Magento\Core\Model\ThemeInterface $theme Theme that defines the design context
+     * @param \Magento\View\Design\ThemeInterface $theme Theme that defines the design context
      * @return \Magento\Core\Model\Layout\File[]
      */
-    public function getFiles(\Magento\Core\Model\ThemeInterface $theme);
+    public function getFiles(\Magento\View\Design\ThemeInterface $theme);
 }
diff --git a/app/code/Magento/Core/Model/Layout/Merge.php b/app/code/Magento/Core/Model/Layout/Merge.php
index 0d460020c2c98567be228924d194aed1e79e0896..7c7927de9034d75bdda75c1ed356073399f7f0d3 100644
--- a/app/code/Magento/Core/Model/Layout/Merge.php
+++ b/app/code/Magento/Core/Model/Layout/Merge.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Core\Model\Layout;
 
-class Merge
+class Merge implements  \Magento\View\Layout\ProcessorInterface
 {
     /**#@+
      * Available item type names
@@ -56,7 +56,7 @@ class Merge
     /**
      * In-memory cache for loaded layout updates
      *
-     * @var \Magento\Core\Model\Layout\Element
+     * @var \Magento\View\Layout\Element
      */
     protected $_layoutUpdatesCache;
 
@@ -99,7 +99,7 @@ class Merge
     private $_resource;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     private $_appState;
 
@@ -121,26 +121,26 @@ class Merge
     /**
      * Init merge model
      *
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Layout\File\SourceInterface $fileSource,
      * @param \Magento\Core\Model\Resource\Layout\Update $resource
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Cache\FrontendInterface $cache
      * @param \Magento\Adminhtml\Model\LayoutUpdate\Validator $validator
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Theme $theme Non-injectable theme instance
+     * @param \Magento\View\Design\ThemeInterface $theme Non-injectable theme instance
      */
     public function __construct(
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Layout\File\SourceInterface $fileSource,
         \Magento\Core\Model\Resource\Layout\Update $resource,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Cache\FrontendInterface $cache,
         \Magento\Adminhtml\Model\LayoutUpdate\Validator $validator,
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Theme $theme = null
+        \Magento\View\Design\ThemeInterface $theme = null
     ) {
         $this->_theme = $theme ?: $design->getDesignTheme();
         $this->_store = $storeManager->getStore();
@@ -291,7 +291,7 @@ class Merge
      * Get handle xml node by handle name
      *
      * @param string $handleName
-     * @return \Magento\Core\Model\Layout\Element|null
+     * @return \Magento\View\Layout\Element|null
      */
     protected function _getPageHandleNode($handleName)
     {
@@ -366,7 +366,7 @@ class Merge
         }
         $xpath = '/layouts/*[' . implode(' or ', $conditions) . ']';
         $nodes = $this->getFileLayoutUpdatesXml()->xpath($xpath) ?: array();
-        /** @var $node \Magento\Core\Model\Layout\Element */
+        /** @var $node \Magento\View\Layout\Element */
         foreach ($nodes as $node) {
             $name = $node->getAttribute('id');
             $info = array(
@@ -424,7 +424,7 @@ class Merge
         }
 
         $layout = $this->asString();
-        if ($this->_appState->getMode() === \Magento\Core\Model\App\State::MODE_DEVELOPER) {
+        if ($this->_appState->getMode() === \Magento\App\State::MODE_DEVELOPER) {
             if (!$this->_layoutValidator->isValid(
                     $layout,
                     \Magento\Adminhtml\Model\LayoutUpdate\Validator::LAYOUT_SCHEMA_MERGED,
@@ -443,7 +443,7 @@ class Merge
     }
 
     /**
-     * Get layout updates as \Magento\Core\Model\Layout\Element object
+     * Get layout updates as \Magento\View\Layout\Element object
      *
      * @return \SimpleXMLElement
      */
@@ -463,7 +463,7 @@ class Merge
      */
     protected function _loadXmlString($xmlString)
     {
-        return simplexml_load_string($xmlString, 'Magento\Core\Model\Layout\Element');
+        return simplexml_load_string($xmlString, 'Magento\View\Layout\Element');
     }
 
     /**
@@ -582,7 +582,7 @@ class Merge
     /**
      * Retrieve already merged layout updates from files for specified area/theme/package/store
      *
-     * @return \Magento\Core\Model\Layout\Element
+     * @return \Magento\View\Layout\Element
      */
     public function getFileLayoutUpdatesXml()
     {
@@ -639,7 +639,7 @@ class Merge
      * Collect and merge layout updates from files
      *
      * @throws \Magento\Exception
-     * @return \Magento\Core\Model\Layout\Element
+     * @return \Magento\View\Layout\Element
      */
     protected function _loadFileLayoutUpdatesXml()
     {
@@ -649,7 +649,7 @@ class Merge
         foreach ($updateFiles as $file) {
             $fileStr = file_get_contents($file->getFilename());
             $fileStr = $this->_substitutePlaceholders($fileStr);
-            /** @var $fileXml \Magento\Core\Model\Layout\Element */
+            /** @var $fileXml \Magento\View\Layout\Element */
             $fileXml = $this->_loadXmlString($fileStr);
             if (!$file->isBase() && $fileXml->xpath(self::XPATH_HANDLE_DECLARATION)) {
                 throw new \Magento\Exception(sprintf(
@@ -670,11 +670,11 @@ class Merge
     /**
      * Find the closest physical theme among ancestors and a theme itself
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return \Magento\Core\Model\Theme
      * @throws \Magento\Exception
      */
-    protected function _getPhysicalTheme(\Magento\Core\Model\Theme $theme)
+    protected function _getPhysicalTheme(\Magento\View\Design\ThemeInterface $theme)
     {
         $result = $theme;
         while ($result->getId() && !$result->isPhysical()) {
@@ -716,7 +716,7 @@ class Merge
     {
         $result = array();
         $containerNodes = $this->asSimplexml()->xpath('//container');
-        /** @var $oneContainerNode \Magento\Core\Model\Layout\Element */
+        /** @var $oneContainerNode \Magento\View\Layout\Element */
         foreach ($containerNodes as $oneContainerNode) {
             $label = $oneContainerNode->getAttribute('label');
             if ($label) {
diff --git a/app/code/Magento/Core/Model/Locale.php b/app/code/Magento/Core/Model/Locale.php
index d5161ae22b11134e4bc3b245850b22d19a8728cf..3dfcfb390bc097a8d26f683fb4281fbcd756d6f5 100644
--- a/app/code/Magento/Core/Model/Locale.php
+++ b/app/code/Magento/Core/Model/Locale.php
@@ -66,7 +66,7 @@ class Locale implements \Magento\Core\Model\LocaleInterface
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -83,7 +83,7 @@ class Locale implements \Magento\Core\Model\LocaleInterface
     protected $_coreStoreConfig;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -103,20 +103,20 @@ class Locale implements \Magento\Core\Model\LocaleInterface
     protected $_app;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Translate $translate
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Locale\Config $config
      * @param \Magento\Core\Model\App $app
      * @param string $locale
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Translate $translate,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Locale\Config $config,
         \Magento\Core\Model\App $app,
diff --git a/app/code/Magento/Core/Model/Locale/Hierarchy/Config/FileResolver.php b/app/code/Magento/Core/Model/Locale/Hierarchy/Config/FileResolver.php
index 61b2c3d9be6d81323358dca45b442926476c3e61..59c603adf84da5ec793bd0d263aeb0c4893a8e1b 100644
--- a/app/code/Magento/Core/Model/Locale/Hierarchy/Config/FileResolver.php
+++ b/app/code/Magento/Core/Model/Locale/Hierarchy/Config/FileResolver.php
@@ -29,14 +29,14 @@ class FileResolver implements \Magento\Config\FileResolverInterface
 {
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_applicationDirs;
 
     /**
-     * @param \Magento\Core\Model\Dir $applicationDirs
+     * @param \Magento\App\Dir $applicationDirs
      */
-    public function __construct(\Magento\Core\Model\Dir $applicationDirs)
+    public function __construct(\Magento\App\Dir $applicationDirs)
     {
         $this->_applicationDirs = $applicationDirs;
     }
@@ -46,7 +46,7 @@ class FileResolver implements \Magento\Config\FileResolverInterface
      */
     public function get($filename, $scope)
     {
-        $appLocaleDir = $this->_applicationDirs->getDir(\Magento\Core\Model\Dir::LOCALE);
+        $appLocaleDir = $this->_applicationDirs->getDir(\Magento\App\Dir::LOCALE);
         // Create pattern similar to app/locale/*/config.xml
         $filePattern = $appLocaleDir . DIRECTORY_SEPARATOR . '*' . DIRECTORY_SEPARATOR . $filename;
         $fileList = glob($filePattern, GLOB_BRACE);
diff --git a/app/code/Magento/Core/Model/Logger.php b/app/code/Magento/Core/Model/Logger.php
index deaf06c22e18cca0f71af8823b1e21b102e9f936..bc5bc45b052e386f5c8416734218c53d7c876408 100644
--- a/app/code/Magento/Core/Model/Logger.php
+++ b/app/code/Magento/Core/Model/Logger.php
@@ -44,7 +44,7 @@ class Logger
     protected $_loggers = array();
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs = null;
 
@@ -54,11 +54,11 @@ class Logger
     protected $_fileSystem;
 
     /**
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Io\File $fileSystem
      * @param string $defaultFile
      */
-    public function __construct(\Magento\Core\Model\Dir $dirs, \Magento\Io\File $fileSystem, $defaultFile = '')
+    public function __construct(\Magento\App\Dir $dirs, \Magento\Io\File $fileSystem, $defaultFile = '')
     {
         $this->_dirs = $dirs;
         $this->_fileSystem = $fileSystem;
@@ -81,7 +81,7 @@ class Logger
     {
         $file = $fileOrWrapper ?: "{$loggerKey}.log";
         if (!preg_match('#^[a-z][a-z0-9+.-]*\://#i', $file)) {
-            $logDir = $this->_dirs->getDir(\Magento\Core\Model\Dir::LOG);
+            $logDir = $this->_dirs->getDir(\Magento\App\Dir::LOG);
             $this->_fileSystem->checkAndCreateFolder($logDir);
             $file = $logDir . DIRECTORY_SEPARATOR . $file;
         }
diff --git a/app/code/Magento/Core/Model/ModuleManager.php b/app/code/Magento/Core/Model/ModuleManager.php
index 8aecfcbdc4f56e25fcf1c2b686df4fba17f19501..3aa3b8e9a283db0205b4cec78fcef9c99a48de1a 100644
--- a/app/code/Magento/Core/Model/ModuleManager.php
+++ b/app/code/Magento/Core/Model/ModuleManager.php
@@ -40,7 +40,7 @@ class ModuleManager
     private $_storeConfig;
 
     /**
-     * @var \Magento\Core\Model\ModuleListInterface
+     * @var \Magento\App\ModuleListInterface
      */
     private $_moduleList;
 
@@ -51,12 +51,12 @@ class ModuleManager
 
     /**
      * @param \Magento\Core\Model\Store\ConfigInterface $storeConfig
-     * @param \Magento\Core\Model\ModuleListInterface $moduleList
+     * @param \Magento\App\ModuleListInterface $moduleList
      * @param array $outputConfigPaths
      */
     public function __construct(
         \Magento\Core\Model\Store\ConfigInterface $storeConfig,
-        \Magento\Core\Model\ModuleListInterface $moduleList,
+        \Magento\App\ModuleListInterface $moduleList,
         array $outputConfigPaths = array()
     ) {
         $this->_storeConfig = $storeConfig;
diff --git a/app/code/Magento/Core/Model/ObjectManager.php b/app/code/Magento/Core/Model/ObjectManager.php
index 2b979512e9a8c673008cb8d3bbc6caf4cbf6697d..b06155b6cf359c3d767aaa4fced3d3a331456fdb 100644
--- a/app/code/Magento/Core/Model/ObjectManager.php
+++ b/app/code/Magento/Core/Model/ObjectManager.php
@@ -92,11 +92,11 @@ class ObjectManager extends \Magento\ObjectManager\ObjectManager
         );
 
         $localConfig = new \Magento\Core\Model\Config\Local(new \Magento\Core\Model\Config\Loader\Local(
-            $primaryConfig->getDirectories()->getDir(\Magento\Core\Model\Dir::CONFIG),
+            $primaryConfig->getDirectories()->getDir(\Magento\App\Dir::CONFIG),
             $primaryConfig->getParam(\Magento\Core\Model\App::PARAM_CUSTOM_LOCAL_CONFIG),
             $primaryConfig->getParam(\Magento\Core\Model\App::PARAM_CUSTOM_LOCAL_FILE)
         ));
-        $appMode = $primaryConfig->getParam(\Magento\Core\Model\App::PARAM_MODE, \Magento\Core\Model\App\State::MODE_DEFAULT);
+        $appMode = $primaryConfig->getParam(\Magento\Core\Model\App::PARAM_MODE, \Magento\App\State::MODE_DEFAULT);
         $factory = new \Magento\ObjectManager\Factory\Factory($config, $this, $definitions, array_replace(
             $localConfig->getParams(),
             $primaryConfig->getParams()
@@ -104,7 +104,7 @@ class ObjectManager extends \Magento\ObjectManager\ObjectManager
 
         $sharedInstances['Magento\Core\Model\Config\Local'] = $localConfig;
         $sharedInstances['Magento\Core\Model\Config\Primary'] = $primaryConfig;
-        $sharedInstances['Magento\Core\Model\Dir'] = $primaryConfig->getDirectories();
+        $sharedInstances['Magento\App\Dir'] = $primaryConfig->getDirectories();
         $sharedInstances['Magento\Core\Model\ObjectManager'] = $this;
 
         parent::__construct($factory, $config, $sharedInstances);
@@ -136,15 +136,18 @@ class ObjectManager extends \Magento\ObjectManager\ObjectManager
                 new \Magento\Code\Generator\Io(
                     new \Magento\Io\File(),
                     $autoloader,
-                    $primaryConfig->getDirectories()->getDir(\Magento\Core\Model\Dir::GENERATION)
+                    $primaryConfig->getDirectories()->getDir(\Magento\App\Dir::GENERATION)
                 )
             ));
         }
 
         \Magento\Profiler::stop('global_primary');
-        $verification = $this->get('Magento\Core\Model\Dir\Verification');
+        $verification = $this->get('Magento\App\Dir\Verification');
         $verification->createAndVerifyDirectories();
 
+        $this->_config->setCache($this->get('Magento\Core\Model\ObjectManager\ConfigCache'));
+        $this->configure($this->get('Magento\Core\Model\ObjectManager\ConfigLoader')->load('global'));
+
         $interceptionConfig = $this->create('Magento\Interception\Config\Config', array(
             'relations' => $definitionFactory->createRelations(),
             'omConfig' => $this->_config,
@@ -171,8 +174,6 @@ class ObjectManager extends \Magento\ObjectManager\ObjectManager
             'config' => $interceptionConfig,
             'pluginList' => $pluginList
         ));
-        $this->_config->setCache($this->get('Magento\Core\Model\ObjectManager\ConfigCache'));
-        $this->configure($this->get('Magento\Core\Model\ObjectManager\ConfigLoader')->load('global'));
         $this->get('Magento\Core\Model\Resource')->setConfig($this->get('Magento\Core\Model\Config\Resource'));
 
         self::setInstance($this);
diff --git a/app/code/Magento/Core/Model/ObjectManager/ConfigLoader/Primary.php b/app/code/Magento/Core/Model/ObjectManager/ConfigLoader/Primary.php
index 5808e7caec9dc643c7a65fbcee0e58bf1b05b657..d8d4bb71f00026502445812da8e9e34fb6c24ca1 100644
--- a/app/code/Magento/Core/Model/ObjectManager/ConfigLoader/Primary.php
+++ b/app/code/Magento/Core/Model/ObjectManager/ConfigLoader/Primary.php
@@ -33,15 +33,15 @@ class Primary
     protected $_appMode;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
     /**
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param string $appMode
      */
-    public function __construct(\Magento\Core\Model\Dir $dirs, $appMode = \Magento\Core\Model\App\State::MODE_DEFAULT)
+    public function __construct(\Magento\App\Dir $dirs, $appMode = \Magento\App\State::MODE_DEFAULT)
     {
         $this->_dirs = $dirs;
         $this->_appMode = $appMode;
diff --git a/app/code/Magento/Core/Model/ObjectManager/DefinitionFactory.php b/app/code/Magento/Core/Model/ObjectManager/DefinitionFactory.php
index f5f49a51da393ac2ab80a7430908206c67befc02..a24fe3d0e1093c78a5da5d9caef05191ee40e6d7 100644
--- a/app/code/Magento/Core/Model/ObjectManager/DefinitionFactory.php
+++ b/app/code/Magento/Core/Model/ObjectManager/DefinitionFactory.php
@@ -92,7 +92,7 @@ class DefinitionFactory
             $definitionModel = $this->_getDefinitionModel($this->_definitionFormat);
             $output = new $definitionModel($definitions);
         } else {
-            $genDir = $this->_config->getDirectories()->getDir(\Magento\Core\Model\Dir::GENERATION);
+            $genDir = $this->_config->getDirectories()->getDir(\Magento\App\Dir::GENERATION);
             $autoloader = new \Magento\Autoload\IncludePath();
             $generatorIo = new \Magento\Code\Generator\Io(new \Magento\Io\File(), $autoloader, $genDir);
             $generator = new \Magento\Code\Generator\ClassGenerator(
diff --git a/app/code/Magento/Core/Model/Observer.php b/app/code/Magento/Core/Model/Observer.php
index 39dd651575be5109ee6541f7a63e769c42241509..468be6d48c013cf3fc04b973873982a73d2d9c4f 100644
--- a/app/code/Magento/Core/Model/Observer.php
+++ b/app/code/Magento/Core/Model/Observer.php
@@ -70,7 +70,7 @@ class Observer
 
     /**
      * @param \Magento\Core\Model\Cache\Frontend\Pool $cacheFrontendPool
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Page $page
      * @param \Magento\Core\Model\ConfigInterface $config
      * @param \Magento\Core\Model\Page\Asset\PublicFileFactory $assetFileFactory
@@ -79,7 +79,7 @@ class Observer
      */
     public function __construct(
         \Magento\Core\Model\Cache\Frontend\Pool $cacheFrontendPool,
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Page $page,
         \Magento\Core\Model\ConfigInterface $config,
         \Magento\Core\Model\Page\Asset\PublicFileFactory $assetFileFactory,
diff --git a/app/code/Magento/Core/Model/Page/Asset/MergeService.php b/app/code/Magento/Core/Model/Page/Asset/MergeService.php
index e7fc39ccff1d97092e0852cc0256362d1e89b018..30731ab0bbe90ec1ebb21f668268a6c86310c531 100644
--- a/app/code/Magento/Core/Model/Page/Asset/MergeService.php
+++ b/app/code/Magento/Core/Model/Page/Asset/MergeService.php
@@ -52,12 +52,12 @@ class MergeService
     private $_filesystem;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     private $_dirs;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     private $_state;
 
@@ -65,15 +65,15 @@ class MergeService
      * @param \Magento\ObjectManager $objectManager
      * @param \Magento\Core\Model\Store\Config $storeConfig
      * @param \Magento\Filesystem $filesystem,
-     * @param \Magento\Core\Model\Dir $dirs
-     * @param \Magento\Core\Model\App\State $state
+     * @param \Magento\App\Dir $dirs
+     * @param \Magento\App\State $state
      */
     public function __construct(
         \Magento\ObjectManager $objectManager,
         \Magento\Core\Model\Store\Config $storeConfig,
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dirs,
-        \Magento\Core\Model\App\State $state
+        \Magento\App\Dir $dirs,
+        \Magento\App\State $state
     ) {
         $this->_objectManager = $objectManager;
         $this->_storeConfig = $storeConfig;
@@ -101,7 +101,7 @@ class MergeService
         $isCssMergeEnabled = $this->_storeConfig->getConfigFlag(self::XML_PATH_MERGE_CSS_FILES);
         $isJsMergeEnabled = $this->_storeConfig->getConfigFlag(self::XML_PATH_MERGE_JS_FILES);
         if (($isCss && $isCssMergeEnabled) || ($isJs && $isJsMergeEnabled)) {
-            if ($this->_state->getMode() == \Magento\Core\Model\App\State::MODE_PRODUCTION) {
+            if ($this->_state->getMode() == \Magento\App\State::MODE_PRODUCTION) {
                 $mergeStrategyClass = 'Magento\Core\Model\Page\Asset\MergeStrategy\FileExists';
             } else {
                 $mergeStrategyClass = 'Magento\Core\Model\Page\Asset\MergeStrategy\Checksum';
@@ -121,7 +121,7 @@ class MergeService
      */
     public function cleanMergedJsCss()
     {
-        $mergedDir = $this->_dirs->getDir(\Magento\Core\Model\Dir::PUB_VIEW_CACHE) . '/'
+        $mergedDir = $this->_dirs->getDir(\Magento\App\Dir::PUB_VIEW_CACHE) . '/'
             . \Magento\Core\Model\Page\Asset\Merged::PUBLIC_MERGE_DIR;
         $this->_filesystem->delete($mergedDir);
 
diff --git a/app/code/Magento/Core/Model/Page/Asset/MergeStrategy/Direct.php b/app/code/Magento/Core/Model/Page/Asset/MergeStrategy/Direct.php
index a0910bec784a8650325a02663a7365d68baae183..3361279a13ff6206796b36893e6ec6f4dfea059b 100644
--- a/app/code/Magento/Core/Model/Page/Asset/MergeStrategy/Direct.php
+++ b/app/code/Magento/Core/Model/Page/Asset/MergeStrategy/Direct.php
@@ -35,7 +35,7 @@ class Direct implements \Magento\Core\Model\Page\Asset\MergeStrategyInterface
     private $_filesystem;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     private $_dirs;
 
@@ -46,12 +46,12 @@ class Direct implements \Magento\Core\Model\Page\Asset\MergeStrategyInterface
 
     /**
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Core\Helper\Css $cssHelper
      */
     public function __construct(
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Core\Helper\Css $cssHelper
     ) {
         $this->_filesystem = $filesystem;
diff --git a/app/code/Magento/Core/Model/Page/Asset/Merged.php b/app/code/Magento/Core/Model/Page/Asset/Merged.php
index c9a4fb8c1fafb5b9604286e5a79dc35829cded34..8224ff51ffd6c2030a432e3b9961f12ab0f99583 100644
--- a/app/code/Magento/Core/Model/Page/Asset/Merged.php
+++ b/app/code/Magento/Core/Model/Page/Asset/Merged.php
@@ -69,7 +69,7 @@ class Merged implements \Iterator
     /**
      * @param \Magento\ObjectManager $objectManager
      * @param \Magento\Core\Model\Logger $logger,
-     * @param \Magento\Core\Model\Dir $dirs,
+     * @param \Magento\App\Dir $dirs,
      * @param \Magento\Core\Model\Page\Asset\MergeStrategyInterface $mergeStrategy
      * @param array $assets
      * @throws \InvalidArgumentException
@@ -77,7 +77,7 @@ class Merged implements \Iterator
     public function __construct(
         \Magento\ObjectManager $objectManager,
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Core\Model\Page\Asset\MergeStrategyInterface $mergeStrategy,
         array $assets
     ) {
@@ -165,8 +165,8 @@ class Merged implements \Iterator
      */
     protected function _getMergedFilePath(array $publicFiles)
     {
-        $jsDir = \Magento\Filesystem::fixSeparator($this->_dirs->getDir(\Magento\Core\Model\Dir::PUB_LIB));
-        $publicDir = \Magento\Filesystem::fixSeparator($this->_dirs->getDir(\Magento\Core\Model\Dir::STATIC_VIEW));
+        $jsDir = \Magento\Filesystem::fixSeparator($this->_dirs->getDir(\Magento\App\Dir::PUB_LIB));
+        $publicDir = \Magento\Filesystem::fixSeparator($this->_dirs->getDir(\Magento\App\Dir::STATIC_VIEW));
         $prefixRemovals = array($jsDir, $publicDir);
 
         $relFileNames = array();
@@ -175,7 +175,7 @@ class Merged implements \Iterator
             $relFileNames[] = str_replace($prefixRemovals, '', $file);
         }
 
-        $mergedDir = $this->_dirs->getDir(\Magento\Core\Model\Dir::PUB_VIEW_CACHE) . '/'
+        $mergedDir = $this->_dirs->getDir(\Magento\App\Dir::PUB_VIEW_CACHE) . '/'
             . self::PUBLIC_MERGE_DIR;
         return $mergedDir . '/' . md5(implode('|', $relFileNames)) . '.' . $this->_contentType;
     }
diff --git a/app/code/Magento/Core/Model/Page/Asset/MinifyService.php b/app/code/Magento/Core/Model/Page/Asset/MinifyService.php
index 65ea7e10b44dc0f8e7919fd4ebf33225ca0aef1c..40843490f03aa3209bdb8068996a6373bbd31901 100644
--- a/app/code/Magento/Core/Model/Page/Asset/MinifyService.php
+++ b/app/code/Magento/Core/Model/Page/Asset/MinifyService.php
@@ -57,26 +57,26 @@ class MinifyService
     protected $_minifiers = array();
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
     /**
      * @param \Magento\Core\Model\Store\Config $config
      * @param \Magento\ObjectManager $objectManager
-     * @param \Magento\Core\Model\Dir $dirs
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\Dir $dirs
+     * @param \Magento\App\State $appState
      */
     public function __construct(
         \Magento\Core\Model\Store\Config $config,
         \Magento\ObjectManager $objectManager,
-        \Magento\Core\Model\Dir $dirs,
-        \Magento\Core\Model\App\State $appState
+        \Magento\App\Dir $dirs,
+        \Magento\App\State $appState
     ) {
         $this->_storeConfig = $config;
         $this->_objectManager = $objectManager;
@@ -123,7 +123,7 @@ class MinifyService
                 'adapter' => $adapter,
             );
             switch ($this->_appState->getMode()) {
-                case \Magento\Core\Model\App\State::MODE_PRODUCTION:
+                case \Magento\App\State::MODE_PRODUCTION:
                     $strategy = $this->_objectManager->create('Magento\Code\Minifier\Strategy\Lite', $strategyParams);
                     break;
                 default:
@@ -134,7 +134,7 @@ class MinifyService
             $this->_minifiers[$contentType] = $this->_objectManager->create('Magento\Code\Minifier',
                 array(
                     'strategy' => $strategy,
-                    'baseDir' => $this->_dirs->getDir(\Magento\Core\Model\Dir::PUB_VIEW_CACHE) . '/minify',
+                    'baseDir' => $this->_dirs->getDir(\Magento\App\Dir::PUB_VIEW_CACHE) . '/minify',
                 )
             );
         }
diff --git a/app/code/Magento/Core/Model/Resource/Config/Value/Collection/Scoped.php b/app/code/Magento/Core/Model/Resource/Config/Value/Collection/Scoped.php
index bd5b17d3e757d3b4eb08fae853ad8ff7a9a4f38a..6ff0dc81f5e04923c26b5d73fa8875746756a115 100644
--- a/app/code/Magento/Core/Model/Resource/Config/Value/Collection/Scoped.php
+++ b/app/code/Magento/Core/Model/Resource/Config/Value/Collection/Scoped.php
@@ -42,7 +42,7 @@ class Scoped extends \Magento\Core\Model\Resource\Db\Collection\AbstractCollecti
     protected $_scopeId;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -51,7 +51,7 @@ class Scoped extends \Magento\Core\Model\Resource\Db\Collection\AbstractCollecti
      * @param null $scopeId
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Core/Model/Resource/Db/Collection/AbstractCollection.php b/app/code/Magento/Core/Model/Resource/Db/Collection/AbstractCollection.php
index 4ea612cf9614f3e39120357e119dd58f0714bda4..06108c61f90e19ead2371bebbb08511ca88577db 100644
--- a/app/code/Magento/Core/Model/Resource/Db/Collection/AbstractCollection.php
+++ b/app/code/Magento/Core/Model/Resource/Db/Collection/AbstractCollection.php
@@ -116,19 +116,19 @@ abstract class AbstractCollection extends \Magento\Data\Collection\Db
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Core/Model/Resource/Layout/Update.php b/app/code/Magento/Core/Model/Resource/Layout/Update.php
index 4c2caab91aabe3b93b351ea632e564e3aa346aab..37b921a5f41b3c468e22f317683725d88116c932 100644
--- a/app/code/Magento/Core/Model/Resource/Layout/Update.php
+++ b/app/code/Magento/Core/Model/Resource/Layout/Update.php
@@ -60,11 +60,11 @@ class Update extends \Magento\Core\Model\Resource\Db\AbstractDb
      * Retrieve layout updates by handle
      *
      * @param string $handle
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @param \Magento\Core\Model\Store $store
      * @return string
      */
-    public function fetchUpdatesByHandle($handle, \Magento\Core\Model\Theme $theme, \Magento\Core\Model\Store $store)
+    public function fetchUpdatesByHandle($handle, \Magento\View\Design\ThemeInterface $theme, \Magento\Core\Model\Store $store)
     {
         $bind = array(
             'layout_update_handle' => $handle,
diff --git a/app/code/Magento/Core/Model/Resource/Session.php b/app/code/Magento/Core/Model/Resource/Session.php
index 407397cef4560e47b902a15d9c36d62c1ef56b8d..913c2fb12be2b1a4688bf551cef0053685298dc1 100644
--- a/app/code/Magento/Core/Model/Resource/Session.php
+++ b/app/code/Magento/Core/Model/Resource/Session.php
@@ -58,7 +58,7 @@ class Session implements \Zend_Session_SaveHandler_Interface
     protected $_write;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -66,9 +66,9 @@ class Session implements \Zend_Session_SaveHandler_Interface
      * Constructor
      *
      * @param \Magento\Core\Model\Resource $resource
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      */
-    public function __construct(\Magento\Core\Model\Resource $resource, \Magento\Core\Model\Dir $dir)
+    public function __construct(\Magento\Core\Model\Resource $resource, \Magento\App\Dir $dir)
     {
         $this->_sessionTable = $resource->getTableName('core_session');
         $this->_write        = $resource->getConnection('core_write');
diff --git a/app/code/Magento/Core/Model/Resource/Setup.php b/app/code/Magento/Core/Model/Resource/Setup.php
index 99a72bcaa02813e3ab68b7b2e815c1997cfde322..1bdde6f9065e3fb7eb4f165d60dd9651580128cb 100644
--- a/app/code/Magento/Core/Model/Resource/Setup.php
+++ b/app/code/Magento/Core/Model/Resource/Setup.php
@@ -25,7 +25,7 @@
  */
 namespace Magento\Core\Model\Resource;
 
-class Setup implements \Magento\Core\Model\Resource\SetupInterface
+class Setup implements \Magento\App\Updater\SetupInterface
 {
     /**
      * Setup resource name
@@ -81,7 +81,7 @@ class Setup implements \Magento\Core\Model\Resource\SetupInterface
     protected $_modulesReader;
 
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -801,7 +801,7 @@ class Setup implements \Magento\Core\Model\Resource\SetupInterface
     }
 
     /**
-     * @return \Magento\Core\Model\Event\Manager
+     * @return \Magento\Event\ManagerInterface
      */
     public function getEventManager()
     {
diff --git a/app/code/Magento/Core/Model/Resource/Setup/Context.php b/app/code/Magento/Core/Model/Resource/Setup/Context.php
index c839388a5ffbb47931d9480a89dabf0c944fe9e7..d885f8dd82d5e10405e4ba4ba4bcfffdda0f2fcc 100644
--- a/app/code/Magento/Core/Model/Resource/Setup/Context.php
+++ b/app/code/Magento/Core/Model/Resource/Setup/Context.php
@@ -31,7 +31,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_logger;
 
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -46,7 +46,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_modulesReader;
 
     /**
-     * @var \Magento\Core\Model\ModuleListInterface
+     * @var \Magento\App\ModuleListInterface
      */
     protected $_moduleList;
 
@@ -72,10 +72,10 @@ class Context implements \Magento\ObjectManager\ContextInterface
 
     /**
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Resource $resource
      * @param \Magento\Core\Model\Config\Modules\Reader $modulesReader
-     * @param \Magento\Core\Model\ModuleListInterface $moduleList
+     * @param \Magento\App\ModuleListInterface $moduleList
      * @param \Magento\Core\Model\Resource\Resource $resourceResource
      * @param \Magento\Core\Model\Resource\Setup\MigrationFactory $migrationFactory
      * @param \Magento\Core\Model\Resource\Theme\CollectionFactory $themeResourceFactory
@@ -83,10 +83,10 @@ class Context implements \Magento\ObjectManager\ContextInterface
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Resource $resource,
         \Magento\Core\Model\Config\Modules\Reader $modulesReader,
-        \Magento\Core\Model\ModuleListInterface $moduleList,
+        \Magento\App\ModuleListInterface $moduleList,
         \Magento\Core\Model\Resource\Resource $resourceResource,
         \Magento\Core\Model\Resource\Setup\MigrationFactory $migrationFactory,
         \Magento\Core\Model\Resource\Theme\CollectionFactory $themeResourceFactory,
@@ -104,7 +104,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Event\Manager
+     * @return \Magento\Event\ManagerInterface
      */
     public function getEventManager()
     {
@@ -112,7 +112,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Logger
+     * @return \Magento\Core\Model\Logger
      */
     public function getLogger()
     {
@@ -120,7 +120,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\ModuleListInterface
+     * @return \Magento\App\ModuleListInterface
      */
     public function getModuleList()
     {
@@ -128,7 +128,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Config\Modules\Reader
+     * @return \Magento\Core\Model\Config\Modules\Reader
      */
     public function getModulesReader()
     {
@@ -136,7 +136,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Resource
+     * @return \Magento\Core\Model\Resource
      */
     public function getResourceModel()
     {
@@ -144,7 +144,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Resource\Setup\MigrationFactory
+     * @return \Magento\Core\Model\Resource\Setup\MigrationFactory
      */
     public function getMigrationFactory()
     {
@@ -152,7 +152,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Resource\Resource
+     * @return \Magento\Core\Model\Resource\Resource
      */
     public function getResourceResource()
     {
@@ -160,7 +160,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Theme\CollectionFactory
+     * @return \Magento\Core\Model\Theme\CollectionFactory
      */
     public function getThemeFactory()
     {
@@ -168,7 +168,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Resource\Theme\CollectionFactory
+     * @return \Magento\Core\Model\Resource\Theme\CollectionFactory
      */
     public function getThemeResourceFactory()
     {
diff --git a/app/code/Magento/Core/Model/Resource/Setup/Migration.php b/app/code/Magento/Core/Model/Resource/Setup/Migration.php
index 5da16eb9e80deb7c045c44e38218ca0b7c0a1c36..480d4dec4f38435c8e34b48bdafad75b3bc581a2 100644
--- a/app/code/Magento/Core/Model/Resource/Setup/Migration.php
+++ b/app/code/Magento/Core/Model/Resource/Setup/Migration.php
@@ -150,17 +150,17 @@ class Migration extends \Magento\Core\Model\Resource\Setup
     protected $_filesystem;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
     /**
-     * @param \Magento\Core\Model\Resource\Setup\Context $context
+     * @param Context $context
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Core\Helper\Data $helper
-     * @param \Magento\Core\Model\Dir $dir
-     * @param string $resourceName
-     * @param string $confPathToMapFile
+     * @param \Magento\App\Dir $dir
+     * @param $resourceName
+     * @param $confPathToMapFile
      * @param string $moduleName
      * @param string $connectionName
      */
@@ -168,7 +168,7 @@ class Migration extends \Magento\Core\Model\Resource\Setup
         \Magento\Core\Model\Resource\Setup\Context $context,
         \Magento\Filesystem $filesystem,
         \Magento\Core\Helper\Data $helper,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         $resourceName,
         $confPathToMapFile,
         $moduleName = 'Magento_Core',
diff --git a/app/code/Magento/Core/Model/Resource/Theme/Collection.php b/app/code/Magento/Core/Model/Resource/Theme/Collection.php
index 0f7c4db359e56cd9a67b4cbd287b446365dca671..9b69e996c0f66f340434deb5e836cac875ebc4b2 100644
--- a/app/code/Magento/Core/Model/Resource/Theme/Collection.php
+++ b/app/code/Magento/Core/Model/Resource/Theme/Collection.php
@@ -161,15 +161,15 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     /**
      * Update all child themes relations
      *
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @return $this
      */
-    public function updateChildRelations(\Magento\Core\Model\Theme $themeModel)
+    public function updateChildRelations(\Magento\View\Design\ThemeInterface $themeModel)
     {
         $parentThemeId = $themeModel->getParentId();
         $this->addFieldToFilter('parent_id', array('eq' => $themeModel->getId()))->load();
 
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($this->getItems() as $theme) {
             $theme->setParentId($parentThemeId)->save();
         }
diff --git a/app/code/Magento/Core/Model/Resource/Theme/File/Collection.php b/app/code/Magento/Core/Model/Resource/Theme/File/Collection.php
index 3cf66ead44fff9114650ca3238429dbae55d8cbf..cbc6de8ddbbbff5dc8526b28264172af886da08f 100644
--- a/app/code/Magento/Core/Model/Resource/Theme/File/Collection.php
+++ b/app/code/Magento/Core/Model/Resource/Theme/File/Collection.php
@@ -67,10 +67,10 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     /**
      * Filter out files that do not belong to a theme
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return \Magento\Core\Model\Resource\Theme\File\Collection
      */
-    public function addThemeFilter(\Magento\Core\Model\Theme $theme)
+    public function addThemeFilter(\Magento\View\Design\ThemeInterface $theme)
     {
         $this->addFieldToFilter('theme_id', $theme->getId());
         return $this;
diff --git a/app/code/Magento/Core/Model/Resource/Translate.php b/app/code/Magento/Core/Model/Resource/Translate.php
index 976c2c043faf162b92b06de3837d9d10c3488297..215efc0aff9cbe39b5cf4dab5e6f34ed5cd3edc0 100644
--- a/app/code/Magento/Core/Model/Resource/Translate.php
+++ b/app/code/Magento/Core/Model/Resource/Translate.php
@@ -37,7 +37,7 @@ namespace Magento\Core\Model\Resource;
 class Translate extends \Magento\Core\Model\Resource\Db\AbstractDb
 {
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -48,12 +48,12 @@ class Translate extends \Magento\Core\Model\Resource\Db\AbstractDb
 
     /**
      * @param \Magento\Core\Model\Resource $resource
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\StoreManager $storeManager
      */
     public function __construct(
         \Magento\Core\Model\Resource $resource,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\StoreManager $storeManager
     ) {
         parent::__construct($resource);
diff --git a/app/code/Magento/Core/Model/Resource/Type/Db/Pdo/Mysql.php b/app/code/Magento/Core/Model/Resource/Type/Db/Pdo/Mysql.php
index 8550c7ac5082a727ad5dcb3706e9c2bc45a89c75..b0540c2c950a8bb34f62f1174737558f5eca7c5d 100644
--- a/app/code/Magento/Core/Model/Resource/Type/Db/Pdo/Mysql.php
+++ b/app/code/Magento/Core/Model/Resource/Type/Db/Pdo/Mysql.php
@@ -29,7 +29,7 @@ class Mysql extends \Magento\Core\Model\Resource\Type\Db
     /**
      * Dirs instance
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
@@ -49,7 +49,7 @@ class Mysql extends \Magento\Core\Model\Resource\Type\Db
     protected $_isActive;
 
     /**
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param string $host
      * @param string $username
      * @param string $password
@@ -60,7 +60,7 @@ class Mysql extends \Magento\Core\Model\Resource\Type\Db
      * @param bool $active
      */
     public function __construct(
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         $host,
         $username,
         $password,
diff --git a/app/code/Magento/Core/Model/Resource/Url/Rewrite/Collection.php b/app/code/Magento/Core/Model/Resource/Url/Rewrite/Collection.php
index 9274787b51070c9cf8061aa5c59059bdfbd77ace..63d5e9da94e4f7ab86b8a59f4f35837908fd0f37 100644
--- a/app/code/Magento/Core/Model/Resource/Url/Rewrite/Collection.php
+++ b/app/code/Magento/Core/Model/Resource/Url/Rewrite/Collection.php
@@ -42,7 +42,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -50,7 +50,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Core/Model/Session/AbstractSession.php b/app/code/Magento/Core/Model/Session/AbstractSession.php
index c0c8ddbab7e2f98bac4e8aad47489dc29a3734ca..3760d5fd63664f4f2f55363ede94a9e9a69a9cfc 100644
--- a/app/code/Magento/Core/Model/Session/AbstractSession.php
+++ b/app/code/Magento/Core/Model/Session/AbstractSession.php
@@ -79,7 +79,7 @@ class AbstractSession extends \Magento\Object
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -120,12 +120,12 @@ class AbstractSession extends \Magento\Object
     protected $_messageFactory;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -135,7 +135,7 @@ class AbstractSession extends \Magento\Object
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
diff --git a/app/code/Magento/Core/Model/Session/Context.php b/app/code/Magento/Core/Model/Session/Context.php
index 1b4025b0b97ab75020414bbf0e929d7eef6f23b8..530e968a78fd91ec146f0c8ec49fd9f3a27516fa 100644
--- a/app/code/Magento/Core/Model/Session/Context.php
+++ b/app/code/Magento/Core/Model/Session/Context.php
@@ -38,7 +38,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_logger;
 
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -96,12 +96,12 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_messageFactory;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -111,7 +111,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -123,16 +123,16 @@ class Context implements \Magento\ObjectManager\ContextInterface
     /**
      * @param \Magento\Core\Model\Session\Validator $validator
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Http $coreHttp
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\Message\CollectionFactory $messageFactory
      * @param \Magento\Core\Model\Message $message
      * @param \Magento\Core\Model\Cookie $cookie
-     * @param \Magento\Core\Controller\Request\Http $request
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\RequestInterface $request
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\Url $url
      * @param $saveMethod
      * @param null $savePath
@@ -142,16 +142,16 @@ class Context implements \Magento\ObjectManager\ContextInterface
     public function __construct(
         \Magento\Core\Model\Session\Validator $validator,
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Http $coreHttp,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\Message\CollectionFactory $messageFactory,
         \Magento\Core\Model\Message $message,
         \Magento\Core\Model\Cookie $cookie,
-        \Magento\Core\Controller\Request\Http $request,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\RequestInterface $request,
+        \Magento\App\State $appState,
         \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\Url $url,
         $saveMethod,
         $savePath = null,
@@ -178,7 +178,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Event\Manager
+     * @return \Magento\Event\ManagerInterface
      */
     public function getEventManager()
     {
@@ -186,7 +186,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Helper\Http
+     * @return \Magento\Core\Helper\Http
      */
     public function getHttpHelper()
     {
@@ -194,7 +194,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Logger
+     * @return \Magento\Core\Model\Logger
      */
     public function getLogger()
     {
@@ -202,7 +202,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Store\Config
+     * @return \Magento\Core\Model\Store\Config
      */
     public function getStoreConfig()
     {
@@ -210,7 +210,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Session\Validator
+     * @return \Magento\Core\Model\Session\Validator
      */
     public function getValidator()
     {
@@ -250,7 +250,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\App\State
+     * @return \Magento\App\State
      */
     public function getAppState()
     {
@@ -258,7 +258,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Cookie
+     * @return \Magento\Core\Model\Cookie
      */
     public function getCookie()
     {
@@ -266,7 +266,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Dir
+     * @return \Magento\App\Dir
      */
     public function getDir()
     {
@@ -274,7 +274,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Message
+     * @return \Magento\Core\Model\Message
      */
     public function getMessage()
     {
@@ -282,7 +282,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Message\CollectionFactory
+     * @return \Magento\Core\Model\Message\CollectionFactory
      */
     public function getMessageFactory()
     {
@@ -290,7 +290,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Controller\Request\Http
+     * @return \Magento\App\RequestInterface
      */
     public function getRequest()
     {
@@ -298,7 +298,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\StoreManager
+     * @return \Magento\Core\Model\StoreManager
      */
     public function getStoreManager()
     {
@@ -306,7 +306,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \\Magento\Core\Model\Url
+     * @return \Magento\Core\Model\Url
      */
     public function getUrl()
     {
diff --git a/app/code/Magento/Core/Model/Store.php b/app/code/Magento/Core/Model/Store.php
index 2b94ccf84d1807bad5b7ebf490228c09bdf24eb9..990294d8f77fea04ac0e4a0b1a4c3acb7ce37ed2 100644
--- a/app/code/Magento/Core/Model/Store.php
+++ b/app/code/Magento/Core/Model/Store.php
@@ -246,7 +246,7 @@ class Store extends \Magento\Core\Model\AbstractModel
     protected $_url;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -256,7 +256,7 @@ class Store extends \Magento\Core\Model\AbstractModel
     protected $_isCustomEntryPoint = false;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
@@ -273,7 +273,7 @@ class Store extends \Magento\Core\Model\AbstractModel
     protected $_coreFileStorageDatabase = null;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -295,10 +295,10 @@ class Store extends \Magento\Core\Model\AbstractModel
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\Cache\Type\Config $configCacheType
      * @param \Magento\Core\Model\Url $url
-     * @param \Magento\Core\Model\App\State $appState
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\State $appState
+     * @param \Magento\App\RequestInterface $request
      * @param \Magento\Core\Model\Resource\Config\Data $configDataResource
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\Config $coreConfig
      * @param \Magento\Core\Model\Resource\Store $resource
@@ -313,10 +313,10 @@ class Store extends \Magento\Core\Model\AbstractModel
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\Cache\Type\Config $configCacheType,
         \Magento\Core\Model\Url $url,
-        \Magento\Core\Model\App\State $appState,
-        \Magento\Core\Controller\Request\Http $request,
+        \Magento\App\State $appState,
+        \Magento\App\RequestInterface $request,
         \Magento\Core\Model\Resource\Config\Data $configDataResource,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\Config $coreConfig,
         \Magento\Core\Model\Resource\Store $resource,
@@ -359,7 +359,7 @@ class Store extends \Magento\Core\Model\AbstractModel
     {
         parent::__wakeup();
         $this->_eventDispatcher = \Magento\Core\Model\ObjectManager::getInstance()
-            ->get('Magento\Core\Model\Event\Manager');
+            ->get('Magento\Event\ManagerInterface');
         $this->_cacheManager    = \Magento\Core\Model\ObjectManager::getInstance()
             ->get('Magento\Core\Model\CacheInterface');
         $this->_coreStoreConfig = \Magento\Core\Model\ObjectManager::getInstance()
@@ -557,7 +557,7 @@ class Store extends \Magento\Core\Model\AbstractModel
                     $url = $this->getConfig($path);
                     if (!$url) {
                         $url = $this->getBaseUrl(self::URL_TYPE_WEB, $secure)
-                            . $this->_dir->getUri(\Magento\Core\Model\Dir::PUB_LIB);
+                            . $this->_dir->getUri(\Magento\App\Dir::PUB_LIB);
                     }
                     break;
 
@@ -566,7 +566,7 @@ class Store extends \Magento\Core\Model\AbstractModel
                     $url = $this->getConfig($path);
                     if (!$url) {
                         $url = $this->getBaseUrl(self::URL_TYPE_WEB, $secure)
-                            . $this->_dir->getUri(\Magento\Core\Model\Dir::STATIC_VIEW);
+                            . $this->_dir->getUri(\Magento\App\Dir::STATIC_VIEW);
                     }
                     break;
 
@@ -575,7 +575,7 @@ class Store extends \Magento\Core\Model\AbstractModel
                     $url = $this->getConfig($path);
                     if (!$url) {
                         $url = $this->getBaseUrl(self::URL_TYPE_WEB, $secure)
-                            . $this->_dir->getUri(\Magento\Core\Model\Dir::PUB_VIEW_CACHE);
+                            . $this->_dir->getUri(\Magento\App\Dir::PUB_VIEW_CACHE);
                     }
                     break;
 
@@ -586,7 +586,7 @@ class Store extends \Magento\Core\Model\AbstractModel
                         $url = $this->getConfig($path);
                         if (!$url) {
                             $url = $this->getBaseUrl(self::URL_TYPE_WEB, $secure)
-                                . $this->_dir->getUri(\Magento\Core\Model\Dir::MEDIA);
+                                . $this->_dir->getUri(\Magento\App\Dir::MEDIA);
                         }
                     }
                     break;
@@ -644,16 +644,16 @@ class Store extends \Magento\Core\Model\AbstractModel
      * If we use Database file storage and server doesn't support rewrites (.htaccess in media folder)
      * we have to put name of fetching media script exactly into URL
      *
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param bool $secure
      * @return string|bool
      */
-    protected function _getMediaScriptUrl(\Magento\Core\Model\Dir $dirs, $secure)
+    protected function _getMediaScriptUrl(\Magento\App\Dir $dirs, $secure)
     {
         if (!$this->getConfig(self::XML_PATH_USE_REWRITES)
             && $this->_coreFileStorageDatabase->checkDbUsage()
         ) {
-            return $this->getBaseUrl(self::URL_TYPE_WEB, $secure) . $dirs->getUri(\Magento\Core\Model\Dir::PUB)
+            return $this->getBaseUrl(self::URL_TYPE_WEB, $secure) . $dirs->getUri(\Magento\App\Dir::PUB)
             . '/' . self::MEDIA_REWRITE_SCRIPT;
         }
         return false;
diff --git a/app/code/Magento/Core/Model/Store/Storage/Db.php b/app/code/Magento/Core/Model/Store/Storage/Db.php
index 5c3daad80a8f3a0560f8754b38283df84aa54654..48006d75d331ff29094db2b588de344f74fbe8a8 100644
--- a/app/code/Magento/Core/Model/Store/Storage/Db.php
+++ b/app/code/Magento/Core/Model/Store/Storage/Db.php
@@ -135,7 +135,7 @@ class Db implements \Magento\Core\Model\Store\StorageInterface
     /**
      * Application state model
      *
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -150,7 +150,7 @@ class Db implements \Magento\Core\Model\Store\StorageInterface
      * @param \Magento\Core\Model\Store\Group\Factory $groupFactory
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Cookie $cookie
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Backend\Model\Url\Proxy $proxy
      * @param bool $isSingleStoreAllowed
      * @param string $scopeCode
@@ -163,7 +163,7 @@ class Db implements \Magento\Core\Model\Store\StorageInterface
         \Magento\Core\Model\Store\Group\Factory $groupFactory,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Cookie $cookie,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Backend\Model\Url\Proxy $proxy,
         $isSingleStoreAllowed,
         $scopeCode,
diff --git a/app/code/Magento/Core/Model/Store/StorageFactory.php b/app/code/Magento/Core/Model/Store/StorageFactory.php
index 95135c130bcf364bb8a08ee8c13c366f89ae133c..ac28d5c395d57d4dc8ef3dc3611bd72c0f45eef4 100644
--- a/app/code/Magento/Core/Model/Store/StorageFactory.php
+++ b/app/code/Magento/Core/Model/Store/StorageFactory.php
@@ -50,7 +50,7 @@ class StorageFactory
     protected $_cache = array();
 
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -70,27 +70,27 @@ class StorageFactory
     protected $_app;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
     /**
      * @param \Magento\ObjectManager $objectManager
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $log
      * @param \Magento\Core\Model\ConfigInterface $config
      * @param \Magento\Core\Model\App\Proxy $app
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param string $defaultStorageClassName
      * @param string $installedStoreClassName
      */
     public function __construct(
         \Magento\ObjectManager $objectManager,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $log,
         \Magento\Core\Model\ConfigInterface $config,
         \Magento\Core\Model\App\Proxy $app,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         $defaultStorageClassName = 'Magento\Core\Model\Store\Storage\DefaultStorage',
         $installedStoreClassName = 'Magento\Core\Model\Store\Storage\Db'
     ) {
diff --git a/app/code/Magento/Core/Model/StoreManager.php b/app/code/Magento/Core/Model/StoreManager.php
index 263bab13342b8c052bac9a1220b9a50cc10a33e2..a7b0c1fe6eed187f8075faf72cada75b8da16268 100644
--- a/app/code/Magento/Core/Model/StoreManager.php
+++ b/app/code/Magento/Core/Model/StoreManager.php
@@ -35,14 +35,14 @@ class StoreManager implements \Magento\Core\Model\StoreManagerInterface
     /**
      * Event manager
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
     /**
      * Request model
      *
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
@@ -83,14 +83,14 @@ class StoreManager implements \Magento\Core\Model\StoreManagerInterface
 
     /**
      * @param \Magento\Core\Model\Store\StorageFactory $factory
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param \Magento\Core\Model\Factory\Helper $helperFactory
      * @param string $scopeCode
      * @param string $scopeType
      */
     public function __construct(
         \Magento\Core\Model\Store\StorageFactory $factory,
-        \Magento\Core\Controller\Request\Http $request,
+        \Magento\App\RequestInterface $request,
         \Magento\Core\Model\Factory\Helper $helperFactory,
         $scopeCode = '',
         $scopeType = 'store'
diff --git a/app/code/Magento/Core/Model/Template.php b/app/code/Magento/Core/Model/Template.php
index 15c4affe69c5b73f53177c117da673855dcb9624..29b8ee28314a7497263e19bb3f6705e0ba8267c8 100644
--- a/app/code/Magento/Core/Model/Template.php
+++ b/app/code/Magento/Core/Model/Template.php
@@ -87,7 +87,7 @@ abstract class Template extends \Magento\Core\Model\AbstractModel
     /**
      * Design package instance
      *
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_design = null;
 
@@ -102,7 +102,7 @@ abstract class Template extends \Magento\Core\Model\AbstractModel
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\App\Emulation $appEmulation
@@ -110,7 +110,7 @@ abstract class Template extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\App\Emulation $appEmulation,
diff --git a/app/code/Magento/Core/Model/TemplateEngine/Decorator/DebugHints.php b/app/code/Magento/Core/Model/TemplateEngine/Decorator/DebugHints.php
new file mode 100644
index 0000000000000000000000000000000000000000..c7569483920ac028ce4a6168a0e0ef573e171084
--- /dev/null
+++ b/app/code/Magento/Core/Model/TemplateEngine/Decorator/DebugHints.php
@@ -0,0 +1,103 @@
+<?php
+/**
+ * Decorator that inserts debugging hints into the rendered block contents
+ *
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Core\Model\TemplateEngine\Decorator;
+
+class DebugHints implements \Magento\Core\Model\TemplateEngine\EngineInterface
+{
+    /**
+     * @var \Magento\Core\Model\TemplateEngine\EngineInterface
+     */
+    private $_subject;
+
+    /**
+     * @var bool
+     */
+    private $_showBlockHints;
+
+    /**
+     * @param \Magento\Core\Model\TemplateEngine\EngineInterface $subject
+     * @param bool $showBlockHints Whether to include block into the debugging information or not
+     */
+    public function __construct(
+        \Magento\Core\Model\TemplateEngine\EngineInterface $subject,
+        $showBlockHints
+    ) {
+        $this->_subject = $subject;
+        $this->_showBlockHints = $showBlockHints;
+    }
+
+    /**
+     * Insert debugging hints into the rendered block contents
+     *
+     * {@inheritdoc}
+     */
+    public function render(\Magento\Core\Block\Template $block, $templateFile, array $dictionary = array())
+    {
+        $result = $this->_subject->render($block, $templateFile, $dictionary);
+        if ($this->_showBlockHints) {
+            $result = $this->_renderBlockHints($result, $block);
+        }
+        $result = $this->_renderTemplateHints($result, $templateFile);
+        return $result;
+    }
+
+    /**
+     * Insert template debugging hints into the rendered block contents
+     *
+     * @param string $blockHtml
+     * @param string $templateFile
+     * @return string
+     */
+    protected function _renderTemplateHints($blockHtml, $templateFile)
+    {
+        return <<<HTML
+<div style="position:relative; border:1px dotted red; margin:6px 2px; padding:18px 2px 2px 2px; zoom:1;">
+<div style="position:absolute; left:0; top:0; padding:2px 5px; background:red; color:white; font:normal 11px Arial;
+text-align:left !important; z-index:998;" onmouseover="this.style.zIndex='999'"
+onmouseout="this.style.zIndex='998'" title="{$templateFile}">{$templateFile}</div>
+{$blockHtml}
+</div>
+HTML;
+    }
+
+    /**
+     * Insert block debugging hints into the rendered block contents
+     *
+     * @param string $blockHtml
+     * @param \Magento\Core\Block\Template $block
+     * @return string
+     */
+    protected function _renderBlockHints($blockHtml, \Magento\Core\Block\Template $block)
+    {
+        $blockClass = get_class($block);
+        return <<<HTML
+<div style="position:absolute; right:0; top:0; padding:2px 5px; background:red; color:blue; font:normal 11px Arial;
+text-align:left !important; z-index:998;" onmouseover="this.style.zIndex='999'" onmouseout="this.style.zIndex='998'"
+title="{$blockClass}">{$blockClass}</div>
+{$blockHtml}
+HTML;
+    }
+}
diff --git a/app/code/Magento/Core/Model/TemplateEngine/Factory.php b/app/code/Magento/Core/Model/TemplateEngine/Factory.php
index edb42aac889f23b1eea24d21d6b1bb5e07d68577..bfa8d00ca740f64a5347066b92ca400b5f438ab6 100644
--- a/app/code/Magento/Core/Model/TemplateEngine/Factory.php
+++ b/app/code/Magento/Core/Model/TemplateEngine/Factory.php
@@ -1,6 +1,6 @@
 <?php
 /**
- * Factory class for Template Engine
+ * Factory that is able to create any template engine in the system
  *
  * Magento
  *
@@ -20,8 +20,6 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
@@ -29,34 +27,46 @@ namespace Magento\Core\Model\TemplateEngine;
 
 class Factory
 {
+    /**
+     * @var \Magento\ObjectManager
+     */
     protected $_objectManager;
 
     /**
-     * Template engine types
+     * @var array
      */
-    const ENGINE_TWIG = 'twig';
-    const ENGINE_PHTML = 'phtml';
+    protected $_engines;
 
-    public function __construct(\Magento\ObjectManager $objectManager)
-    {
+    /**
+     * @param \Magento\ObjectManager $objectManager
+     * @param array $engines Format: array('<name>' => 'TemplateEngine\Class', ...)
+     */
+    public function __construct(
+        \Magento\ObjectManager $objectManager,
+        array $engines
+    ) {
         $this->_objectManager = $objectManager;
+        $this->_engines = $engines;
     }
 
     /**
-     * Gets the singleton instance of the appropriate template engine
+     * Retrieve a template engine instance by its unique name
      *
      * @param string $name
      * @return \Magento\Core\Model\TemplateEngine\EngineInterface
-     * @throws \InvalidArgumentException if template engine doesn't exist
+     * @throws \InvalidArgumentException If template engine doesn't exist
+     * @throws \UnexpectedValueException If template engine doesn't implement the necessary interface
      */
-    public function get($name)
+    public function create($name)
     {
-        if (self::ENGINE_TWIG == $name) {
-            return $this->_objectManager->get('Magento\Core\Model\TemplateEngine\Twig');
-        } else if (self::ENGINE_PHTML == $name) {
-            return $this->_objectManager->get('Magento\Core\Model\TemplateEngine\Php');
+        if (!isset($this->_engines[$name])) {
+            throw new \InvalidArgumentException("Unknown template engine '$name'.");
+        }
+        $engineClass = $this->_engines[$name];
+        $engineInstance = $this->_objectManager->create($engineClass);
+        if (!($engineInstance instanceof \Magento\Core\Model\TemplateEngine\EngineInterface)) {
+            throw new \UnexpectedValueException("$engineClass has to implement the template engine interface.");
         }
-        // unknown type, throw exception
-        throw new \InvalidArgumentException('Unknown template engine type: ' . $name);
+        return $engineInstance;
     }
 }
diff --git a/app/code/Magento/Core/Model/TemplateEngine/Plugin/DebugHints.php b/app/code/Magento/Core/Model/TemplateEngine/Plugin/DebugHints.php
new file mode 100644
index 0000000000000000000000000000000000000000..cb0e63a238c48fafd2acb8e2b02a682f578649b4
--- /dev/null
+++ b/app/code/Magento/Core/Model/TemplateEngine/Plugin/DebugHints.php
@@ -0,0 +1,87 @@
+<?php
+/**
+ * Plugin for the template engine factory that makes a decision of whether to activate debugging hints or not
+ *
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license   http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Core\Model\TemplateEngine\Plugin;
+
+class DebugHints
+{
+    /**#@+
+     * XPath of configuration of the debugging hints
+     */
+    const XML_PATH_DEBUG_TEMPLATE_HINTS         = 'dev/debug/template_hints';
+    const XML_PATH_DEBUG_TEMPLATE_HINTS_BLOCKS  = 'dev/debug/template_hints_blocks';
+    /**#@-*/
+
+    /**
+     * @var \Magento\ObjectManager
+     */
+    private $_objectManager;
+
+    /**
+     * @var \Magento\Core\Model\Store\Config
+     */
+    private $_storeConfig;
+
+    /**
+     * @var \Magento\Core\Helper\Data
+     */
+    private $_coreData;
+
+    /**
+     * @param \Magento\ObjectManager $objectManager
+     * @param \Magento\Core\Model\Store\Config $storeConfig
+     * @param \Magento\Core\Helper\Data $coreData
+     */
+    public function __construct(
+        \Magento\ObjectManager $objectManager,
+        \Magento\Core\Model\Store\Config $storeConfig,
+        \Magento\Core\Helper\Data $coreData
+    ) {
+        $this->_objectManager = $objectManager;
+        $this->_storeConfig = $storeConfig;
+        $this->_coreData = $coreData;
+    }
+
+    /**
+     * Wrap template engine instance with the debugging hints decorator, depending of the store configuration
+     *
+     * @param \Magento\Core\Model\TemplateEngine\EngineInterface $invocationResult
+     * @return \Magento\Core\Model\TemplateEngine\EngineInterface
+     */
+    public function afterCreate(\Magento\Core\Model\TemplateEngine\EngineInterface $invocationResult)
+    {
+        if ($this->_storeConfig->getConfig(self::XML_PATH_DEBUG_TEMPLATE_HINTS) && $this->_coreData->isDevAllowed()) {
+            $showBlockHints = $this->_storeConfig->getConfig(self::XML_PATH_DEBUG_TEMPLATE_HINTS_BLOCKS);
+            return $this->_objectManager->create(
+                'Magento\Core\Model\TemplateEngine\Decorator\DebugHints',
+                array(
+                    'subject' => $invocationResult,
+                    'showBlockHints' => $showBlockHints,
+                )
+            );
+        }
+        return $invocationResult;
+    }
+}
diff --git a/app/code/Magento/Core/Model/App/Handler.php b/app/code/Magento/Core/Model/TemplateEngine/Pool.php
similarity index 57%
rename from app/code/Magento/Core/Model/App/Handler.php
rename to app/code/Magento/Core/Model/TemplateEngine/Pool.php
index 72c55e6c17061e404763c2dd78ed835c8726a6f2..cffdaa8750d14e56051038d2b6ad75bb822e4f41 100644
--- a/app/code/Magento/Core/Model/App/Handler.php
+++ b/app/code/Magento/Core/Model/TemplateEngine/Pool.php
@@ -1,6 +1,6 @@
 <?php
 /**
- * Application request handler. Launches front controller, request routing and dispatching process.
+ * In-memory pool of all template engines available in the system
  *
  * Magento
  *
@@ -23,34 +23,39 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\App;
+namespace Magento\Core\Model\TemplateEngine;
 
-class Handler implements \Magento\HTTP\HandlerInterface
+class Pool
 {
     /**
-     * Application object
-     *
-     * @var \Magento\Core\Model\AppInterface
+     * @var Factory
      */
-    protected $_app;
+    protected $_factory;
 
     /**
-     * @param \Magento\Core\Model\AppInterface $app
+     * @var EngineInterface[]
      */
-    public function __construct(\Magento\Core\Model\AppInterface $app)
+    protected $_engines = array();
+
+    /**
+     * @param Factory $factory
+     */
+    public function __construct(Factory $factory)
     {
-        $this->_app = $app;
+        $this->_factory = $factory;
     }
 
     /**
-     * Handle http request
+     * Retrieve a template engine instance by its unique name
      *
-     * @param \Zend_Controller_Request_Http $request
-     * @param \Zend_Controller_Response_Http $response
+     * @param string $name
+     * @return EngineInterface
      */
-    public function handle(\Zend_Controller_Request_Http $request, \Zend_Controller_Response_Http $response)
+    public function get($name)
     {
-        $this->_app->setRequest($request)->setResponse($response)->run();
+        if (!isset($this->_engines[$name])) {
+            $this->_engines[$name] = $this->_factory->create($name);
+        }
+        return $this->_engines[$name];
     }
 }
-
diff --git a/app/code/Magento/Core/Model/TemplateEngine/Twig.php b/app/code/Magento/Core/Model/TemplateEngine/Twig.php
deleted file mode 100644
index a93d4162ffcce47624a04849b1e031e1eec60056..0000000000000000000000000000000000000000
--- a/app/code/Magento/Core/Model/TemplateEngine/Twig.php
+++ /dev/null
@@ -1,106 +0,0 @@
-<?php
-/**
- * Template engine that enables Twig templates to be used for rendering.
- *
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\TemplateEngine;
-
-class Twig implements \Magento\Core\Model\TemplateEngine\EngineInterface,
-    \Magento\Core\Model\TemplateEngine\BlockTrackerInterface
-{
-    /**
-     * @var \Magento\Core\Block\Template
-     */
-    protected $_currentBlock;
-
-    /**
-     * @var \Magento\Core\Model\TemplateEngine\Twig\EnvironmentFactory
-     */
-    protected $_factory;
-
-    /**
-     * @var \Magento\Core\Model\TemplateEngine\Twig\Extension
-     */
-    protected $_extension;
-
-    /**
-     * @var \Twig_Environment
-     */
-    protected $_environment;
-
-    /**
-     *  Populates the environment based on the environment builder provided.
-     *
-     * @param \Magento\Core\Model\TemplateEngine\Twig\EnvironmentFactory $factory
-     * @param \Magento\Core\Model\TemplateEngine\Twig\Extension $extension
-     */
-    public function __construct(
-        \Magento\Core\Model\TemplateEngine\Twig\EnvironmentFactory $factory,
-        \Magento\Core\Model\TemplateEngine\Twig\Extension $extension
-    ) {
-        $this->_factory = $factory;
-        $this->_extension = $extension;
-
-        $this->_extension->setBlockTracker($this);
-    }
-
-    /**
-     * Render the named Twig template using the given block as the context of the Twig helper functions/filters.
-     *
-     * @param \Magento\Core\Block\Template $block
-     * @param string $fileName
-     * @param array $dictionary
-     * @throws \Exception 
-     * @return string
-     */
-    public function render(\Magento\Core\Block\Template $block, $fileName, array $dictionary = array())
-    {
-        if ($this->_environment === null) {
-            $this->_environment = $this->_factory->create();
-        }
-        $dictionary['block'] = $block;
-        // save state from previous block
-        $previousBlock = $this->_currentBlock;
-        $this->_currentBlock = $block;
-        try {
-            $output = $this->_environment->render($fileName, $dictionary);
-        } catch (\Exception $renderException) {
-            // restore state for previous block
-            $this->_currentBlock = $previousBlock;
-            throw $renderException;     
-        }
-        // restore state for previous block
-        $this->_currentBlock = $previousBlock;
-        return $output;
-    }
-
-    /**
-     * Get the current block
-     *
-     * @return \Magento\Core\Block\Template
-     */
-    public function getCurrentBlock()
-    {
-        return $this->_currentBlock;
-    }
-}
diff --git a/app/code/Magento/Core/Model/TemplateEngine/Twig/CommonFunctions.php b/app/code/Magento/Core/Model/TemplateEngine/Twig/CommonFunctions.php
deleted file mode 100644
index a58e8b9a7eee7f39c8b9f36630f02c76ce601414..0000000000000000000000000000000000000000
--- a/app/code/Magento/Core/Model/TemplateEngine/Twig/CommonFunctions.php
+++ /dev/null
@@ -1,228 +0,0 @@
-<?php
-/**
- * Common functions needed for twig extension
- *
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\TemplateEngine\Twig;
-
-class CommonFunctions
-{
-    /**
-     * @var \Magento\Core\Model\UrlInterface
-     */
-    private $_urlBuilder;
-
-    /**
-     * @var \Magento\Core\Helper\Url
-     */
-    private $_urlHelper;
-
-    /**
-     * @var \Magento\Core\Helper\Data
-     */
-    private $_dataHelper;
-
-    /**
-     * @var \Magento\Core\Model\StoreManager
-     */
-    private $_storeManager;
-
-    /**
-     * @var \Magento\Core\Model\View\Url
-     */
-    private $_viewUrl;
-
-    /**
-     * @var \Magento\Core\Model\View\Config
-     */
-    private $_viewConfig;
-
-    /**
-     * @var \Magento\Catalog\Helper\Image
-     */
-    private $_helperImage;
-
-    /**
-     * @var \Magento\Core\Model\Logger
-     */
-    private $_logger;
-
-    /**
-     * @var \Magento\Core\Model\LocaleInterface
-     */
-    private $_locale;
-
-    public function __construct(
-        \Magento\Core\Model\UrlInterface $urlBuilder,
-        \Magento\Core\Helper\Url $urlHelper,
-        \Magento\Core\Helper\Data $dataHelper,
-        \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\View\Url $viewUrl,
-        \Magento\Core\Model\View\Config $viewConfig,
-        \Magento\Catalog\Helper\Image $helperImage,
-        \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\LocaleInterface $locale
-    ) {
-        $this->_urlBuilder = $urlBuilder;
-        $this->_urlHelper = $urlHelper;
-        $this->_dataHelper = $dataHelper;
-        $this->_storeManager = $storeManager;
-        $this->_viewUrl = $viewUrl;
-        $this->_viewConfig = $viewConfig;
-        $this->_helperImage = $helperImage;
-        $this->_logger = $logger;
-        $this->_locale = $locale;
-    }
-
-    /**
-     * Returns a list of global functions to add to the existing list.
-     *
-     * @return array An array of global functions
-     */
-    public function getFunctions()
-    {
-        $options = array('is_safe' => array('html'));
-        return array(
-            new \Twig_SimpleFunction('viewFileUrl', array($this, 'getViewFileUrl'), $options),
-            new \Twig_SimpleFunction('getSelectHtml', array($this, 'getSelectHtml'), $options),
-            new \Twig_SimpleFunction('getDateFormat', array($this->_locale, 'getDateFormat')),
-            new \Twig_SimpleFunction('getSelectFromToHtml', array($this, 'getSelectFromToHtml'), $options),
-            new \Twig_SimpleFunction('getUrl', array($this->_urlBuilder, 'getUrl'), $options),
-            new \Twig_SimpleFunction('encodeUrl', array($this->_urlHelper, 'getEncodedUrl'), $options),
-            new \Twig_SimpleFunction('getCurrentUrl', array($this->_urlHelper, 'getCurrentUrl'), $options),
-            new \Twig_SimpleFunction('isModuleOutputEnabled',
-                array($this->_dataHelper, 'isModuleOutputEnabled'), $options),
-            new \Twig_SimpleFunction('getStoreConfig', array($this->_storeManager->getStore(), 'getConfig'), $options),
-            new \Twig_SimpleFunction('getDesignVarValue', array($this->_viewConfig->getViewConfig(), 'getVarValue'),
-                $options),
-            new \Twig_SimpleFunction('getDefaultImage', array($this->_helperImage, 'getDefaultImage'), $options),
-        );
-    }
-
-    /**
-     * Retrieve url of themes file
-     *
-     * @param string $file path to file in theme
-     * @param array $params
-     * @return string
-     * @throws \Magento\Exception
-     */
-    public function getViewFileUrl($file = null, array $params = array())
-    {
-        try {
-            return $this->_viewUrl->getViewFileUrl($file, $params);
-        } catch (\Magento\Exception $e) {
-            $this->_logger->logException($e);
-            return $this->_urlBuilder->getUrl('', array('_direct' => 'core/index/notfound'));
-        }
-    }
-
-    /**
-     * @param \Magento\Core\Block\Html\Select $selectBlock
-     * @param $identifier
-     * @param $name
-     * @param $nameOptionsById
-     * @param null $selectedValue
-     * @return mixed
-     */
-    public function getSelectHtml($selectBlock, $identifier, $name, $nameOptionsById, $selectedValue = null)
-    {
-
-        $options = array();
-        foreach ($nameOptionsById as $value => $label) {
-            $options[] = array('value' => $value, 'label' => $label);
-        }
-        return $this->_initSelectBlock($selectBlock, $identifier, $name, $nameOptionsById, $selectedValue)
-            ->setOptions($options)
-            ->getHtml();
-    }
-
-    /**
-     * From \Magento\Catalog\Block\Product\View\Options\Type\Date: Return drop-down html with range of values
-     *
-     * @param \Magento\Core\Block\Html\Select $selectBlock
-     * @param string $name Id/name of html select element
-     * @param int $fromNumber  Start position
-     * @param int $toNumber    End position
-     * @param $nameOptionsById
-     * @param $optionsId
-     * @param null $value Value selected
-     * @return string Formatted Html
-     */
-    public function getSelectFromToHtml(
-        $selectBlock, $name, $fromNumber, $toNumber,
-        $nameOptionsById, $optionsId, $value = null
-    ) {
-        $options = array(
-            array('value' => '', 'label' => '-')
-        );
-        for ($i = $fromNumber; $i <= $toNumber; $i++) {
-            $options[] = array('value' => $i, 'label' => $this->_getValueWithLeadingZeros($i));
-        }
-        return $this->_initSelectBlock($selectBlock, $optionsId, $name, $nameOptionsById, $value)
-            ->setOptions($options)
-            ->getHtml();
-    }
-
-    /**
-     * Initializes values in the selection list.
-     * From \Magento\Catalog\Block\Product\View\Options\Type\Date: HTML select element
-     *
-     * @param \Magento\Core\Block\Html\Select $selectBlock
-     * @param $identifier
-     * @param $name
-     * @param $nameOptionsById
-     * @param null $value
-     * @return \Magento\Core\Block\Html\Select
-     */
-    protected function _initSelectBlock($selectBlock, $identifier, $name, $nameOptionsById, $value = null)
-    {
-        $selectBlock->setId('options_' . $identifier . '_' . $name);
-        $selectBlock->setClass('product-custom-option datetime-picker');
-        $selectBlock->setExtraParams();
-        $selectBlock->setName('options[' . $identifier . '][' . $name . ']');
-
-        $extraParams = 'style="width:auto"';
-        $selectBlock->setExtraParams($extraParams);
-
-        if (is_null($value)) {
-            $value = $nameOptionsById;
-        }
-        if (!is_null($value)) {
-            $selectBlock->setValue($value);
-        }
-
-        return $selectBlock;
-    }
-
-    /**
-     * From \Magento\Catalog\Block\Product\View\Options\Type\Date: Add Leading Zeros to number less than 10
-     *
-     * @param int|string $value value to pad with zeros
-     * @return string
-     */
-    protected function _getValueWithLeadingZeros($value)
-    {
-        return $value < 10 ? '0'.$value : $value;
-    }
-}
diff --git a/app/code/Magento/Core/Model/TemplateEngine/Twig/EnvironmentFactory.php b/app/code/Magento/Core/Model/TemplateEngine/Twig/EnvironmentFactory.php
deleted file mode 100644
index 806220890a55e31ecbee93d97e5bfc48d24de692..0000000000000000000000000000000000000000
--- a/app/code/Magento/Core/Model/TemplateEngine/Twig/EnvironmentFactory.php
+++ /dev/null
@@ -1,112 +0,0 @@
-<?php
-/**
- * Factory is used to hide the details of how a Twig Environment is built.
- *
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\TemplateEngine\Twig;
-
-class EnvironmentFactory
-{
-    /**
-     * @var \Magento\Core\Model\TemplateEngine\Twig\Extension
-     */
-    protected $_extension;
-
-    /**
-     * @var \Magento\Filesystem
-     */
-    protected $_filesystem;
-    
-    /**
-     * @var \Twig_Environment
-     */
-    private $_environment;
-
-    /**
-     * @var \Magento\Core\Model\Dir
-     */
-    private $_dir;
-    
-    /**
-     * @var \Magento\Core\Model\Logger
-     */
-    private $_logger;
-
-    /**
-     * @var \Twig_LoaderInterface
-     */
-    private $_loader;
-
-    /**
-     * Create new instance of factory
-     *
-     * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\TemplateEngine\Twig\Extension $extension
-     * @param \Magento\Core\Model\Dir $dir
-     * @param \Magento\Core\Model\Logger $logger
-     * @param \Twig_LoaderInterface $loader
-     */
-    public function __construct(
-        \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\TemplateEngine\Twig\Extension $extension,
-        \Magento\Core\Model\Dir $dir,
-        \Magento\Core\Model\Logger $logger,
-        \Twig_LoaderInterface $loader
-    ) {
-        $this->_filesystem = $filesystem;
-        $this->_extension = $extension;
-        $this->_dir = $dir;
-        $this->_logger = $logger;
-        $this->_loader = $loader;
-        $this->_environment = null;
-    }
-
-    /**
-     * Initialize (if necessary) and return the Twig environment.
-     *
-     * @return \Twig_Environment
-     */
-    public function create()
-    {
-        if ($this->_environment === null) {
-            $this->_environment = new \Twig_Environment($this->_loader);
-            try {
-                $precompiledTmpltDir = $this->_dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . '/twig_templates';
-                $this->_filesystem->createDirectory($precompiledTmpltDir);
-                $this->_environment->setCache($precompiledTmpltDir);
-            } catch (\Magento\Filesystem\FilesystemException $e) {
-                // Twig will just run slowly but not worth stopping Magento for it
-                $this->_logger->logException($e);
-            } catch (\InvalidArgumentException $e) {
-                // Can happen if path isn't found, shouldn't stop Magento
-                $this->_logger->logException($e);
-            }
-            $this->_environment->enableStrictVariables();
-            $this->_environment->addExtension(new \Twig_Extension_Escaper('html'));
-            $this->_environment->addExtension(new \Twig_Extension_Optimizer(1));
-            $this->_environment->addExtension($this->_extension);
-            $this->_environmentInitialized = true;
-        }
-        return $this->_environment;
-    }
-}
diff --git a/app/code/Magento/Core/Model/TemplateEngine/Twig/Extension.php b/app/code/Magento/Core/Model/TemplateEngine/Twig/Extension.php
deleted file mode 100644
index c87f4899f14f840a463678a45889f385916011de..0000000000000000000000000000000000000000
--- a/app/code/Magento/Core/Model/TemplateEngine/Twig/Extension.php
+++ /dev/null
@@ -1,118 +0,0 @@
-<?php
-/**
- * A twig extension for Magento
- *
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\TemplateEngine\Twig;
-
-class Extension extends \Twig_Extension
-{
-    const MAGENTO = 'Magento';
-
-    /**
-     * @var \Magento\Core\Model\TemplateEngine\Twig\LayoutFunctions
-     */
-    protected $_layoutFunctions;
-
-    /**
-     * @var \Magento\Core\Model\TemplateEngine\Twig\CommonFunctions
-     */
-    protected $_commonFunctions;
-
-    /**
-     * @var \Magento\Core\Model\TemplateEngine\BlockTrackerInterface
-     */
-    private $_blockTracker;
-
-    /**
-     * Create new Extension
-     *
-     * @param \Magento\Core\Model\TemplateEngine\Twig\CommonFunctions $commonFunctions
-     * @param \Magento\Core\Model\TemplateEngine\Twig\LayoutFunctions $layoutFunctions
-     */
-    public function __construct(
-        \Magento\Core\Model\TemplateEngine\Twig\CommonFunctions $commonFunctions,
-        \Magento\Core\Model\TemplateEngine\Twig\LayoutFunctions $layoutFunctions
-    ) {
-        $this->_commonFunctions = $commonFunctions;
-        $this->_layoutFunctions = $layoutFunctions;
-    }
-
-    /**
-     * Define the name of the extension to be used in Twig environment
-     *
-     * @return string
-     */
-    public function getName()
-    {
-        return self::MAGENTO;
-    }
-
-    /**
-     * Returns a list of global functions to add to the existing list.
-     *
-     * @return array An array of global functions
-     */
-    public function getFunctions()
-    {
-        $functions = $this->_commonFunctions->getFunctions();
-        $functions = array_merge($functions, $this->_layoutFunctions->getFunctions());
-
-        return $functions;
-    }
-
-    /**
-     * Returns a list of filters to add to the existing list.
-     *
-     * @return array An array of filters
-     */
-    public function getFilters()
-    {
-        $options = array('is_safe' => array('html'));
-        return array(
-            new \Twig_SimpleFilter('translate', array($this, 'translate'), $options),
-        );
-    }
-
-    /**
-     * Translate block sentence
-     *
-     * @return string
-     */
-    public function translate()
-    {
-        return call_user_func_array('__', func_get_args());
-    }
-
-    /**
-     * Sets the block tracker
-     *
-     * @param \Magento\Core\Model\TemplateEngine\BlockTrackerInterface $blockTracker
-     */
-    public function setBlockTracker(\Magento\Core\Model\TemplateEngine\BlockTrackerInterface $blockTracker)
-    {
-        $this->_blockTracker = $blockTracker;
-        // Need to inject this dependency at runtime to avoid cyclical dependency
-        $this->_layoutFunctions->setBlockTracker($blockTracker);
-    }
-}
diff --git a/app/code/Magento/Core/Model/TemplateEngine/Twig/FullFileName.php b/app/code/Magento/Core/Model/TemplateEngine/Twig/FullFileName.php
deleted file mode 100644
index 997d6a6f6fd87ef0fbf995eb43ccb3d9bc70fc32..0000000000000000000000000000000000000000
--- a/app/code/Magento/Core/Model/TemplateEngine/Twig/FullFileName.php
+++ /dev/null
@@ -1,121 +0,0 @@
-<?php
-/**
- * Custom Loader that gets the contents of the file name from provided absolute path
- *
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\TemplateEngine\Twig;
-
-class FullFileName implements \Twig_LoaderInterface, \Twig_ExistsLoaderInterface
-{
-    /**
-     * Caches the exists of a template so that we don't have to check the disk every time.
-     *
-     * @var array
-     */
-    private $_existsCache = array();
-    
-    /**
-     * @var \Magento\Core\Model\App\State
-     */
-    private $_appState;
-    
-    /**
-     * Create new instance of FullFileName loader
-     *
-     * @param \Magento\Core\Model\App\State
-     */
-    public function __construct(\Magento\Core\Model\App\State $appState)
-    {
-        $this->_appState = $appState;
-    }
-    
-    
-    /**
-     * Gets the source code of a template, given its name.
-     *
-     * @param string $name The name of the template to load
-     * @return string The template source code
-     * @throws \Twig_Error_Loader When $name is not found
-     */
-    public function getSource($name) 
-    {
-        $return = file_get_contents($name);
-        if ($return === false) {
-            throw new \Twig_Error_Loader(sprintf('Unable to find "%s".', $name));
-        }
-        // add to cache
-        $this->exists($name);
-        return $return;
-    }
-    
-    /**
-     * Gets the cache key to use for the cache for a given template name.
-     *
-     * @param string $name The name of the template to load
-     * @return string The cache key
-     */
-    public function getCacheKey($name)
-    {
-        return $name;
-    }
-    
-    /**
-     * Returns true if the template is still fresh.
-     *
-     * @param string $name The template name
-     * @param int $time The last modification time of the cached template
-     * @return Boolean true if the template is fresh, false otherwise
-     * @throws \Twig_Error_Loader When last-modified time of $name cannot be found
-     */
-    public function isFresh($name, $time) 
-    {
-        if ($this->_appState->getMode() === \Magento\Core\Model\App\State::MODE_DEVELOPER) {
-            $lastModifiedTime = filemtime($name);
-            if ($lastModifiedTime === false) {
-                throw new \Twig_Error_Loader(sprintf('Could not get last-modified time for "%s".', $name));
-            }
-            return $lastModifiedTime < $time;
-        }
-
-        return true;
-    }
-
-    /**
-     * Determines whether the template exists or not.
-     *
-     * Since the template name is interpreted as a fully-qualified path,
-     * this is equivalent to checking whether
-     * the file at the given location exists.
-     *
-     * @param string $name
-     * @return bool
-     * @throws \Twig_Error_Loader if $name is not a file
-     */
-    public function exists($name)
-    {
-        if (!isset($this->_existsCache[$name])) {
-            $this->_existsCache[$name] = file_exists($name);
-        }
-        return $this->_existsCache[$name];
-    }
-}
diff --git a/app/code/Magento/Core/Model/TemplateEngine/Twig/LayoutFunctions.php b/app/code/Magento/Core/Model/TemplateEngine/Twig/LayoutFunctions.php
deleted file mode 100644
index 152dc3580db72e860ff30447caeb11a0586103d9..0000000000000000000000000000000000000000
--- a/app/code/Magento/Core/Model/TemplateEngine/Twig/LayoutFunctions.php
+++ /dev/null
@@ -1,164 +0,0 @@
-<?php
-/**
- * Layout functions needed for twig extension
- *
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\TemplateEngine\Twig;
-
-class LayoutFunctions
-{
-
-    /**
-     * @var \Magento\Core\Model\Layout
-     */
-    private $_layout;
-
-    /**
-     * @var \Magento\Core\Model\TemplateEngine\BlockTrackerInterface
-     */
-    private $_blockTracker;
-
-    public function __construct(
-        \Magento\Core\Model\Layout $layout
-    ) {
-        $this->_layout = $layout;
-    }
-
-    /**
-     * Sets the block tracker that is needed for dynamically determining the child html at runtime
-     *
-     * @param \Magento\Core\Model\TemplateEngine\BlockTrackerInterface $blockTracker
-     */
-    public function setBlockTracker(\Magento\Core\Model\TemplateEngine\BlockTrackerInterface $blockTracker)
-    {
-        $this->_blockTracker = $blockTracker;
-    }
-
-    /**
-     * Returns a list of global functions to add to the existing list.
-     *
-     * @return array An array of global functions
-     */
-    public function getFunctions()
-    {
-        $options = array('is_safe' => array('html'));
-        return array(
-            new \Twig_SimpleFunction('getBlockData', array($this, 'getBlockData'), $options),
-            new \Twig_SimpleFunction('getMessagesHtml',
-                array($this->_layout->getMessagesBlock(), 'getGroupedHtml'), $options),
-            new \Twig_SimpleFunction('executeRenderer', array($this->_layout, 'executeRenderer'), $options),
-            new \Twig_SimpleFunction('getChildHtml', array($this, 'getChildHtml'), $options),
-            new \Twig_SimpleFunction('getGroupChildNames', array($this, 'getGroupChildNames'), $options),
-            new \Twig_SimpleFunction('getBlockNameByAlias', array($this, 'getBlockNameByAlias'), $options),
-            new \Twig_SimpleFunction('createBlock', array($this->_layout, 'createBlock')),
-            new \Twig_SimpleFunction('getElementAlias', array($this->_layout, 'getElementAlias'), $options),
-            new \Twig_SimpleFunction('renderElement', array($this->_layout, 'renderElement'), $options),
-        );
-    }
-
-    /**
-     * Returns data assigned to the block instance
-     *
-     * @param $name
-     * @param string $key
-     * @return mixed|null
-     */
-    public function getBlockData($name, $key = '')
-    {
-        $block = $this->_layout->getBlock($name);
-        if ($block) {
-            return $block->getData($key);
-        }
-        return null;
-    }
-
-    /**
-     * Render Block defined by the alias from the parent block defined by the name
-     *
-     * @param $name
-     * @param string $alias
-     * @param bool $useCache
-     * @return string
-     */
-    public function renderBlock($name, $alias = '', $useCache = true)
-    {
-        $out = '';
-        if ($alias) {
-            $childName = $this->_layout->getChildName($name, $alias);
-            if ($childName) {
-                $out = $this->_layout->renderElement($childName, $useCache);
-            }
-        } else {
-            foreach ($this->_layout->getChildNames($name) as $child) {
-                $out .= $this->_layout->renderElement($child, $useCache);
-            }
-        }
-
-        return $out;
-    }
-
-    /**
-     * Render children of the current block defined by alias
-     *
-     * @param string $alias
-     * @param bool $useCache
-     * @return string
-     */
-    public function getChildHtml($alias = '', $useCache = true)
-    {
-        $name = $this->_blockTracker->getCurrentBlock()->getNameInLayout();
-        return $this->renderBlock($name, $alias, $useCache);
-    }
-
-    /**
-     * Get a group of child blocks
-     *
-     * Returns an array of <alias> => <block>
-     * or an array of <alias> => <callback_result>
-     * The callback currently supports only $this methods and passes the alias as parameter
-     *
-     * @param string $parentName
-     * @param string $groupName
-     * @return array
-     */
-    public function getGroupChildNames($parentName, $groupName)
-    {
-        return $this->_layout->getGroupChildNames($parentName, $groupName);
-    }
-
-    /**
-     * Get name of the block defined by alias in context of parent block defined by name
-     *
-     * @param $parentName
-     * @param $alias
-     * @return bool|string
-     */
-    public function getBlockNameByAlias($parentName, $alias)
-    {
-        $name = $this->_layout->getChildName($parentName, $alias);
-        if (!$name) {
-            return '';
-        }
-        return $name;
-    }
-}
diff --git a/app/code/Magento/Core/Model/Theme.php b/app/code/Magento/Core/Model/Theme.php
index 3a462a139d9939573b932019855f6c0789845fba..38fc8e2c31829d3ca7f2b0b4323fb5b32d1681ab 100644
--- a/app/code/Magento/Core/Model/Theme.php
+++ b/app/code/Magento/Core/Model/Theme.php
@@ -29,7 +29,7 @@ namespace Magento\Core\Model;
 /**
  * Theme model class
  *
- * @method \Magento\Core\Model\Theme save()
+ * @method \Magento\View\Design\ThemeInterface save()
  * @method string getPackageCode()
  * @method string getParentThemePath()
  * @method string getParentId()
@@ -41,22 +41,22 @@ namespace Magento\Core\Model;
  * @method int getType()
  * @method array getAssignedStores()
  * @method \Magento\Core\Model\Resource\Theme\Collection getCollection()
- * @method \Magento\Core\Model\Theme setAssignedStores(array $stores)
- * @method \Magento\Core\Model\Theme addData(array $data)
- * @method \Magento\Core\Model\Theme setParentId(int $id)
- * @method \Magento\Core\Model\Theme setParentTheme($parentTheme)
- * @method \Magento\Core\Model\Theme setPackageCode(string $packageCode)
- * @method \Magento\Core\Model\Theme setThemeCode(string $themeCode)
- * @method \Magento\Core\Model\Theme setThemePath(string $themePath)
- * @method \Magento\Core\Model\Theme setThemeVersion(string $themeVersion)
- * @method \Magento\Core\Model\Theme setArea(string $area)
- * @method \Magento\Core\Model\Theme setThemeTitle(string $themeTitle)
- * @method \Magento\Core\Model\Theme setType(int $type)
- * @method \Magento\Core\Model\Theme setCode(string $code)
+ * @method \Magento\View\Design\ThemeInterface setAssignedStores(array $stores)
+ * @method \Magento\View\Design\ThemeInterface addData(array $data)
+ * @method \Magento\View\Design\ThemeInterface setParentId(int $id)
+ * @method \Magento\View\Design\ThemeInterface setParentTheme($parentTheme)
+ * @method \Magento\View\Design\ThemeInterface setPackageCode(string $packageCode)
+ * @method \Magento\View\Design\ThemeInterface setThemeCode(string $themeCode)
+ * @method \Magento\View\Design\ThemeInterface setThemePath(string $themePath)
+ * @method \Magento\View\Design\ThemeInterface setThemeVersion(string $themeVersion)
+ * @method \Magento\View\Design\ThemeInterface setArea(string $area)
+ * @method \Magento\View\Design\ThemeInterface setThemeTitle(string $themeTitle)
+ * @method \Magento\View\Design\ThemeInterface setType(int $type)
+ * @method \Magento\View\Design\ThemeInterface setCode(string $code)
  *
  * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
  */
-class Theme extends \Magento\Core\Model\AbstractModel implements \Magento\Core\Model\ThemeInterface
+class Theme extends \Magento\Core\Model\AbstractModel implements \Magento\View\Design\ThemeInterface
 {
     /**#@+
      * Theme types group
diff --git a/app/code/Magento/Core/Model/Theme/Collection.php b/app/code/Magento/Core/Model/Theme/Collection.php
index 3599b97bbe2b9a104b2d7f8edcbaa4a0d8c20025..0308169d70928e00a844a80b5ddb358f7f4bb511 100644
--- a/app/code/Magento/Core/Model/Theme/Collection.php
+++ b/app/code/Magento/Core/Model/Theme/Collection.php
@@ -59,17 +59,17 @@ class Collection extends \Magento\Data\Collection
 
     /**
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      */
     public function __construct(
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Core\Model\EntityFactory $entityFactory
     ) {
         parent::__construct($entityFactory);
         $this->_filesystem = $filesystem;
-        $this->setBaseDir($dirs->getDir(\Magento\Core\Model\Dir::THEMES));
+        $this->setBaseDir($dirs->getDir(\Magento\App\Dir::THEMES));
     }
 
     /**
@@ -188,11 +188,11 @@ class Collection extends \Magento\Data\Collection
     protected function _updateRelations()
     {
         $themeItems = $this->getItems();
-        /** @var $theme \Magento\Object|\Magento\Core\Model\ThemeInterface */
+        /** @var $theme \Magento\Object|\Magento\View\Design\ThemeInterface */
         foreach ($themeItems as $theme) {
             $parentThemePath = $theme->getData('parent_theme_path');
             if ($parentThemePath) {
-                $themePath = $theme->getArea() . \Magento\Core\Model\ThemeInterface::PATH_SEPARATOR . $parentThemePath;
+                $themePath = $theme->getArea() . \Magento\View\Design\ThemeInterface::PATH_SEPARATOR . $parentThemePath;
                 if (isset($themeItems[$themePath])) {
                     $theme->setParentTheme($themeItems[$themePath]);
                 }
@@ -277,7 +277,7 @@ class Collection extends \Magento\Data\Collection
     protected function _renderFilters()
     {
         $filters = $this->getFilter(array());
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($this->getItems() as $itemKey => $theme) {
             $removeItem = false;
             foreach ($filters as $filter) {
@@ -340,10 +340,10 @@ class Collection extends \Magento\Data\Collection
     /**
      * Checks that a theme present in filesystem collection
      *
-     * @param \Magento\Core\Model\ThemeInterface $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return bool
      */
-    public function hasTheme(\Magento\Core\Model\ThemeInterface $theme)
+    public function hasTheme(\Magento\View\Design\ThemeInterface $theme)
     {
         $themeItems = $this->getItems();
         return $theme->getThemePath() && isset($themeItems[$theme->getFullPath()]);
diff --git a/app/code/Magento/Core/Model/Theme/CopyService.php b/app/code/Magento/Core/Model/Theme/CopyService.php
index 718e309013c191e1a59338d868411d1a0cd81507..8af315c0e13b7c81ae01adb8346460dfb83283b6 100644
--- a/app/code/Magento/Core/Model/Theme/CopyService.php
+++ b/app/code/Magento/Core/Model/Theme/CopyService.php
@@ -52,7 +52,7 @@ class CopyService
     protected $_updateFactory;
 
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -66,7 +66,7 @@ class CopyService
      * @param \Magento\Core\Model\Theme\FileFactory $fileFactory
      * @param \Magento\Core\Model\Layout\Link $link
      * @param \Magento\Core\Model\Layout\UpdateFactory $updateFactory
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Theme\Customization\Path $customization
      */
     public function __construct(
@@ -74,7 +74,7 @@ class CopyService
         \Magento\Core\Model\Theme\FileFactory $fileFactory,
         \Magento\Core\Model\Layout\Link $link,
         \Magento\Core\Model\Layout\UpdateFactory $updateFactory,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Theme\Customization\Path $customization
     ) {
         $this->_filesystem = $filesystem;
@@ -88,10 +88,10 @@ class CopyService
     /**
      * Copy customizations from one theme to another
      *
-     * @param \Magento\Core\Model\Theme $source
-     * @param \Magento\Core\Model\Theme $target
+     * @param \Magento\View\Design\ThemeInterface $source
+     * @param \Magento\View\Design\ThemeInterface $target
      */
-    public function copy(\Magento\Core\Model\Theme $source, \Magento\Core\Model\Theme $target)
+    public function copy(\Magento\View\Design\ThemeInterface $source, \Magento\View\Design\ThemeInterface $target)
     {
         $this->_copyDatabaseCustomization($source, $target);
         $this->_copyLayoutCustomization($source, $target);
@@ -101,11 +101,13 @@ class CopyService
     /**
      * Copy customizations stored in a database from one theme to another, overriding existing data
      *
-     * @param \Magento\Core\Model\Theme $source
-     * @param \Magento\Core\Model\Theme $target
+     * @param \Magento\View\Design\ThemeInterface $source
+     * @param \Magento\View\Design\ThemeInterface $target
      */
-    protected function _copyDatabaseCustomization(\Magento\Core\Model\Theme $source, \Magento\Core\Model\Theme $target)
-    {
+    protected function _copyDatabaseCustomization(
+        \Magento\View\Design\ThemeInterface $source,
+        \Magento\View\Design\ThemeInterface $target
+    ) {
         /** @var $themeFile \Magento\Core\Model\Theme\File */
         foreach ($target->getCustomization()->getFiles() as $themeFile) {
             $themeFile->delete();
@@ -130,11 +132,13 @@ class CopyService
     /**
      * Add layout links to general layout updates for themes
      *
-     * @param \Magento\Core\Model\Theme $source
-     * @param \Magento\Core\Model\Theme $target
+     * @param \Magento\View\Design\ThemeInterface $source
+     * @param \Magento\View\Design\ThemeInterface $target
      */
-    protected function _copyLayoutCustomization(\Magento\Core\Model\Theme $source, \Magento\Core\Model\Theme $target)
-    {
+    protected function _copyLayoutCustomization(
+        \Magento\View\Design\ThemeInterface $source,
+        \Magento\View\Design\ThemeInterface $target
+    ) {
         $update = $this->_updateFactory->create();
         /** @var $targetUpdates \Magento\Core\Model\Resource\Layout\Update\Collection */
         $targetUpdates = $update->getCollection();
@@ -163,12 +167,12 @@ class CopyService
     /**
      * Copy customizations stored in a file system from one theme to another, overriding existing data
      *
-     * @param \Magento\Core\Model\Theme $source
-     * @param \Magento\Core\Model\Theme $target
+     * @param \Magento\View\Design\ThemeInterface $source
+     * @param \Magento\View\Design\ThemeInterface $target
      */
     protected function _copyFilesystemCustomization(
-        \Magento\Core\Model\Theme $source,
-        \Magento\Core\Model\Theme $target
+        \Magento\View\Design\ThemeInterface $source,
+        \Magento\View\Design\ThemeInterface $target
     ) {
         $sourcePath = $this->_customizationPath->getCustomizationPath($source);
         $targetPath = $this->_customizationPath->getCustomizationPath($target);
diff --git a/app/code/Magento/Core/Model/Theme/Customization.php b/app/code/Magento/Core/Model/Theme/Customization.php
index 2c6d7d65eff3bbfaf4536935eadec56476c43adc..e0bd1b786a013dd842eebefbc290a4ef627946bd 100644
--- a/app/code/Magento/Core/Model/Theme/Customization.php
+++ b/app/code/Magento/Core/Model/Theme/Customization.php
@@ -59,12 +59,12 @@ class Customization implements \Magento\Core\Model\Theme\CustomizationInterface
     /**
      * @param \Magento\Core\Model\Resource\Theme\File\CollectionFactory $fileFactory
      * @param \Magento\Core\Model\Theme\Customization\Path $customizationPath
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      */
     public function __construct(
         \Magento\Core\Model\Resource\Theme\File\CollectionFactory $fileFactory,
         \Magento\Core\Model\Theme\Customization\Path $customizationPath,
-        \Magento\Core\Model\Theme $theme = null
+        \Magento\View\Design\ThemeInterface $theme = null
     ) {
         $this->_fileFactory = $fileFactory;
         $this->_customizationPath = $customizationPath;
diff --git a/app/code/Magento/Core/Model/Theme/Customization/Path.php b/app/code/Magento/Core/Model/Theme/Customization/Path.php
index ec49ab44db93461211e851e9a1548b805a995416..0addfb608d317efe9ff3429a6f2f82347995ad56 100644
--- a/app/code/Magento/Core/Model/Theme/Customization/Path.php
+++ b/app/code/Magento/Core/Model/Theme/Customization/Path.php
@@ -37,16 +37,16 @@ class Path
     const DIR_NAME = 'theme_customization';
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
     /**
      * Initialize dependencies
      *
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      */
-    public function __construct(\Magento\Core\Model\Dir $dir)
+    public function __construct(\Magento\App\Dir $dir)
     {
         $this->_dir = $dir;
     }
@@ -54,14 +54,14 @@ class Path
     /**
      * Returns customization absolute path
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return string|null
      */
-    public function getCustomizationPath(\Magento\Core\Model\Theme $theme)
+    public function getCustomizationPath(\Magento\View\Design\ThemeInterface $theme)
     {
         $path = null;
         if ($theme->getId()) {
-            $path = $this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA)
+            $path = $this->_dir->getDir(\Magento\App\Dir::MEDIA)
                 . DIRECTORY_SEPARATOR . self::DIR_NAME
                 . DIRECTORY_SEPARATOR . $theme->getId();
         }
@@ -71,14 +71,14 @@ class Path
     /**
      * Get directory where themes files are stored
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return string|null
      */
-    public function getThemeFilesPath(\Magento\Core\Model\Theme $theme)
+    public function getThemeFilesPath(\Magento\View\Design\ThemeInterface $theme)
     {
         $path = null;
         if ($theme->getFullPath()) {
-            $physicalThemesDir = $this->_dir->getDir(\Magento\Core\Model\Dir::THEMES);
+            $physicalThemesDir = $this->_dir->getDir(\Magento\App\Dir::THEMES);
             $path = \Magento\Filesystem::fixSeparator($physicalThemesDir . DIRECTORY_SEPARATOR . $theme->getFullPath());
         }
         return $path;
@@ -87,10 +87,10 @@ class Path
     /**
      * Get path to custom view configuration file
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return string|null
      */
-    public function getCustomViewConfigPath(\Magento\Core\Model\Theme $theme)
+    public function getCustomViewConfigPath(\Magento\View\Design\ThemeInterface $theme)
     {
         $path = null;
         if ($theme->getId()) {
diff --git a/app/code/Magento/Core/Model/Theme/Domain/Factory.php b/app/code/Magento/Core/Model/Theme/Domain/Factory.php
index bf4f93a1a7d6fe7e65e27dfdce73173db93e8f29..6353cc6a7d951c79b420ecc1981de111883f37f7 100644
--- a/app/code/Magento/Core/Model/Theme/Domain/Factory.php
+++ b/app/code/Magento/Core/Model/Theme/Domain/Factory.php
@@ -56,11 +56,11 @@ class Factory
     /**
      * Create new config object
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return \Magento\Core\Model\Theme\Domain\Virtual|\Magento\Core\Model\Theme\Domain\Staging
      * @throws \Magento\Core\Exception
      */
-    public function create(\Magento\Core\Model\Theme $theme)
+    public function create(\Magento\View\Design\ThemeInterface $theme)
     {
         if (!isset($this->_types[$theme->getType()])) {
             throw new \Magento\Core\Exception(sprintf('Invalid type of theme domain model "%s"', $theme->getType()));
diff --git a/app/code/Magento/Core/Model/Theme/Domain/Physical.php b/app/code/Magento/Core/Model/Theme/Domain/Physical.php
index 427f1d4bba1940161205b139af8ddfbe48edf69a..3cd5363558317f475ad0726bb00c6997fe02fb89 100644
--- a/app/code/Magento/Core/Model/Theme/Domain/Physical.php
+++ b/app/code/Magento/Core/Model/Theme/Domain/Physical.php
@@ -54,13 +54,13 @@ class Physical
     protected $_themeCollection;
 
     /**
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @param \Magento\Core\Model\ThemeFactory $themeFactory
      * @param \Magento\Core\Model\Theme\CopyService $themeCopyService
      * @param \Magento\Core\Model\Resource\Theme\Collection $themeCollection
      */
     public function __construct(
-        \Magento\Core\Model\Theme $theme,
+        \Magento\View\Design\ThemeInterface $theme,
         \Magento\Core\Model\ThemeFactory $themeFactory,
         \Magento\Core\Model\Theme\CopyService $themeCopyService,
         \Magento\Core\Model\Resource\Theme\Collection $themeCollection
@@ -74,7 +74,7 @@ class Physical
     /**
      * Create theme customization
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return \Magento\Core\Model\Theme
      */
     public function createVirtualTheme($theme)
@@ -86,7 +86,7 @@ class Physical
         $themeData['theme_title'] = $this->_getVirtualThemeTitle($theme);
         $themeData['type'] = \Magento\Core\Model\Theme::TYPE_VIRTUAL;
 
-        /** @var $themeCustomization \Magento\Core\Model\Theme */
+        /** @var $themeCustomization \Magento\View\Design\ThemeInterface */
         $themeCustomization = $this->_themeFactory->create()->setData($themeData);
         $themeCustomization->getThemeImage()->createPreviewImageCopy($theme->getPreviewImage());
         $themeCustomization->save();
@@ -99,7 +99,7 @@ class Physical
     /**
      * Get virtual theme title
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return string
      */
     protected function _getVirtualThemeTitle($theme)
diff --git a/app/code/Magento/Core/Model/Theme/Domain/Staging.php b/app/code/Magento/Core/Model/Theme/Domain/Staging.php
index f43153fc5e80de81ee50face1a5ac49f311202d7..f1302a2d0ce932876a34ba8133bb1b993b3c90a3 100644
--- a/app/code/Magento/Core/Model/Theme/Domain/Staging.php
+++ b/app/code/Magento/Core/Model/Theme/Domain/Staging.php
@@ -44,11 +44,11 @@ class Staging
     protected $_themeCopyService;
 
     /**
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @param \Magento\Core\Model\Theme\CopyService $themeCopyService
      */
     public function __construct(
-        \Magento\Core\Model\Theme $theme,
+        \Magento\View\Design\ThemeInterface $theme,
         \Magento\Core\Model\Theme\CopyService $themeCopyService
     ) {
         $this->_theme = $theme;
diff --git a/app/code/Magento/Core/Model/Theme/Domain/Virtual.php b/app/code/Magento/Core/Model/Theme/Domain/Virtual.php
index 29600e46f1b0892821c3058ebc9809c63deef20a..491a5f0708753160ff3cfc30a19fdd7865a84256 100644
--- a/app/code/Magento/Core/Model/Theme/Domain/Virtual.php
+++ b/app/code/Magento/Core/Model/Theme/Domain/Virtual.php
@@ -63,13 +63,13 @@ class Virtual
     protected $_customizationConfig;
 
     /**
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @param \Magento\Core\Model\ThemeFactory $themeFactory
      * @param \Magento\Core\Model\Theme\CopyService $themeCopyService
      * @param \Magento\Theme\Model\Config\Customization $customizationConfig
      */
     public function __construct(
-        \Magento\Core\Model\Theme $theme,
+        \Magento\View\Design\ThemeInterface $theme,
         \Magento\Core\Model\ThemeFactory $themeFactory,
         \Magento\Core\Model\Theme\CopyService $themeCopyService,
         \Magento\Theme\Model\Config\Customization $customizationConfig
@@ -104,7 +104,7 @@ class Virtual
      */
     public function getPhysicalTheme()
     {
-        /** @var $parentTheme \Magento\Core\Model\Theme */
+        /** @var $parentTheme \Magento\View\Design\ThemeInterface */
         $parentTheme = $this->_theme->getParentTheme();
         while ($parentTheme && !$parentTheme->isPhysical()) {
             $parentTheme = $parentTheme->getParentTheme();
diff --git a/app/code/Magento/Core/Model/Theme/File.php b/app/code/Magento/Core/Model/Theme/File.php
index 067f18d71fa6b6081f0b184af007b8f456ff1fd7..c7fb466d569e29c3e1f050039183970dc4d7b42c 100644
--- a/app/code/Magento/Core/Model/Theme/File.php
+++ b/app/code/Magento/Core/Model/Theme/File.php
@@ -126,7 +126,7 @@ class File extends \Magento\Core\Model\AbstractModel
     /**
      * {@inheritdoc}
      */
-    public function setTheme(\Magento\Core\Model\Theme $theme)
+    public function setTheme(\Magento\View\Design\ThemeInterface $theme)
     {
         $this->_theme = $theme;
         $this->setData('theme_id', $theme->getId());
diff --git a/app/code/Magento/Core/Model/Theme/FileInterface.php b/app/code/Magento/Core/Model/Theme/FileInterface.php
index 09374c19d21ad1a65c09818a1afde0e0ef5a22fc..71de934f586b72c56b0aa038bbd32ba6bfa0c057 100644
--- a/app/code/Magento/Core/Model/Theme/FileInterface.php
+++ b/app/code/Magento/Core/Model/Theme/FileInterface.php
@@ -49,10 +49,10 @@ interface FileInterface
     /**
      * Attaches selected theme to current file
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return $this
      */
-    public function setTheme(\Magento\Core\Model\Theme $theme);
+    public function setTheme(\Magento\View\Design\ThemeInterface $theme);
 
     /**
      * Get theme model
diff --git a/app/code/Magento/Core/Model/Theme/FlyweightFactory.php b/app/code/Magento/Core/Model/Theme/FlyweightFactory.php
index 6524b43832ab86ad0740a0d04b51cf35499f6dfc..7c5ec567b8af83cd890678167b9a532b78d0aef0 100644
--- a/app/code/Magento/Core/Model/Theme/FlyweightFactory.php
+++ b/app/code/Magento/Core/Model/Theme/FlyweightFactory.php
@@ -64,7 +64,7 @@ class FlyweightFactory
      * @return \Magento\Core\Model\Theme|null
      * @throws \InvalidArgumentException
      */
-    public function create($themeKey, $area = \Magento\Core\Model\View\DesignInterface::DEFAULT_AREA)
+    public function create($themeKey, $area = \Magento\View\DesignInterface::DEFAULT_AREA)
     {
         if (is_numeric($themeKey)) {
             $themeModel = $this->_loadById($themeKey);
@@ -92,8 +92,8 @@ class FlyweightFactory
             return $this->_themes[$themeId];
         }
 
-        /** @var $themeModel \Magento\Core\Model\Theme */
-        $themeModel = $this->_objectManager->create('Magento\Core\Model\Theme');
+        /** @var $themeModel \Magento\View\Design\ThemeInterface */
+        $themeModel = $this->_objectManager->create('Magento\View\Design\ThemeInterface');
         $themeModel->load($themeId);
         return $themeModel;
     }
@@ -107,7 +107,7 @@ class FlyweightFactory
      */
     protected function _loadByPath($themePath, $area)
     {
-        $fullPath = $area . \Magento\Core\Model\ThemeInterface::PATH_SEPARATOR . $themePath;
+        $fullPath = $area . \Magento\View\Design\ThemeInterface::PATH_SEPARATOR . $themePath;
         if (isset($this->_themesByPath[$fullPath])) {
             return $this->_themesByPath[$fullPath];
         }
@@ -121,10 +121,10 @@ class FlyweightFactory
     /**
      * Add theme to shared collection
      *
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @return $this
      */
-    protected function _addTheme(\Magento\Core\Model\Theme $themeModel)
+    protected function _addTheme(\Magento\View\Design\ThemeInterface $themeModel)
     {
         if ($themeModel->getId()) {
             $this->_themes[$themeModel->getId()] = $themeModel;
diff --git a/app/code/Magento/Core/Model/Theme/Image.php b/app/code/Magento/Core/Model/Theme/Image.php
index 1b36c85986d5379e2e9834a7657f53829d063f10..19c0909655ee2e72078b90f040a804e859c2acfa 100644
--- a/app/code/Magento/Core/Model/Theme/Image.php
+++ b/app/code/Magento/Core/Model/Theme/Image.php
@@ -79,7 +79,7 @@ class Image
      * @param \Magento\Core\Model\Theme\Image\Uploader $uploader
      * @param \Magento\Core\Model\Theme\Image\Path $themeImagePath
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      */
     public function __construct(
         \Magento\Filesystem $filesystem,
@@ -87,7 +87,7 @@ class Image
         \Magento\Core\Model\Theme\Image\Uploader $uploader,
         \Magento\Core\Model\Theme\Image\Path $themeImagePath,
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Theme $theme = null
+        \Magento\View\Design\ThemeInterface $theme = null
     ) {
         $this->_filesystem = $filesystem;
         $this->_imageFactory = $imageFactory;
diff --git a/app/code/Magento/Core/Model/Theme/Image/Path.php b/app/code/Magento/Core/Model/Theme/Image/Path.php
index 7203ce50b642d97e5c7bece0cfcc0bb8c92b4837..9fc553dd6a7973d6a73808ab556b6a93d1bc4ae5 100644
--- a/app/code/Magento/Core/Model/Theme/Image/Path.php
+++ b/app/code/Magento/Core/Model/Theme/Image/Path.php
@@ -42,7 +42,7 @@ class Path
     const DEFAULT_PREVIEW_IMAGE = 'Magento_Core::theme/default_preview.jpg';
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -59,12 +59,12 @@ class Path
     /**
      * Initialize dependencies
      *
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\View\Url $viewUrl
      * @param \Magento\Core\Model\StoreManager $storeManager
      */
     public function __construct(
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\View\Url $viewUrl,
         \Magento\Core\Model\StoreManager $storeManager
     ) {
@@ -101,7 +101,7 @@ class Path
      */
     public function getImagePreviewDirectory()
     {
-        return $this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA) . DIRECTORY_SEPARATOR
+        return $this->_dir->getDir(\Magento\App\Dir::MEDIA) . DIRECTORY_SEPARATOR
             . str_replace('/', DIRECTORY_SEPARATOR, self::PREVIEW_DIRECTORY_PATH);
     }
 
@@ -113,7 +113,7 @@ class Path
     public function getTemporaryDirectory()
     {
         return implode(DIRECTORY_SEPARATOR, array(
-            $this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA), 'theme', 'origin'
+            $this->_dir->getDir(\Magento\App\Dir::MEDIA), 'theme', 'origin'
         ));
     }
 }
diff --git a/app/code/Magento/Core/Model/Theme/Observer.php b/app/code/Magento/Core/Model/Theme/Observer.php
index 21e2622a20d683e209731523f797791b6f69e1b1..c985b9bc41ce0d5a549b93d912b252893fc6fe1d 100644
--- a/app/code/Magento/Core/Model/Theme/Observer.php
+++ b/app/code/Magento/Core/Model/Theme/Observer.php
@@ -47,7 +47,7 @@ class Observer
     protected $_themeConfig;
 
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventDispatcher;
 
@@ -55,13 +55,13 @@ class Observer
      * @param \Magento\Core\Model\Theme\ImageFactory $themeImageFactory
      * @param \Magento\Core\Model\Resource\Layout\Update\Collection $updateCollection
      * @param \Magento\Theme\Model\Config\Customization $themeConfig
-     * @param \Magento\Core\Model\Event\Manager $eventDispatcher
+     * @param \Magento\Event\ManagerInterface $eventDispatcher
      */
     public function __construct(
         \Magento\Core\Model\Theme\ImageFactory $themeImageFactory,
         \Magento\Core\Model\Resource\Layout\Update\Collection $updateCollection,
         \Magento\Theme\Model\Config\Customization $themeConfig,
-        \Magento\Core\Model\Event\Manager $eventDispatcher
+        \Magento\Event\ManagerInterface $eventDispatcher
     ) {
         $this->_themeImageFactory = $themeImageFactory;
         $this->_updateCollection = $updateCollection;
@@ -81,7 +81,7 @@ class Observer
         if ($theme instanceof \Magento\Core\Model\Theme) {
             return;
         }
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         if ($this->_themeConfig->isThemeAssignedToStore($theme)) {
             throw new \Magento\Core\Exception(__('Theme isn\'t deletable.'));
         }
@@ -98,7 +98,7 @@ class Observer
     {
         $theme = $observer->getEvent()->getData('theme');
         if ($theme instanceof \Magento\Core\Model\Theme) {
-            /** @var $theme \Magento\Core\Model\Theme */
+            /** @var $theme \Magento\View\Design\ThemeInterface */
             if ($this->_themeConfig->isThemeAssignedToStore($theme)) {
                 $this->_eventDispatcher->dispatch('assigned_theme_changed', array('theme' => $this));
             }
diff --git a/app/code/Magento/Core/Model/Theme/Registration.php b/app/code/Magento/Core/Model/Theme/Registration.php
index 6dbd31069e5bfe85a81cbb850ac556d264ebd8f8..2e0d0a8a5653c4a5843bc336c3ea5b290002d5bc 100644
--- a/app/code/Magento/Core/Model/Theme/Registration.php
+++ b/app/code/Magento/Core/Model/Theme/Registration.php
@@ -109,7 +109,7 @@ class Registration
      * Register theme and recursively all its ascendants
      * Second param is optional and is used to prevent circular references in inheritance chain
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @param array $inheritanceChain
      * @return \Magento\Core\Model\Theme\Collection
      * @throws \Magento\Core\Exception
@@ -146,10 +146,10 @@ class Registration
     /**
      * Save preview image for theme
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return $this
      */
-    protected function _savePreviewImage(\Magento\Core\Model\Theme $theme)
+    protected function _savePreviewImage(\Magento\View\Design\ThemeInterface $theme)
     {
         $themeDirectory = $theme->getCustomization()->getThemeFilesPath();
         if (!$theme->getPreviewImage() || !$themeDirectory) {
@@ -181,7 +181,7 @@ class Registration
     public function checkPhysicalThemes()
     {
         $themes = $this->_collectionFactory->create()->addTypeFilter(\Magento\Core\Model\Theme::TYPE_PHYSICAL);
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($themes as $theme) {
             if (!$this->_themeCollection->hasTheme($theme)) {
                 $theme->setType(\Magento\Core\Model\Theme::TYPE_VIRTUAL)->save();
@@ -201,7 +201,7 @@ class Registration
             list($parentType, $childType) = $typesSequence;
             $collection = $this->_collectionFactory->create();
             $collection->addTypeRelationFilter($parentType, $childType);
-            /** @var $theme \Magento\Core\Model\Theme */
+            /** @var $theme \Magento\View\Design\ThemeInterface */
             foreach ($collection as $theme) {
                 $parentId = $this->_getResetParentId($theme);
                 if ($theme->getParentId() != $parentId) {
@@ -215,10 +215,10 @@ class Registration
     /**
      * Reset parent themes by type
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return int|null
      */
-    protected function _getResetParentId(\Magento\Core\Model\Theme $theme)
+    protected function _getResetParentId(\Magento\View\Design\ThemeInterface $theme)
     {
         $parentTheme = $theme->getParentTheme();
         while ($parentTheme) {
diff --git a/app/code/Magento/Core/Model/Translate.php b/app/code/Magento/Core/Model/Translate.php
index 30338a4be86c6521219d01c6dac23d4799d93454..ea8f4e757c7edfc2decdb577f13a37ca6d2e1828 100644
--- a/app/code/Magento/Core/Model/Translate.php
+++ b/app/code/Magento/Core/Model/Translate.php
@@ -139,7 +139,7 @@ class Translate
     protected $_localeHierarchy = array();
 
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_viewDesign;
 
@@ -164,7 +164,7 @@ class Translate
     protected $_placeholderRender;
 
     /**
-     * @var \Magento\Core\Model\ModuleList
+     * @var \Magento\App\ModuleList
      */
     protected $_moduleList;
 
@@ -189,13 +189,13 @@ class Translate
     protected $_app;
 
     /**
-     * @param \Magento\Core\Model\View\DesignInterface $viewDesign
+     * @param \Magento\View\DesignInterface $viewDesign
      * @param \Magento\Core\Model\Locale\Hierarchy\Config $config
      * @param \Magento\Core\Model\Translate\Factory $translateFactory
      * @param \Magento\Cache\FrontendInterface $cache
      * @param \Magento\Core\Model\View\FileSystem $viewFileSystem
      * @param \Magento\Phrase\Renderer\Placeholder $placeholderRender
-     * @param \Magento\Core\Model\ModuleList $moduleList
+     * @param \Magento\App\ModuleList $moduleList
      * @param \Magento\Core\Model\Config\Modules\Reader $modulesReader
      * @param \Magento\Core\Model\Config $coreConfig
      * @param \Magento\Core\Model\StoreManager $storeManager
@@ -205,13 +205,13 @@ class Translate
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\View\DesignInterface $viewDesign,
+        \Magento\View\DesignInterface $viewDesign,
         \Magento\Core\Model\Locale\Hierarchy\Config $config,
         \Magento\Core\Model\Translate\Factory $translateFactory,
         \Magento\Cache\FrontendInterface $cache,
         \Magento\Core\Model\View\FileSystem $viewFileSystem,
         \Magento\Phrase\Renderer\Placeholder $placeholderRender,
-        \Magento\Core\Model\ModuleList $moduleList,
+        \Magento\App\ModuleList $moduleList,
         \Magento\Core\Model\Config\Modules\Reader $modulesReader,
         \Magento\Core\Model\Config $coreConfig,
         \Magento\Core\Model\StoreManager $storeManager,
@@ -474,7 +474,7 @@ class Translate
      */
     protected function _getModuleTranslationFile($moduleName, $locale)
     {
-        $file = $this->_modulesReader->getModuleDir(\Magento\Core\Model\Dir::LOCALE, $moduleName);
+        $file = $this->_modulesReader->getModuleDir(\Magento\App\Dir::LOCALE, $moduleName);
         $file .= DS . $locale . '.csv';
         return $file;
     }
@@ -487,7 +487,7 @@ class Translate
      */
     protected function _getThemeTranslationFile($locale)
     {
-        return $this->_viewFileSystem->getFilename(\Magento\Core\Model\Dir::LOCALE . DS . $locale . '.csv');
+        return $this->_viewFileSystem->getFilename(\Magento\App\Dir::LOCALE . DS . $locale . '.csv');
     }
 
     /**
diff --git a/app/code/Magento/Core/Model/Translate/Inline.php b/app/code/Magento/Core/Model/Translate/Inline.php
index 5e4b5a434e512dfd4a3c7c0794bf46611d2dddad..ec89a025037c8ef2e3ba417b23f142b0c865d800 100644
--- a/app/code/Magento/Core/Model/Translate/Inline.php
+++ b/app/code/Magento/Core/Model/Translate/Inline.php
@@ -73,7 +73,7 @@ class Inline implements \Magento\Core\Model\Translate\InlineInterface
     protected $_url;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -87,11 +87,11 @@ class Inline implements \Magento\Core\Model\Translate\InlineInterface
     /**
      * Initialize inline translation model
      *
-     * @param \Magento\Core\Model\Translate\InlineParser $parser
+     * @param InlineParser $parser
      * @param \Magento\Core\Model\Translate $translate
      * @param \Magento\Backend\Model\Url $backendUrl
      * @param \Magento\Core\Model\Url $url
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      */
     public function __construct(
@@ -99,7 +99,7 @@ class Inline implements \Magento\Core\Model\Translate\InlineInterface
         \Magento\Core\Model\Translate $translate,
         \Magento\Backend\Model\Url $backendUrl,
         \Magento\Core\Model\Url $url,
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         \Magento\Core\Model\Store\Config $coreStoreConfig
     ) {
         $this->_coreStoreConfig = $coreStoreConfig;
diff --git a/app/code/Magento/Core/Model/Translate/InlineParser.php b/app/code/Magento/Core/Model/Translate/InlineParser.php
index 7541a7d17503c06046921819cd761cdf7e77510f..9591182193869827afe0217897bed9f6ad464600 100644
--- a/app/code/Magento/Core/Model/Translate/InlineParser.php
+++ b/app/code/Magento/Core/Model/Translate/InlineParser.php
@@ -125,7 +125,7 @@ class InlineParser
     );
 
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_design;
 
@@ -154,13 +154,13 @@ class InlineParser
      *
      * @param \Magento\Core\Model\Resource\Translate\String $resource
      * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Helper\Data $helper
      * @param \Zend_Filter_Interface $inputFilter
      */
     public function __construct(
         \Magento\Core\Model\Resource\Translate\String $resource,
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Helper\Data $helper,
         \Magento\Core\Model\StoreManager $storeManager,
         \Zend_Filter_Interface $inputFilter
@@ -173,7 +173,7 @@ class InlineParser
     }
 
     /**
-     * @return \Magento\Core\Model\View\DesignInterface
+     * @return \Magento\View\DesignInterface
      */
     public function getDesignPackage()
     {
diff --git a/app/code/Magento/Core/Model/Url.php b/app/code/Magento/Core/Model/Url.php
index 207c27abb8732befff84e780eb40c68eb8532830..6b458f92202604b96fba631dbceb10ee907cef87 100644
--- a/app/code/Magento/Core/Model/Url.php
+++ b/app/code/Magento/Core/Model/Url.php
@@ -78,7 +78,12 @@
  */
 namespace Magento\Core\Model;
 
-class Url extends \Magento\Object implements \Magento\Core\Model\UrlInterface
+use Magento\Core\Model\App;
+use Magento\Core\Model\Session;
+use Magento\Core\Model\Store;
+use Magento\Core\Model\StoreManager;
+
+class Url extends \Magento\Object implements \Magento\UrlInterface
 {
     /**
      * Configuration data cache
@@ -106,9 +111,9 @@ class Url extends \Magento\Object implements \Magento\Core\Model\UrlInterface
     );
 
     /**
-     * Controller request object
+     * Request instance
      *
-     * @var \Zend_Controller_Request_Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
@@ -154,21 +159,27 @@ class Url extends \Magento\Object implements \Magento\Core\Model\UrlInterface
     protected $_session;
 
     /**
-     * Constructor
-     *
-     * By default is looking for first argument as array and assigns it as object
-     * attributes This behavior may change in child classes
+     * Router list
      *
-     * @param \Magento\Core\Model\Url\SecurityInfoInterface $urlSecurityInfo
-     * @param \Magento\Core\Model\Store\Config $coreStoreConfig
+     * @var \Magento\App\RouterListInterface
+     */
+    protected $_routerList;
+
+    /**
+     * @param \Magento\App\RouterListInterface $routerList
+     * @param \Magento\App\RequestInterface $request
+     * @param Url\SecurityInfoInterface $urlSecurityInfo
+     * @param Store\Config $coreStoreConfig
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\Session $session
+     * @param App $app
+     * @param StoreManager $storeManager
+     * @param Session $session
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Url\SecurityInfoInterface $urlSecurityInfo,
+        \Magento\App\RouterListInterface $routerList,
+        \Magento\App\RequestInterface $request,
+        Url\SecurityInfoInterface $urlSecurityInfo,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Model\App $app,
@@ -176,6 +187,8 @@ class Url extends \Magento\Object implements \Magento\Core\Model\UrlInterface
         \Magento\Core\Model\Session $session,
         array $data = array()
     ) {
+        $this->_request = $request;
+        $this->_routerList = $routerList;
         $this->_urlSecurityInfo = $urlSecurityInfo;
         $this->_coreStoreConfig = $coreStoreConfig;
         $this->_coreData = $coreData;
@@ -325,10 +338,10 @@ class Url extends \Magento\Object implements \Magento\Core\Model\UrlInterface
     /**
      * Set request
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return \Magento\Core\Model\Url
      */
-    public function setRequest(\Zend_Controller_Request_Http $request)
+    public function setRequest(\Magento\App\RequestInterface $request)
     {
         $this->_request = $request;
         return $this;
@@ -337,13 +350,10 @@ class Url extends \Magento\Object implements \Magento\Core\Model\UrlInterface
     /**
      * Zend request object
      *
-     * @return \Magento\Core\Controller\Request\Http
+     * @return \Magento\App\RequestInterface
      */
     public function getRequest()
     {
-        if (!$this->_request) {
-            $this->_request = $this->_app->getRequest();
-        }
         return $this->_request;
     }
 
@@ -537,7 +547,7 @@ class Url extends \Magento\Object implements \Magento\Core\Model\UrlInterface
     public function getRoutePath($routeParams = array())
     {
         if (!$this->hasData('route_path')) {
-            $routePath = $this->getRequest()->getAlias(\Magento\Core\Model\Url\Rewrite::REWRITE_REQUEST_PATH_ALIAS);
+            $routePath = $this->getRequest()->getAlias(Url\Rewrite::REWRITE_REQUEST_PATH_ALIAS);
             if (!empty($routeParams['_use_rewrite']) && ($routePath !== null)) {
                 $this->setData('route_path', $routePath);
                 return $routePath;
@@ -587,7 +597,7 @@ class Url extends \Magento\Object implements \Magento\Core\Model\UrlInterface
     {
         if (!$this->hasData('route_front_name')) {
             $routeId = $this->getRouteName();
-            $router = $this->_app->getFrontController()->getRouterList()->getRouterByRoute($routeId);
+            $router = $this->_routerList->getRouterByRoute($routeId);
             $frontName = $router->getFrontNameByRoute($routeId);
 
             $this->setRouteFrontName($frontName);
@@ -1192,7 +1202,7 @@ class Url extends \Magento\Object implements \Magento\Core\Model\UrlInterface
     {
         $key = 'use_session_id_for_url_' . (int) $secure;
         if (is_null($this->getData($key))) {
-            $httpHost = $this->_app->getFrontController()->getRequest()->getHttpHost();
+            $httpHost = $this->_request->getHttpHost();
             $urlHost = parse_url($this->getStore()->getBaseUrl(\Magento\Core\Model\Store::URL_TYPE_LINK, $secure),
                 PHP_URL_HOST);
 
diff --git a/app/code/Magento/Core/Model/Url/Rewrite.php b/app/code/Magento/Core/Model/Url/Rewrite.php
index 67ca0c0fdd8937ac1bf4b1bfa5d43158ab69aab1..313ea3ac05a5a6f664a9295c82768298e847172c 100644
--- a/app/code/Magento/Core/Model/Url/Rewrite.php
+++ b/app/code/Magento/Core/Model/Url/Rewrite.php
@@ -81,7 +81,7 @@ class Rewrite extends \Magento\Core\Model\AbstractModel
     protected $_app;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -95,7 +95,7 @@ class Rewrite extends \Magento\Core\Model\AbstractModel
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
@@ -106,7 +106,7 @@ class Rewrite extends \Magento\Core\Model\AbstractModel
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\App $app,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
@@ -240,14 +240,14 @@ class Rewrite extends \Magento\Core\Model\AbstractModel
         return $this;
     }
 
+
     /**
-     * Implement logic of custom rewrites
+     * Perform custom url rewrites
      *
-     * @param   \Zend_Controller_Request_Http $request
-     * @param   \Zend_Controller_Response_Http $response
-     * @return  \Magento\Core\Model\Url
+     * @param \Magento\App\RequestInterface $request
+     * @return bool
      */
-    public function rewrite(\Zend_Controller_Request_Http $request=null, \Zend_Controller_Response_Http $response=null)
+    public function rewrite(\Magento\App\RequestInterface $request = null)
     {
         if (!$this->_appState->isInstalled()) {
             return false;
@@ -255,9 +255,6 @@ class Rewrite extends \Magento\Core\Model\AbstractModel
         if (is_null($request)) {
             $request = $this->_app->getFrontController()->getRequest();
         }
-        if (is_null($response)) {
-            $response = $this->_app->getFrontController()->getResponse();
-        }
         if (is_null($this->getStoreId()) || false === $this->getStoreId()) {
             $this->setStoreId($this->_storeManager->getStore()->getId());
         }
diff --git a/app/code/Magento/Core/Model/View/Config.php b/app/code/Magento/Core/Model/View/Config.php
index d4f22e275de0ac5b0e3b635c5cc86bb6e6703852..628d99c58c0dc53da6686b6e5c9af3cdbccc2b09 100644
--- a/app/code/Magento/Core/Model/View/Config.php
+++ b/app/code/Magento/Core/Model/View/Config.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Core\Model\View;
 
-class Config
+class Config implements \Magento\View\ConfigInterface
 {
     /**
      * List of view configuration objects per theme
@@ -91,7 +91,7 @@ class Config
     public function getViewConfig(array $params = array())
     {
         $this->_viewService->updateDesignParams($params);
-        /** @var $currentTheme \Magento\Core\Model\Theme */
+        /** @var $currentTheme \Magento\View\Design\ThemeInterface */
         $currentTheme = $params['themeModel'];
         $key = $currentTheme->getId();
         if (isset($this->_viewConfigs[$key])) {
diff --git a/app/code/Magento/Core/Model/View/DeployedFilesManager.php b/app/code/Magento/Core/Model/View/DeployedFilesManager.php
index 5a4c021ec074b55ee141716d83cb8b6fc0ba1703..6fb6a5e1ef9656508347f1b2b9f21101e7b6b0c4 100644
--- a/app/code/Magento/Core/Model/View/DeployedFilesManager.php
+++ b/app/code/Magento/Core/Model/View/DeployedFilesManager.php
@@ -83,7 +83,7 @@ class DeployedFilesManager implements \Magento\Core\Model\View\PublicFilesManage
      */
     protected function _getDeployedFilePath($filePath, $params)
     {
-        /** @var $themeModel \Magento\Core\Model\Theme */
+        /** @var $themeModel \Magento\View\Design\ThemeInterface */
         $themeModel = $params['themeModel'];
         $themePath = $themeModel->getThemePath();
         while (empty($themePath) && $themeModel) {
diff --git a/app/code/Magento/Core/Model/View/Design.php b/app/code/Magento/Core/Model/View/Design.php
index d00868d90970b82c9769a896d7ff13ad75f29649..9ee5dafee23fb33d78beb742ae822bcdc5d03c6a 100644
--- a/app/code/Magento/Core/Model/View/Design.php
+++ b/app/code/Magento/Core/Model/View/Design.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Core\Model\View;
 
-class Design implements \Magento\Core\Model\View\DesignInterface
+class Design implements \Magento\View\DesignInterface
 {
     /**
      * Common node path to theme design configuration
diff --git a/app/code/Magento/Core/Model/View/Design/Proxy.php b/app/code/Magento/Core/Model/View/Design/Proxy.php
index 70fc9df0c85410c1b6a96e99b24a1b2b383c0db5..cae0f470c428e5a52856f9388841245c92030f1d 100644
--- a/app/code/Magento/Core/Model/View/Design/Proxy.php
+++ b/app/code/Magento/Core/Model/View/Design/Proxy.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Core\Model\View\Design;
 
-class Proxy implements \Magento\Core\Model\View\DesignInterface
+class Proxy implements \Magento\View\DesignInterface
 {
     /**
      * @var \Magento\ObjectManager
@@ -64,7 +64,7 @@ class Proxy implements \Magento\Core\Model\View\DesignInterface
      * Set package area
      *
      * @param string $area
-     * @return \Magento\Core\Model\View\DesignInterface
+     * @return \Magento\View\DesignInterface
      */
     public function setArea($area)
     {
@@ -86,7 +86,7 @@ class Proxy implements \Magento\Core\Model\View\DesignInterface
      *
      * @param \Magento\Core\Model\Theme|int|string $theme
      * @param string $area
-     * @return \Magento\Core\Model\View\DesignInterface
+     * @return \Magento\View\DesignInterface
      */
     public function setDesignTheme($theme, $area = null)
     {
@@ -108,7 +108,7 @@ class Proxy implements \Magento\Core\Model\View\DesignInterface
     /**
      * Set default design theme
      *
-     * @return \Magento\Core\Model\View\DesignInterface
+     * @return \Magento\View\DesignInterface
      */
     public function setDefaultDesignTheme()
     {
diff --git a/app/code/Magento/Core/Model/View/Publisher.php b/app/code/Magento/Core/Model/View/Publisher.php
index b94a60feffe18687f8aa3a8f338f237058c057ef..1385462c67073f2aeb3e23407db10e4408e6951e 100644
--- a/app/code/Magento/Core/Model/View/Publisher.php
+++ b/app/code/Magento/Core/Model/View/Publisher.php
@@ -89,7 +89,7 @@ class Publisher implements \Magento\Core\Model\View\PublicFilesManagerInterface
     protected $_allowFilesDuplication;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -106,7 +106,7 @@ class Publisher implements \Magento\Core\Model\View\PublicFilesManagerInterface
      * @param \Magento\Core\Helper\Css $cssHelper
      * @param \Magento\Core\Model\View\Service $viewService
      * @param \Magento\Core\Model\View\FileSystem $viewFileSystem
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\Config\Modules\Reader $modulesReader
      * @param $allowFilesDuplication
      */
@@ -116,7 +116,7 @@ class Publisher implements \Magento\Core\Model\View\PublicFilesManagerInterface
         \Magento\Core\Helper\Css $cssHelper,
         \Magento\Core\Model\View\Service $viewService,
         \Magento\Core\Model\View\FileSystem $viewFileSystem,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\Config\Modules\Reader $modulesReader,
         $allowFilesDuplication
     ) {
@@ -252,7 +252,7 @@ class Publisher implements \Magento\Core\Model\View\PublicFilesManagerInterface
      */
     protected function _needToProcessFile($filePath)
     {
-        $jsPath = $this->_dir->getDir(\Magento\Core\Model\Dir::PUB_LIB) . DS;
+        $jsPath = $this->_dir->getDir(\Magento\App\Dir::PUB_LIB) . DS;
         if (strncmp($filePath, $jsPath, strlen($jsPath)) === 0) {
             return false;
         }
@@ -271,7 +271,7 @@ class Publisher implements \Magento\Core\Model\View\PublicFilesManagerInterface
             return true;
         }
 
-        return ($this->_viewService->getAppMode() == \Magento\Core\Model\App\State::MODE_DEVELOPER)
+        return ($this->_viewService->getAppMode() == \Magento\App\State::MODE_DEVELOPER)
             && $this->_getExtension($filePath) == self::CONTENT_TYPE_CSS;
     }
 
@@ -296,7 +296,7 @@ class Publisher implements \Magento\Core\Model\View\PublicFilesManagerInterface
      */
     protected function _buildPublicViewRedundantFilename($file, array $params)
     {
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         $theme = $params['themeModel'];
         if ($theme->getThemePath()) {
             $designPath = str_replace('/', DS, $theme->getThemePath());
@@ -321,7 +321,7 @@ class Publisher implements \Magento\Core\Model\View\PublicFilesManagerInterface
      */
     protected function _buildPublicViewSufficientFilename($filename, array $params)
     {
-        $designDir = $this->_dir->getDir(\Magento\Core\Model\Dir::THEMES) . DS;
+        $designDir = $this->_dir->getDir(\Magento\App\Dir::THEMES) . DS;
         if (0 === strpos($filename, $designDir)) {
             // theme file
             $publicFile = substr($filename, strlen($designDir));
@@ -388,7 +388,7 @@ class Publisher implements \Magento\Core\Model\View\PublicFilesManagerInterface
             $filePath = $this->_viewService->extractScope($fileId, $params);
         } else {
             /* Check if module file overridden on theme level based on _module property and file path */
-            if ($params['module'] && strpos($parentFilePath, $this->_dir->getDir(\Magento\Core\Model\Dir::THEMES)) === 0) {
+            if ($params['module'] && strpos($parentFilePath, $this->_dir->getDir(\Magento\App\Dir::THEMES)) === 0) {
                 /* Add module directory to relative URL */
                 $filePath = dirname($params['module'] . '/' . $parentFileName)
                     . '/' . $fileId;
diff --git a/app/code/Magento/Core/Model/View/Service.php b/app/code/Magento/Core/Model/View/Service.php
index 656e0c8f5c64cd5ad0b15cb5cd3a98f6c77d3cc6..bbf4b542a6c2a0500d4e6593f75bbf0b39d95cc8 100644
--- a/app/code/Magento/Core/Model/View/Service.php
+++ b/app/code/Magento/Core/Model/View/Service.php
@@ -37,12 +37,12 @@ class Service
     const SCOPE_SEPARATOR = '::';
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     private $_design;
 
@@ -52,24 +52,21 @@ class Service
     protected $_themeFactory;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
     /**
-     * View files system model
-     *
-     *
-     * @param \Magento\Core\Model\App\State $appState
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\App\State $appState
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Theme\FlyweightFactory $themeFactory
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      */
     public function __construct(
-        \Magento\Core\Model\App\State $appState,
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\App\State $appState,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Theme\FlyweightFactory $themeFactory,
-        \Magento\Core\Model\Dir $dir
+        \Magento\App\Dir $dir
     ) {
         $this->_appState = $appState;
         $this->_design = $design;
@@ -113,7 +110,7 @@ class Service
      */
     public function isViewFileOperationAllowed()
     {
-        return $this->getAppMode() != \Magento\Core\Model\App\State::MODE_PRODUCTION;
+        return $this->getAppMode() != \Magento\App\State::MODE_PRODUCTION;
     }
 
     /**
@@ -133,7 +130,7 @@ class Service
      */
     public function getPublicDir()
     {
-        return $this->_dir->getDir(\Magento\Core\Model\Dir::STATIC_VIEW);
+        return $this->_dir->getDir(\Magento\App\Dir::STATIC_VIEW);
     }
 
     /**
diff --git a/app/code/Magento/Core/Model/View/Url.php b/app/code/Magento/Core/Model/View/Url.php
index e7945e13f0e601c47b2cae12de1342299b7e9abb..c89537d232f410ee7f49741e918b76e6b62a28b1 100644
--- a/app/code/Magento/Core/Model/View/Url.php
+++ b/app/code/Magento/Core/Model/View/Url.php
@@ -42,7 +42,7 @@ class Url
     protected $_filesystem;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
@@ -71,7 +71,7 @@ class Url
      * View files URL model
      *
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\View\Service $viewService
      * @param \Magento\Core\Model\View\Publisher $publisher
@@ -79,7 +79,7 @@ class Url
      */
     public function __construct(
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\View\Service $viewService,
         \Magento\Core\Model\View\Publisher $publisher,
@@ -140,10 +140,10 @@ class Url
     public function getPublicFileUrl($publicFilePath, $isSecure = null)
     {
         foreach (array(
-                \Magento\Core\Model\Store::URL_TYPE_LIB     => \Magento\Core\Model\Dir::PUB_LIB,
-                \Magento\Core\Model\Store::URL_TYPE_MEDIA   => \Magento\Core\Model\Dir::MEDIA,
-                \Magento\Core\Model\Store::URL_TYPE_STATIC  => \Magento\Core\Model\Dir::STATIC_VIEW,
-                \Magento\Core\Model\Store::URL_TYPE_CACHE   => \Magento\Core\Model\Dir::PUB_VIEW_CACHE,
+                \Magento\Core\Model\Store::URL_TYPE_LIB     => \Magento\App\Dir::PUB_LIB,
+                \Magento\Core\Model\Store::URL_TYPE_MEDIA   => \Magento\App\Dir::MEDIA,
+                \Magento\Core\Model\Store::URL_TYPE_STATIC  => \Magento\App\Dir::STATIC_VIEW,
+                \Magento\Core\Model\Store::URL_TYPE_CACHE   => \Magento\App\Dir::PUB_VIEW_CACHE,
             ) as $urlType => $dirType
         ) {
             $dir = $this->_dirs->getDir($dirType);
diff --git a/app/code/Magento/Core/data/core_setup/data-upgrade-1.6.0.10-1.6.0.11.php b/app/code/Magento/Core/data/core_setup/data-upgrade-1.6.0.10-1.6.0.11.php
index a8cc99ff1f800f63eabfca64a99cec702f3eb8dc..6282084b476f2a902fd04535d7b273bb670483b2 100644
--- a/app/code/Magento/Core/data/core_setup/data-upgrade-1.6.0.10-1.6.0.11.php
+++ b/app/code/Magento/Core/data/core_setup/data-upgrade-1.6.0.10-1.6.0.11.php
@@ -28,7 +28,7 @@
 $filesystemCollection = $this->_themeFactory->create();
 $filesystemCollection->addDefaultPattern('*');
 
-/** @var $theme \Magento\Core\Model\Theme */
+/** @var $theme \Magento\View\Design\ThemeInterface */
 foreach ($this->_themeResourceFactory->create() as $theme) {
     $themeType = $filesystemCollection->hasTheme($theme)
         ? \Magento\Core\Model\Theme::TYPE_PHYSICAL
diff --git a/app/code/Magento/Core/data/core_setup/data-upgrade-1.6.0.12-1.6.0.13.php b/app/code/Magento/Core/data/core_setup/data-upgrade-1.6.0.12-1.6.0.13.php
index d638d7d01cbd70d2d76d46644933907d239a6c9b..f686c6ba0743096584390c5f5cabd112522e25e7 100644
--- a/app/code/Magento/Core/data/core_setup/data-upgrade-1.6.0.12-1.6.0.13.php
+++ b/app/code/Magento/Core/data/core_setup/data-upgrade-1.6.0.12-1.6.0.13.php
@@ -27,7 +27,7 @@
 /** @var $themeDbCollection \Magento\Core\Model\Resource\Theme\Collection */
 $themeDbCollection = $this->_themeResourceFactory->create();
 
-/** @var $theme \Magento\Core\Model\Theme */
+/** @var $theme \Magento\View\Design\ThemeInterface */
 foreach ($this->_themeFactory->create()->addDefaultPattern('*') as $theme) {
     $dbTheme = $themeDbCollection->getThemeByFullPath($theme->getFullPath());
     $dbTheme->setCode($theme->getCode());
diff --git a/app/code/Magento/Core/etc/di.xml b/app/code/Magento/Core/etc/di.xml
index 1f881c8023d87508da39a79f6b7cf092f1d7c70d..6da0b5e55b833e6d902cc82ff153bc54c0189fe7 100644
--- a/app/code/Magento/Core/etc/di.xml
+++ b/app/code/Magento/Core/etc/di.xml
@@ -25,13 +25,14 @@
 -->
 <config>
     <preference for="Magento\Acl\CacheInterface" type="Magento\Core\Model\Acl\Cache" />
+    <preference for="Magento\App\Updater\SetupInterface" type="Magento\Core\Model\Resource\Setup" />
+    <preference for="Magento\App\Module\ResourceResolverInterface" type="Magento\App\Module\ResourceResolver" />
     <preference for="Magento\AuthorizationInterface" type="Magento\Authorization" />
     <preference for="Magento\Authorization\Policy" type="Magento\Authorization\Policy\DefaultPolicy" />
     <preference for="Magento\Authorization\RoleLocator" type="Magento\Authorization\RoleLocator\DefaultRoleLocator" />
     <preference for="Magento\Core\Model\Session\AbstractSession" type="Magento\Core\Model\Session" />
     <preference for="Magento\Core\Model\LocaleInterface" type="Magento\Core\Model\Locale" />
     <preference for="Magento\Core\Model\Page\Asset\MergeStrategyInterface" type="Magento\Core\Model\Page\Asset\MergeStrategy\Direct" />
-    <preference for="Twig_LoaderInterface" type="Magento\Core\Model\TemplateEngine\Twig\FullFileName" />
     <preference for="Magento\Core\Model\DataService\ConfigInterface" type="Magento\Core\Model\DataService\Config" />
     <preference for="Magento\Core\Model\ConfigInterface" type="Magento\Core\Model\Config" />
     <preference for="Magento\Core\Model\Config\DataInterface" type="Magento\Core\Model\Config\Data" />
@@ -42,7 +43,22 @@
     <preference for="Magento\Config\ConverterInterface" type="Magento\Config\Converter\Dom"/>
     <preference for="Magento\Phrase\RendererInterface" type="Magento\Phrase\Renderer\Composite" />
     <preference for="Magento\Core\Model\Url\SecurityInfoInterface" type="Magento\Core\Model\Url\SecurityInfo\Proxy" />
-    <preference for="Magento\Core\Model\Module\ResourceResolverInterface" type="Magento\Core\Model\Module\ResourceResolver" />
+    <type name="Magento\App\FrontController">
+        <plugin name="install" type="Magento\Core\App\FrontController\Plugin\Install" sortOrder="40"/>
+        <plugin name="requestPreprocessor" type="Magento\Core\App\FrontController\Plugin\RequestPreprocessor" sortOrder="50"/>
+    </type>
+    <type name="Magento\App\AreaList">
+        <param name="areas">
+            <value>
+                <frontend>
+                    <frontName />
+                </frontend>
+            </value>
+        </param>
+        <param name="default">
+            <value>frontend</value>
+        </param>
+    </type>
     <type name="Magento\Data\Structure" shared="false" />
     <type name="Magento\Data\Collection\Db\FetchStrategy\Cache">
         <param name="cache">
@@ -240,7 +256,7 @@
             <instance type="Magento\Core\Model\Config\SectionPool\Proxy" />
         </param>
     </type>
-    <type name="Magento\Core\Model\RouterList" shared="true">
+    <type name="Magento\App\RouterList" shared="true">
         <param name="routerList">
             <value>
                 <standard>
@@ -249,7 +265,7 @@
                     <sortOrder>20</sortOrder>
                 </standard>
                 <default>
-                    <instance>Magento\Core\Controller\Varien\Router\DefaultRouter</instance>
+                    <instance>Magento\App\Router\DefaultRouter</instance>
                     <disable type="bool">false</disable>
                     <sortOrder>100</sortOrder>
                 </default>
@@ -267,11 +283,11 @@
             <value>standard</value>
         </param>
     </type>
-    <type name="Magento\Core\Model\NoRouteHandlerList">
+    <type name="Magento\App\Router\NoRouteHandlerList">
         <param name="handlerClassesList">
             <value>
                 <default>
-                    <instance>Magento\Core\Model\Router\NoRouteHandler</instance>
+                    <instance>Magento\Core\App\Router\NoRouteHandler</instance>
                     <sortOrder>100</sortOrder>
                 </default>
             </value>
@@ -293,7 +309,7 @@
     <type name="Magento\Core\Model\View\Design">
         <param name="themes">
             <value>
-                <frontend>magento_demo</frontend>
+                <frontend>magento_plushe</frontend>
                 <adminhtml>magento_backend</adminhtml>
                 <install>magento_basic</install>
             </value>
@@ -367,18 +383,21 @@
     </type>
     <type name="Magento\Core\Model\StoreManager">
         <param name="request">
-            <instance type="Magento\Core\Controller\Request\Http\Proxy" />
+            <instance type="Magento\App\Request\Http\Proxy" />
         </param>
     </type>
     <type name="Magento\Core\Model\Config\Section\Processor\Placeholder">
         <param name="request">
-            <instance type="Magento\Core\Controller\Request\Http\Proxy" />
+            <instance type="Magento\App\Request\Http\Proxy" />
         </param>
     </type>
     <type name="Magento\Core\Helper\Context">
         <param name="urlBuilder">
             <instance type="Magento\Core\Model\Url\Proxy" />
         </param>
+        <param name='httpRequest'>
+            <instance type="Magento\App\Request\Http\Proxy" />
+        </param>
     </type>
     <type name="Magento\Core\Helper\String">
         <param name="locale">
@@ -395,19 +414,17 @@
             <instance type="Magento\Core\Model\File\Storage\File\Proxy" />
         </param>
     </type>
-    <type name="Magento\Core\Model\Session\AbstractSession">
-        <param name="url">
-            <instance type="Magento\Core\Model\Url\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Core\Model\View\Service">
         <param name="design">
             <instance type="Magento\Core\Model\View\Design\Proxy" />
         </param>
     </type>
-    <type name="Magento\Core\Controller\Varien\Front">
-        <param name="backendData">
-            <instance type="Magento\Backend\Helper\Data\Proxy" />
+    <type name="Magento\Core\Model\TemplateEngine\Factory">
+        <plugin name="debug_hints" type="Magento\Core\Model\TemplateEngine\Plugin\DebugHints" sortOrder="10"/>
+        <param name="engines">
+            <value>
+                <phtml>Magento\Core\Model\TemplateEngine\Php</phtml>
+            </value>
         </param>
     </type>
 </config>
diff --git a/app/code/Magento/Core/functions.php b/app/code/Magento/Core/functions.php
index 5e6b3cb810e2c933612cb101452fbf12a3594e46..c8264b4e4ede2db94e74ff5a9b8a30f134fa6053 100644
--- a/app/code/Magento/Core/functions.php
+++ b/app/code/Magento/Core/functions.php
@@ -163,11 +163,11 @@ function mageCoreErrorHandler($errorNo, $errorStr, $errorFile, $errorLine)
     $errorMessage .= ": {$errorStr} in {$errorFile} on line {$errorLine}";
     $exception = new \Exception($errorMessage);
     $errorMessage .= $exception->getTraceAsString();
-    $appState = \Magento\Core\Model\ObjectManager::getInstance()->get('Magento\Core\Model\App\State');
-    if ($appState == \Magento\Core\Model\App\State::MODE_DEVELOPER) {
+    $appState = \Magento\Core\Model\ObjectManager::getInstance()->get('Magento\App\State');
+    if ($appState == \Magento\App\State::MODE_DEVELOPER) {
         throw $exception;
     } else {
-        $dirs = new \Magento\Core\Model\Dir('.');
+        $dirs = new \Magento\App\Dir('.');
         $fileSystem = new \Magento\Io\File();
         $logger = new \Magento\Core\Model\Logger($dirs, $fileSystem);
         $logger->log($errorMessage, \Zend_Log::ERR);
diff --git a/app/code/Magento/Core/view/adminhtml/prototype/magento.css b/app/code/Magento/Core/view/adminhtml/prototype/magento.css
index aa5a2895496a72aa93e3f5e622afae24cad4cf5e..d9ba2471cafaf93abe13287d1b0835d429dfb2ac 100644
--- a/app/code/Magento/Core/view/adminhtml/prototype/magento.css
+++ b/app/code/Magento/Core/view/adminhtml/prototype/magento.css
@@ -161,7 +161,7 @@
 }
 
 .popup-window .magento_message .fieldset .widget-option-label {
-    padding: 5px 0 0;
+    padding: 6px 0 0;
 }
 
 .popup-window [id$="_focus_anchor"]:focus {
diff --git a/app/code/Magento/Cron/etc/di.xml b/app/code/Magento/Cron/etc/di.xml
index a3b7139d8be26637c7ac4ac1e6c751f5019ac634..2a0f0c9f40e2e13c59a9c1802ae53b10f803b456 100644
--- a/app/code/Magento/Cron/etc/di.xml
+++ b/app/code/Magento/Cron/etc/di.xml
@@ -45,8 +45,5 @@
         <param name="app">
             <instance type="Magento\Core\Model\App" />
         </param>
-        <param name="coreConfig">
-            <instance type="Magento\Core\Model\Config" />
-        </param>
     </type>
 </config>
diff --git a/app/code/Magento/CurrencySymbol/Helper/Data.php b/app/code/Magento/CurrencySymbol/Helper/Data.php
index de19ed5b1694e0cfa77fee327526a76e28f02a47..6bf937958825ee88c3fa148772b1ededf8a82298 100644
--- a/app/code/Magento/CurrencySymbol/Helper/Data.php
+++ b/app/code/Magento/CurrencySymbol/Helper/Data.php
@@ -42,28 +42,28 @@ class Data extends \Magento\Core\Helper\Data
 
     /**
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Http $coreHttp
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\Core\Model\Date $dateModel
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\Encryption $encryptor
      * @param \Magento\CurrencySymbol\Model\System\Currencysymbol\Factory $symbolFactory
      * @param bool $dbCompatibleMode
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Http $coreHttp,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\Core\Model\Date $dateModel,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\Encryption $encryptor,
         \Magento\CurrencySymbol\Model\System\Currencysymbol\Factory $symbolFactory,
         $dbCompatibleMode = true
diff --git a/app/code/Magento/CurrencySymbol/Model/System/Currencysymbol.php b/app/code/Magento/CurrencySymbol/Model/System/Currencysymbol.php
index 06a219d0ac011d4d168f83fc002283911c34de3d..7cc457a3342a38feb4854adcf058006cf267a7c8 100644
--- a/app/code/Magento/CurrencySymbol/Model/System/Currencysymbol.php
+++ b/app/code/Magento/CurrencySymbol/Model/System/Currencysymbol.php
@@ -85,7 +85,7 @@ class Currencysymbol
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -134,7 +134,7 @@ class Currencysymbol
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Core\Model\System\Store $systemStore
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      */
     public function __construct(
         \Magento\Core\Model\Store\Config $coreStoreConfig,
@@ -144,7 +144,7 @@ class Currencysymbol
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Core\Model\System\Store $systemStore,
-        \Magento\Core\Model\Event\Manager $eventManager
+        \Magento\Event\ManagerInterface $eventManager
     ) {
         $this->_coreConfig = $coreConfig;
         $this->_configFactory = $configFactory;
diff --git a/app/code/Magento/CurrencySymbol/view/adminhtml/grid.phtml b/app/code/Magento/CurrencySymbol/view/adminhtml/grid.phtml
index 1e967819ada34c893600034c2e75afbc39425447..658bb74ade6dc0462521627cd2a982cd6fa094dc 100644
--- a/app/code/Magento/CurrencySymbol/view/adminhtml/grid.phtml
+++ b/app/code/Magento/CurrencySymbol/view/adminhtml/grid.phtml
@@ -37,34 +37,30 @@
     <input name="form_key" type="hidden" value="<?php echo $this->getFormKey() ?>" />
 
     <div class="grid">
-        <div class="hor-scroll">
-            <table cellspacing="0" class="data table-cat-img-sizes">
-                <colgroup>
-                    <col width="15%"/>
-                    <col />
-                </colgroup>
-                <thead>
-                    <tr class="headings">
-                        <th><span class="nobr"><span class="not-sort"><?php echo __('Currency'); ?></span></span></th>
-                        <th><span class="nobr"><span class="not-sort"><?php echo __('Symbol'); ?><span class="required"><em>*</em></span></span></span></th>
-                    </tr>
-                </thead>
-                <tbody>
-                    <?php foreach($this->getCurrencySymbolsData() as $code => $data): ?>
-                    <tr>
-                        <td class="label">
-                        <label for="custom_currency_symbol<?php echo $code; ?>"><?php echo $code; ?> (<?php echo $data['displayName']; ?>)</label>
-                        </td>
-                        <td class="value">
+        <table class="data">
+            <thead>
+                <tr class="headings">
+                    <th class="no-link col-currency"><span><label><?php echo __('Currency'); ?></label></span></th>
+                    <th class="no-link col-symbol"><span><label class="required"><?php echo __('Symbol'); ?></label></span></th>
+                </tr>
+            </thead>
+            <tbody>
+                <?php foreach($this->getCurrencySymbolsData() as $code => $data): ?>
+                <tr>
+                    <td class="col-currency">
+                        <label class="label" for="custom_currency_symbol<?php echo $code; ?>"><?php echo $code; ?> (<?php echo $data['displayName']; ?>)</label>
+                    </td>
+                    <td class="col-symbol">
+                        <div class="control">
                             <input id="custom_currency_symbol<?php echo $code; ?>" class=" required-entry input-text" type="text" value="<?php echo $this->helper('Magento\Core\Helper\Data')->quoteEscape($data['displaySymbol']); ?>"<?php echo $data['inherited'] ? ' disabled="disabled"' : '';?> name="custom_currency_symbol[<?php echo $code; ?>]">
                             <input id="custom_currency_symbol_inherit<?php echo $code; ?>" class="checkbox config-inherit" type="checkbox" onclick="toggleUseDefault(<?php echo '\'' . $code . '\',\'' . $this->helper('Magento\Core\Helper\Data')->quoteEscape($data['parentSymbol'], true) . '\''; ?>)"<?php echo $data['inherited'] ? ' checked="checked"' : ''; ?> value="1" name="inherit_custom_currency_symbol[<?php echo $code; ?>]">
-                            <label for="custom_currency_symbol_inherit<?php echo $code; ?>"><?php echo $this->getInheritText(); ?></label>
-                        </td>
-                    </tr>
-                    <?php endforeach; ?>
-                </tbody>
-            </table>
-        </div>
+                            <label class="label" for="custom_currency_symbol_inherit<?php echo $code; ?>"><?php echo $this->getInheritText(); ?></label>
+                        </div>
+                    </td>
+                </tr>
+                <?php endforeach; ?>
+            </tbody>
+        </table>
     </div>
 </form>
 <script type="text/javascript">
diff --git a/app/code/Magento/Customer/Controller/Account.php b/app/code/Magento/Customer/Controller/Account.php
index 23e1053e5e8d880fb3c692acd837b1f3f6c8fae2..703d1481dd3958fcbcd01c8be77a5cac75dd9d53 100644
--- a/app/code/Magento/Customer/Controller/Account.php
+++ b/app/code/Magento/Customer/Controller/Account.php
@@ -146,7 +146,7 @@ class Account extends \Magento\Core\Controller\Front\Action
 
         parent::preDispatch();
 
-        if (!$this->_objectManager->get('Magento\Core\Model\App\State')->isInstalled()) {
+        if (!$this->_objectManager->get('Magento\App\State')->isInstalled()) {
             return;
         }
 
diff --git a/app/code/Magento/Customer/Helper/Data.php b/app/code/Magento/Customer/Helper/Data.php
index b5eb6ecc2c5b739ad23ac7c75d6943952f1856ad..9d2360c4f792b2a7d5a4ef3069277b50a52db7de 100644
--- a/app/code/Magento/Customer/Helper/Data.php
+++ b/app/code/Magento/Customer/Helper/Data.php
@@ -112,7 +112,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -144,7 +144,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_formFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Customer\Helper\Address $customerAddress
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Helper\Context $context
@@ -155,7 +155,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      * @param \Magento\Customer\Model\FormFactory $formFactory
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Customer\Helper\Address $customerAddress,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Helper\Context $context,
@@ -704,7 +704,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     /**
      * Perform customer data filtration based on form code and form object
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param string $formCode The code of EAV form to take the list of attributes from
      * @param \Magento\Core\Model\AbstractModel $entity entity model for the form
      * @param array $additionalAttributes The list of attribute codes to skip filtration for
@@ -712,7 +712,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      * @param \Magento\Eav\Model\Form|null $eavForm EAV form model to use for extraction
      * @return array Filtered customer data
      */
-    public function extractCustomerData(\Zend_Controller_Request_Http $request, $formCode, $entity,
+    public function extractCustomerData(\Magento\App\RequestInterface $request, $formCode, $entity,
         $additionalAttributes = array(), $scope = null, $eavForm = null
     ) {
         if (is_null($eavForm)) {
diff --git a/app/code/Magento/Customer/Model/Address.php b/app/code/Magento/Customer/Model/Address.php
index cf7486547b9ff1b034cdb673812a34adc87fb217..e32b17e2625ec4888617ec59a128cb2a0b1a3828 100644
--- a/app/code/Magento/Customer/Model/Address.php
+++ b/app/code/Magento/Customer/Model/Address.php
@@ -47,7 +47,7 @@ class Address extends \Magento\Customer\Model\Address\AbstractAddress
     protected $_customerFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Directory\Helper\Data $directoryData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
@@ -63,7 +63,7 @@ class Address extends \Magento\Customer\Model\Address\AbstractAddress
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Directory\Helper\Data $directoryData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
diff --git a/app/code/Magento/Customer/Model/Address/AbstractAddress.php b/app/code/Magento/Customer/Model/Address/AbstractAddress.php
index 1ff8c13e3dffe9f902b555d745e99d22ad2c7949..1edffbe2a09822e1d52e39ba111a75c0db72338d 100644
--- a/app/code/Magento/Customer/Model/Address/AbstractAddress.php
+++ b/app/code/Magento/Customer/Model/Address/AbstractAddress.php
@@ -82,7 +82,7 @@ class AbstractAddress extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -107,7 +107,7 @@ class AbstractAddress extends \Magento\Core\Model\AbstractModel
     protected $_countryFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Directory\Helper\Data $directoryData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
@@ -120,7 +120,7 @@ class AbstractAddress extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Directory\Helper\Data $directoryData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
diff --git a/app/code/Magento/Customer/Model/Customer.php b/app/code/Magento/Customer/Model/Customer.php
index 9ee1a4f237e0032b80618b095c9d66d4acedf6d9..8869c0f916243bf45c9a40cb273ca66c923743a4 100644
--- a/app/code/Magento/Customer/Model/Customer.php
+++ b/app/code/Magento/Customer/Model/Customer.php
@@ -150,12 +150,12 @@ class Customer extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Customer\Helper\Data $customerData
      * @param \Magento\Core\Helper\Data $coreData
      * Core store config
@@ -200,7 +200,7 @@ class Customer extends \Magento\Core\Model\AbstractModel
     protected $_attributeFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Customer\Helper\Data $customerData
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Model\Context $context
@@ -221,7 +221,7 @@ class Customer extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Customer\Helper\Data $customerData,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Model\Context $context,
diff --git a/app/code/Magento/Customer/Model/Resource/Customer/Collection.php b/app/code/Magento/Customer/Model/Resource/Customer/Collection.php
index 71377352a93cf3036454dd45e1e06d4b22f20525..7a3c6a46f84c144a670be70f5b2d9432effb1a95 100644
--- a/app/code/Magento/Customer/Model/Resource/Customer/Collection.php
+++ b/app/code/Magento/Customer/Model/Resource/Customer/Collection.php
@@ -42,7 +42,7 @@ class Collection extends \Magento\Eav\Model\Entity\Collection\AbstractCollection
     protected $_fieldsetConfig;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -54,7 +54,7 @@ class Collection extends \Magento\Eav\Model\Entity\Collection\AbstractCollection
      * @param \Magento\Core\Model\Fieldset\Config $fieldsetConfig
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Customer/Model/Session.php b/app/code/Magento/Customer/Model/Session.php
index e7dda5830824662887bceaca02370a135127a4ec..98337ee457253b208ba3eebe06a8c13768aaea52 100644
--- a/app/code/Magento/Customer/Model/Session.php
+++ b/app/code/Magento/Customer/Model/Session.php
@@ -130,7 +130,7 @@ class Session extends \Magento\Core\Model\Session\AbstractSession
         }
 
         $this->init($namespace, $sessionName);
-        $this->_eventManager->dispatch('customer_session_init', array('customer_session'=>$this));
+        $this->_eventManager->dispatch('customer_session_init', array('customer_session' => $this));
     }
 
     /**
diff --git a/app/code/Magento/Customer/etc/di.xml b/app/code/Magento/Customer/etc/di.xml
index b369f18220fc175f74c41895168d1b4d6810b666..4932fb7b9ccd7db79752b87d3b9755ac61788100 100644
--- a/app/code/Magento/Customer/etc/di.xml
+++ b/app/code/Magento/Customer/etc/di.xml
@@ -24,25 +24,7 @@
  */
 -->
 <config>
-    <type name="Magento\Customer\Helper\Data">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Customer\Model\Address\AbstractAddress">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Customer\Model\Customer">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Customer\Model\Session">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
         <param name="configShare">
             <instance type="Magento\Customer\Model\Config\Share\Proxy" />
         </param>
@@ -53,8 +35,8 @@
             <instance type="Magento\Customer\Model\Resource\Customer\Proxy" />
         </param>
     </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <customer_setup>Magento\Customer\Model\Resource\Setup</customer_setup>
             </value>
@@ -70,4 +52,9 @@
             <instance type="Magento\Customer\Model\Resource\Customer\Proxy" />
         </param>
     </type>
+    <type name="Magento\Customer\Model\Customer">
+        <param name="customerData">
+            <instance type="Magento\Customer\Helper\Data\Proxy" />
+        </param>
+    </type>
 </config>
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Container.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Container.php
index 9e6f8e3d13bf493787d811d5dd448eb7f9472de5..59462ec0e781a8cb21ebf06c70f57018339b62a4 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Container.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Container.php
@@ -27,7 +27,7 @@
 /**
  * Editor toolbar
  *
- * @method \Magento\DesignEditor\Block\Adminhtml\Editor\Container setTheme(\Magento\Core\Model\Theme $theme)
+ * @method \Magento\DesignEditor\Block\Adminhtml\Editor\Container setTheme(\Magento\View\Design\ThemeInterface $theme)
  */
 namespace Magento\DesignEditor\Block\Adminhtml\Editor;
 
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Toolbar/Buttons/Edit.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Toolbar/Buttons/Edit.php
index afe775972ba161f3a14f8d0c2181e4b3ff443079..a3ebf1ad54219bb84e81b54261cad56af3cd76c5 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Toolbar/Buttons/Edit.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Toolbar/Buttons/Edit.php
@@ -247,11 +247,11 @@ class Edit
     /**
      * Checks themes for changes by time
      *
-     * @param \Magento\Core\Model\Theme $sourceTheme
-     * @param \Magento\Core\Model\Theme $targetTheme
+     * @param \Magento\View\Design\ThemeInterface $sourceTheme
+     * @param \Magento\View\Design\ThemeInterface $targetTheme
      * @return bool
      */
-    protected function _hasThemeChanged(\Magento\Core\Model\Theme $sourceTheme, \Magento\Core\Model\Theme $targetTheme)
+    protected function _hasThemeChanged(\Magento\View\Design\ThemeInterface $sourceTheme, \Magento\View\Design\ThemeInterface $targetTheme)
     {
         $sourceChange = $this->_changeFactory->create();
         $sourceChange->loadByThemeId($sourceTheme->getId());
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Toolbar/Buttons/Save.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Toolbar/Buttons/Save.php
index 8917b9acfb416b6293716c27147cdc2eb2dc5fc1..2e9050e596200c58b8cc6a20e166b7ea593ac98f 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Toolbar/Buttons/Save.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Toolbar/Buttons/Save.php
@@ -87,7 +87,7 @@ class Save
     /**
      * Set current theme
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return $this
      */
     public function setTheme($theme)
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Code/Custom.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Code/Custom.php
index dc05176d01ccca3acce5739f571d1c336171e811..5dde246aea662bff6cba28795a3a52c8c316d87b 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Code/Custom.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Code/Custom.php
@@ -145,7 +145,7 @@ class Custom extends \Magento\Backend\Block\Widget\Form\Generic
     /**
      * Get theme file (with custom CSS)
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return \Magento\Core\Model\Theme\FileInterface|null
      */
     protected function _getCustomCss($theme)
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Backgrounds.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Backgrounds.php
index 1f20b97b04b6bfe830112d55ae3353459334cb22..41061ebb7672d61602e5d713d025a7dde55aeab2 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Backgrounds.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Backgrounds.php
@@ -29,7 +29,7 @@ namespace Magento\DesignEditor\Block\Adminhtml\Editor\Tools\QuickStyles;
 /**
  * Block that renders Quick Styles > Backgrounds tab
  *
- * @method \Magento\Core\Model\Theme getTheme()
+ * @method \Magento\View\Design\ThemeInterface getTheme()
  * @method setTheme($theme)
  *
  * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Buttons.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Buttons.php
index e935648e7d178d01b2d102e27dcc3053abd157bb..af82670491e484c0350fcd4594107b8e4ec604cc 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Buttons.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Buttons.php
@@ -29,7 +29,7 @@ namespace Magento\DesignEditor\Block\Adminhtml\Editor\Tools\QuickStyles;
 /**
  * Block that renders Quick Styles > Buttons & Icons tab
  *
- * @method \Magento\Core\Model\Theme getTheme()
+ * @method \Magento\View\Design\ThemeInterface getTheme()
  * @method setTheme($theme)
  *
  * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Fonts.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Fonts.php
index 03f6bc328062ebe2c86f0abf27139672491563f6..a86453ad848c15733a292414ac1ab3038f39f9d8 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Fonts.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Fonts.php
@@ -29,7 +29,7 @@ namespace Magento\DesignEditor\Block\Adminhtml\Editor\Tools\QuickStyles;
 /**
  * Block that renders Quick Styles > Fonts tab
  *
- * @method \Magento\Core\Model\Theme getTheme()
+ * @method \Magento\View\Design\ThemeInterface getTheme()
  * @method setTheme($theme)
  *
  * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Header.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Header.php
index 49f8939b4f4d0e20f8a6b6781c160b927534e5be..0374dcf715a2b8f8f0a7cb3c00174c43ab7c87c6 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Header.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Header.php
@@ -29,7 +29,7 @@ namespace Magento\DesignEditor\Block\Adminhtml\Editor\Tools\QuickStyles;
 /**
  * Block that renders JS tab
  *
- * @method \Magento\Core\Model\Theme getTheme()
+ * @method \Magento\View\Design\ThemeInterface getTheme()
  * @method setTheme($theme)
  *
  * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Tips.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Tips.php
index 492444801c7eeada08bb854319225d4cb980ac49..a7d7ccd194984e082823a549c81b9b7abd7ba2b4 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Tips.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/QuickStyles/Tips.php
@@ -29,7 +29,7 @@ namespace Magento\DesignEditor\Block\Adminhtml\Editor\Tools\QuickStyles;
 /**
  * Block that renders JS tab
  *
- * @method \Magento\Core\Model\Theme getTheme()
+ * @method \Magento\View\Design\ThemeInterface getTheme()
  * @method setTheme($theme)
  *
  * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Theme.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Theme.php
index 696db16c251eb044bed16934d88d93cab2dea994..535cd5d7834692625cbe3b0cc752cf406e76a21e 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Theme.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Theme.php
@@ -27,8 +27,8 @@
 /**
  * Design editor theme
  *
- * @method \Magento\DesignEditor\Block\Adminhtml\Theme setTheme(\Magento\Core\Model\Theme $theme)
- * @method \Magento\Core\Model\Theme getTheme()
+ * @method \Magento\DesignEditor\Block\Adminhtml\Theme setTheme(\Magento\View\Design\ThemeInterface $theme)
+ * @method \Magento\View\Design\ThemeInterface getTheme()
  */
 namespace Magento\DesignEditor\Block\Adminhtml;
 
diff --git a/app/code/Magento/DesignEditor/Block/Adminhtml/Theme/Selector/SelectorList/AbstractSelectorList.php b/app/code/Magento/DesignEditor/Block/Adminhtml/Theme/Selector/SelectorList/AbstractSelectorList.php
index e1523e7d4d73ab5afa3b6d55520fa13222a916f1..322f003f0542108de65855db245f89f49a049de1 100644
--- a/app/code/Magento/DesignEditor/Block/Adminhtml/Theme/Selector/SelectorList/AbstractSelectorList.php
+++ b/app/code/Magento/DesignEditor/Block/Adminhtml/Theme/Selector/SelectorList/AbstractSelectorList.php
@@ -75,7 +75,7 @@ abstract class AbstractSelectorList
 
         $items = array();
         if (!empty($themeCollection)) {
-            /** @var $theme \Magento\Core\Model\Theme */
+            /** @var $theme \Magento\View\Design\ThemeInterface */
             foreach ($themeCollection as $theme) {
                 $itemBlock->setTheme($theme);
                 $this->_addThemeButtons($itemBlock);
diff --git a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor.php b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor.php
index b8f9111910110be67d6f7267249eb6f639fb0623..cc45e215ef3f6fd233e630b5b8978a1eeaecce10 100644
--- a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor.php
+++ b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor.php
@@ -171,7 +171,7 @@ class Editor extends \Magento\Adminhtml\Controller\Action
                 ? $theme
                 : $theme->getDomainModel(\Magento\Core\Model\Theme::TYPE_PHYSICAL)->createVirtualTheme($theme);
 
-            /** @var $themeCustomization \Magento\Core\Model\Theme */
+            /** @var $themeCustomization \Magento\View\Design\ThemeInterface */
             $this->_themeConfig->assignToStore($themeCustomization, $this->_getStores());
 
             $successMessage = $hadThemeAssigned
@@ -270,8 +270,8 @@ class Editor extends \Magento\Adminhtml\Controller\Action
     public function duplicateAction()
     {
         $themeId = (int)$this->getRequest()->getParam('theme_id');
-        /** @var $themeCopy \Magento\Core\Model\Theme */
-        $themeCopy = $this->_objectManager->create('Magento\Core\Model\Theme');
+        /** @var $themeCopy \Magento\View\Design\ThemeInterface */
+        $themeCopy = $this->_objectManager->create('Magento\View\Design\ThemeInterface');
         /** @var $copyService \Magento\Core\Model\Theme\CopyService */
         $copyService = $this->_objectManager->get('Magento\Core\Model\Theme\CopyService');
         try {
@@ -386,7 +386,7 @@ class Editor extends \Magento\Adminhtml\Controller\Action
     /**
      * Pass data to the Tools panel blocks that is needed it for rendering
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @param string $mode
      * @return \Magento\DesignEditor\Controller\Adminhtml\System\Design\Editor
      */
@@ -413,8 +413,8 @@ class Editor extends \Magento\Adminhtml\Controller\Action
     /**
      * Pass data to the Toolbar panel blocks that is needed for rendering
      *
-     * @param \Magento\Core\Model\Theme $theme
-     * @param \Magento\Core\Model\Theme $editableTheme
+     * @param \Magento\View\Design\ThemeInterface $theme
+     * @param \Magento\View\Design\ThemeInterface $editableTheme
      * @param string $mode
      * @return \Magento\DesignEditor\Controller\Adminhtml\System\Design\Editor
      */
@@ -444,7 +444,7 @@ class Editor extends \Magento\Adminhtml\Controller\Action
     /**
      * Set to iframe block selected mode and theme
      *
-     * @param \Magento\Core\Model\Theme $editableTheme
+     * @param \Magento\View\Design\ThemeInterface $editableTheme
      * @param string $mode
      * @return \Magento\DesignEditor\Controller\Adminhtml\System\Design\Editor
      */
diff --git a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools.php b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools.php
index 70febe7137360dc18778c1ef2c69f1ddc4865393..3340589ee83e09a4ac58a6fbc7f6ff8f33530cd3 100644
--- a/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools.php
+++ b/app/code/Magento/DesignEditor/Controller/Adminhtml/System/Design/Editor/Tools.php
@@ -316,8 +316,8 @@ class Tools extends \Magento\Adminhtml\Controller\Action
         $storeId = (int)$this->getRequest()->getParam('store_id');
         $themeId = (int)$this->getRequest()->getParam('theme_id');
         try {
-            /** @var $theme \Magento\Core\Model\Theme */
-            $theme = $this->_objectManager->create('Magento\Core\Model\Theme');
+            /** @var $theme \Magento\View\Design\ThemeInterface */
+            $theme = $this->_objectManager->create('Magento\View\Design\ThemeInterface');
             if (!$theme->load($themeId)->getId() || !$theme->isEditable()) {
                 throw new \Magento\Core\Exception(
                     __('The file can\'t be found or edited.')
@@ -361,8 +361,8 @@ class Tools extends \Magento\Adminhtml\Controller\Action
         $storeId = (int)$this->getRequest()->getParam('store_id');
         $themeId = (int)$this->getRequest()->getParam('theme_id');
         try {
-            /** @var $theme \Magento\Core\Model\Theme */
-            $theme = $this->_objectManager->create('Magento\Core\Model\Theme');
+            /** @var $theme \Magento\View\Design\ThemeInterface */
+            $theme = $this->_objectManager->create('Magento\View\Design\ThemeInterface');
             if (!$theme->load($themeId)->getId() || !$theme->isEditable()) {
                 throw new \Magento\Core\Exception(
                     __('The file can\'t be found or edited.')
diff --git a/app/code/Magento/DesignEditor/Controller/Varien/Router/Standard.php b/app/code/Magento/DesignEditor/Controller/Varien/Router/Standard.php
index b36ec1c4a6bc61d88b2a1d124ed3d3282c9f3ede..db0afa6961d52b2e68bf8c16d9bee87e5c523cfc 100644
--- a/app/code/Magento/DesignEditor/Controller/Varien/Router/Standard.php
+++ b/app/code/Magento/DesignEditor/Controller/Varien/Router/Standard.php
@@ -42,36 +42,49 @@ class Standard extends \Magento\Core\Controller\Varien\Router\Base
     protected $_excludedRouters = array('admin', 'vde');
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Factory $controllerFactory
+     * Router list
+     *
+     * @var \Magento\App\RouterListInterface
+     */
+    protected $_routerList;
+
+    /**
+     * @var \Magento\Core\App\Request\RewriteService
+     */
+    protected $_urlRewriteService;
+
+    /**
+     * @param \Magento\App\RouterListInterface $routerList
+     * @param \Magento\App\ActionFactory $controllerFactory
      * @param \Magento\ObjectManager $objectManager
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\Config\Scope $configScope
      * @param \Magento\Core\Model\Route\Config $routeConfig
      * @param \Magento\Core\Model\Url\SecurityInfoInterface $securityInfo
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Url $url
      * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\App\State $appState
-     * @param $areaCode
-     * @param $baseController
-     * @param $routerId
-     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
+     * @param \Magento\App\State $appState
+     * @param \Magento\Core\App\Request\RewriteService $urlRewriteService
+     * @param string $areaCode
+     * @param string $baseController
+     * @param string $routerId
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Factory $controllerFactory,
+        \Magento\App\RouterListInterface $routerList,
+        \Magento\App\ActionFactory $controllerFactory,
         \Magento\ObjectManager $objectManager,
         \Magento\Filesystem $filesystem,
         \Magento\Core\Model\App $app,
-        \Magento\Core\Model\Config\Scope $configScope,
         \Magento\Core\Model\Route\Config $routeConfig,
         \Magento\Core\Model\Url\SecurityInfoInterface $securityInfo,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Url $url,
         \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
+        \Magento\Core\App\Request\RewriteService $urlRewriteService,
         $areaCode,
         $baseController,
         $routerId
@@ -80,7 +93,6 @@ class Standard extends \Magento\Core\Controller\Varien\Router\Base
             $controllerFactory,
             $filesystem,
             $app,
-            $configScope,
             $coreStoreConfig,
             $routeConfig,
             $securityInfo,
@@ -92,16 +104,18 @@ class Standard extends \Magento\Core\Controller\Varien\Router\Base
             $baseController,
             $routerId
         );
+        $this->_urlRewriteService = $urlRewriteService;
         $this->_objectManager = $objectManager;
+        $this->_routerList = $routerList;
     }
 
     /**
      * Match provided request and if matched - return corresponding controller
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return \Magento\Core\Controller\Front\Action|null
      */
-    public function match(\Magento\Core\Controller\Request\Http $request)
+    public function match(\Magento\App\RequestInterface $request)
     {
         // if URL has VDE prefix
         if (!$this->_objectManager->get('Magento\DesignEditor\Helper\Data')->isVdeRequest($request)) {
@@ -120,14 +134,14 @@ class Standard extends \Magento\Core\Controller\Varien\Router\Base
         $this->_prepareVdeRequest($request);
 
         // apply rewrites
-        $this->getFront()->applyRewrites($request);
+        $this->_urlRewriteService->applyRewrites($request);
 
         // match routers
         $controller = null;
         $routers = $this->_getMatchedRouters();
-        /** @var $router \Magento\Core\Controller\Varien\Router\AbstractRouter */
+        /** @var $router \Magento\App\Router\AbstractRouter */
         foreach ($routers as $router) {
-            /** @var $controller \Magento\Core\Controller\Varien\AbstractAction */
+            /** @var $controller \Magento\App\Action\AbstractAction */
             $controller = $router->match($request);
             if ($controller) {
                 $this->_objectManager->get('Magento\DesignEditor\Model\State')
@@ -145,10 +159,10 @@ class Standard extends \Magento\Core\Controller\Varien\Router\Base
     /**
      * Modify request path to imitate basic request
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return \Magento\DesignEditor\Controller\Varien\Router\Standard
      */
-    protected function _prepareVdeRequest(\Magento\Core\Controller\Request\Http $request)
+    protected function _prepareVdeRequest(\Magento\App\RequestInterface $request)
     {
         list($vdeFrontName, $designMode, $themeId) = explode('/', trim($request->getPathInfo(), '/'));
         $request->setAlias('editorMode', $designMode);
@@ -166,7 +180,7 @@ class Standard extends \Magento\Core\Controller\Varien\Router\Base
      */
     protected function _getMatchedRouters()
     {
-        $routers = $this->getFront()->getRouters();
+        $routers = $this->_routerList->getRouters();
         foreach (array_keys($routers) as $name) {
             if (in_array($name, $this->_excludedRouters)) {
                 unset($routers[$name]);
diff --git a/app/code/Magento/DesignEditor/Helper/Data.php b/app/code/Magento/DesignEditor/Helper/Data.php
index 55290944ab1b3e68e7ecaec09e5677a11a0e3715..20ec1e3007061d41c7b05ecd3d4c5f1a1290cd45 100644
--- a/app/code/Magento/DesignEditor/Helper/Data.php
+++ b/app/code/Magento/DesignEditor/Helper/Data.php
@@ -98,10 +98,10 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     /**
      * This method returns an indicator of whether or not the current request is for vde
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return bool
      */
-    public function isVdeRequest(\Magento\Core\Controller\Request\Http $request = null)
+    public function isVdeRequest(\Magento\App\RequestInterface $request = null)
     {
         if (null !== $request) {
             $result = false;
@@ -139,10 +139,10 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     /**
      * Sets the translation mode for the current request (null, text, script, or alt);
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return \Magento\DesignEditor\Helper\Data
      */
-    public function setTranslationMode(\Magento\Core\Controller\Request\Http $request)
+    public function setTranslationMode(\Magento\App\RequestInterface $request)
     {
         $this->_translationMode = $request->getParam(self::TRANSLATION_MODE, null);
         return $this;
diff --git a/app/code/Magento/DesignEditor/Model/Editor/Tools/Controls/Configuration.php b/app/code/Magento/DesignEditor/Model/Editor/Tools/Controls/Configuration.php
index 72ea1000604873c44ac9216a3d93a81cc6f5c731..be61a865b4b96e3700f86e73c19e1c35995d841a 100644
--- a/app/code/Magento/DesignEditor/Model/Editor/Tools/Controls/Configuration.php
+++ b/app/code/Magento/DesignEditor/Model/Editor/Tools/Controls/Configuration.php
@@ -39,7 +39,7 @@ class Configuration
     /**
      * Application Event Dispatcher
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventDispatcher;
 
@@ -49,7 +49,7 @@ class Configuration
     protected $_configuration;
 
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_design;
 
@@ -95,29 +95,27 @@ class Configuration
     /**
      * View config model
      *
-     * @var \Magento\Core\Model\View\Config
+     * @var \Magento\View\ConfigInterface
      */
     protected $_viewConfigLoader;
 
     /**
-     * Initialize dependencies
-     *
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Event\Manager $eventDispatcher
-     * @param \Magento\Core\Model\View\Config $viewConfig
-     * @param \Magento\DesignEditor\Model\Config\Control\AbstractControl|null $configuration
-     * @param \Magento\Core\Model\Theme|null $theme
-     * @param \Magento\Core\Model\Theme $parentTheme
+     * @param \Magento\Event\ManagerInterface $eventDispatcher
+     * @param \Magento\View\ConfigInterface $viewConfig
+     * @param \Magento\DesignEditor\Model\Config\Control\AbstractControl $configuration
+     * @param \Magento\View\Design\ThemeInterface $theme
+     * @param \Magento\View\Design\ThemeInterface $parentTheme
      */
     public function __construct(
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Event\Manager $eventDispatcher,
-        \Magento\Core\Model\View\Config $viewConfig,
+        \Magento\Event\ManagerInterface $eventDispatcher,
+        \Magento\View\ConfigInterface $viewConfig,
         \Magento\DesignEditor\Model\Config\Control\AbstractControl $configuration = null,
-        \Magento\Core\Model\Theme $theme = null,
-        \Magento\Core\Model\Theme $parentTheme = null
+        \Magento\View\Design\ThemeInterface $theme = null,
+        \Magento\View\Design\ThemeInterface $parentTheme = null
     ) {
         $this->_configuration = $configuration;
         $this->_theme = $theme;
@@ -137,11 +135,11 @@ class Configuration
     protected function _initViewConfigs()
     {
         $this->_viewConfig = $this->_viewConfigLoader->getViewConfig(array(
-            'area'       => \Magento\Core\Model\View\DesignInterface::DEFAULT_AREA,
+            'area'       => \Magento\View\DesignInterface::DEFAULT_AREA,
             'themeModel' => $this->_theme
         ));
         $this->_viewConfigParent = $this->_viewConfigLoader->getViewConfig(array(
-            'area'       => \Magento\Core\Model\View\DesignInterface::DEFAULT_AREA,
+            'area'       => \Magento\View\DesignInterface::DEFAULT_AREA,
             'themeModel' => $this->_parentTheme
         ));
         return $this;
diff --git a/app/code/Magento/DesignEditor/Model/Editor/Tools/Controls/Factory.php b/app/code/Magento/DesignEditor/Model/Editor/Tools/Controls/Factory.php
index 14c8f566c147f923fbb7a686f6bffbb8eb5d0531..28ce76acf9defd959de72e35c1af41b6a29210c3 100644
--- a/app/code/Magento/DesignEditor/Model/Editor/Tools/Controls/Factory.php
+++ b/app/code/Magento/DesignEditor/Model/Editor/Tools/Controls/Factory.php
@@ -74,7 +74,7 @@ class Factory
      * Get file path by type
      *
      * @param string $type
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return string
      * @throws \Magento\Exception
      */
@@ -84,7 +84,7 @@ class Factory
             throw new \Magento\Exception("Unknown control configuration type: \"{$type}\"");
         }
         return $this->_viewFileSystem->getFilename($this->_fileNames[$type], array(
-            'area'       => \Magento\Core\Model\View\DesignInterface::DEFAULT_AREA,
+            'area'       => \Magento\View\DesignInterface::DEFAULT_AREA,
             'themeModel' => $theme
         ));
     }
@@ -93,16 +93,16 @@ class Factory
      * Create new instance
      *
      * @param string $type
-     * @param \Magento\Core\Model\Theme $theme
-     * @param \Magento\Core\Model\Theme $parentTheme
+     * @param \Magento\View\Design\ThemeInterface $theme
+     * @param \Magento\View\Design\ThemeInterface $parentTheme
      * @param array $files
      * @return \Magento\DesignEditor\Model\Editor\Tools\Controls\Configuration
      * @throws \Magento\Exception
      */
     public function create(
         $type,
-        \Magento\Core\Model\Theme $theme = null,
-        \Magento\Core\Model\Theme $parentTheme = null,
+        \Magento\View\Design\ThemeInterface $theme = null,
+        \Magento\View\Design\ThemeInterface $parentTheme = null,
         array $files = array()
     ) {
         $files[] = $this->_getFilePathByType($type, $theme);
diff --git a/app/code/Magento/DesignEditor/Model/Editor/Tools/QuickStyles/Form/Renderer/Factory.php b/app/code/Magento/DesignEditor/Model/Editor/Tools/QuickStyles/Form/Renderer/Factory.php
index 5843892df784923705c1e571c3fdfd79f567aebe..a42124a6ea174cc9ae0cc6f17960e95c9925914f 100644
--- a/app/code/Magento/DesignEditor/Model/Editor/Tools/QuickStyles/Form/Renderer/Factory.php
+++ b/app/code/Magento/DesignEditor/Model/Editor/Tools/QuickStyles/Form/Renderer/Factory.php
@@ -27,7 +27,7 @@
 /**
  * Block that renders JS tab
  *
- * @method \Magento\Core\Model\Theme getTheme()
+ * @method \Magento\View\Design\ThemeInterface getTheme()
  * @method setTheme($theme)
  *
  */
@@ -41,7 +41,7 @@ class Factory
     /**
      * Layout model
      *
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -91,9 +91,9 @@ class Factory
     protected $_sharedRenderers = array();
 
     /**
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      */
-    public function __construct(\Magento\Core\Model\Layout $layout)
+    public function __construct(\Magento\View\LayoutInterface $layout)
     {
         $this->_layout = $layout;
     }
diff --git a/app/code/Magento/DesignEditor/Model/Editor/Tools/QuickStyles/ImageUploader.php b/app/code/Magento/DesignEditor/Model/Editor/Tools/QuickStyles/ImageUploader.php
index b904f1f07dfef0c616a150dc129c18ade36e0109..675ded3a0175696090f6804e7607835da9bd56b9 100644
--- a/app/code/Magento/DesignEditor/Model/Editor/Tools/QuickStyles/ImageUploader.php
+++ b/app/code/Magento/DesignEditor/Model/Editor/Tools/QuickStyles/ImageUploader.php
@@ -114,7 +114,7 @@ class ImageUploader extends \Magento\Object
      */
     protected function _getTheme()
     {
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         $theme = $this->getTheme();
         if (!$theme->getId()) {
             throw new \InvalidArgumentException('Theme was not found.');
diff --git a/app/code/Magento/DesignEditor/Model/Observer.php b/app/code/Magento/DesignEditor/Model/Observer.php
index 8458b5f29509fd9cb8193477c0d951846fb8aa13..b8bcf058f4885ff86850f4faa208356158681171 100644
--- a/app/code/Magento/DesignEditor/Model/Observer.php
+++ b/app/code/Magento/DesignEditor/Model/Observer.php
@@ -100,7 +100,7 @@ class Observer
     {
         /** @var $configuration \Magento\DesignEditor\Model\Editor\Tools\Controls\Configuration */
         $configuration = $event->getData('configuration');
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         $theme = $event->getData('theme');
         if ($configuration->getControlConfig() instanceof \Magento\DesignEditor\Model\Config\Control\QuickStyles) {
             /** @var $renderer \Magento\DesignEditor\Model\Editor\Tools\QuickStyles\Renderer */
diff --git a/app/code/Magento/DesignEditor/Model/State.php b/app/code/Magento/DesignEditor/Model/State.php
index 0aa25adc1a1dd28d43919208b8fb3be192a863e5..adcbb59ffd57c31375ceab801cd3248a54ac6b3d 100644
--- a/app/code/Magento/DesignEditor/Model/State.php
+++ b/app/code/Magento/DesignEditor/Model/State.php
@@ -124,9 +124,9 @@ class State
      * Update system data for current VDE environment
      *
      * @param string $areaCode
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      */
-    public function update($areaCode, \Magento\Core\Controller\Request\Http $request)
+    public function update($areaCode, \Magento\App\RequestInterface $request)
     {
         $mode = $request->getAlias('editorMode') ?: self::MODE_NAVIGATION;
         $this->_themeContext->setEditableThemeById($request->getAlias('themeId'));
diff --git a/app/code/Magento/DesignEditor/Model/Url/NavigationMode.php b/app/code/Magento/DesignEditor/Model/Url/NavigationMode.php
index d00a0222100f8dfb64d98fac84fd30834fb51ff0..a318c32563bc30e654865c7d41acbd9af85f140e 100644
--- a/app/code/Magento/DesignEditor/Model/Url/NavigationMode.php
+++ b/app/code/Magento/DesignEditor/Model/Url/NavigationMode.php
@@ -53,8 +53,8 @@ class NavigationMode extends \Magento\Core\Model\Url
     protected $_themeId;
 
     /**
-     * Constructor
-     *
+     * @param \Magento\App\RouterListInterface $routerList
+     * @param \Magento\App\RequestInterface $request
      * @param \Magento\Core\Model\Url\SecurityInfoInterface $securityInfo
      * @param \Magento\DesignEditor\Helper\Data $helper
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
@@ -65,6 +65,8 @@ class NavigationMode extends \Magento\Core\Model\Url
      * @param array $data
      */
     public function __construct(
+        \Magento\App\RouterListInterface $routerList,
+        \Magento\App\RequestInterface $request,
         \Magento\Core\Model\Url\SecurityInfoInterface $securityInfo,
         \Magento\DesignEditor\Helper\Data $helper,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
@@ -82,7 +84,9 @@ class NavigationMode extends \Magento\Core\Model\Url
         if (isset($data['themeId'])) {
             $this->_themeId = $data['themeId'];
         }
-        parent::__construct($securityInfo, $coreStoreConfig, $coreData, $app, $storeManager, $session, $data);
+        parent::__construct(
+            $routerList, $request, $securityInfo, $coreStoreConfig, $coreData, $app, $storeManager, $session, $data
+        );
     }
 
     /**
diff --git a/app/code/Magento/DesignEditor/etc/di.xml b/app/code/Magento/DesignEditor/etc/di.xml
index 7cd73bcc8b9ec9fa57a12d20044a214a77efe7e6..6ee998169cc194b22b641a3e1a8539af33f7c654 100644
--- a/app/code/Magento/DesignEditor/etc/di.xml
+++ b/app/code/Magento/DesignEditor/etc/di.xml
@@ -24,7 +24,7 @@
  */
 -->
 <config>
-    <type name="Magento\Core\Model\RouterList">
+    <type name="Magento\App\RouterList">
         <param name="routerList">
             <value>
                 <vde>
diff --git a/app/code/Magento/DesignEditor/view/adminhtml/css/styles.css b/app/code/Magento/DesignEditor/view/adminhtml/css/styles.css
index bf8dbd8f1edd016d44790e9b0daa627a5277f795..259f42af44c3d34ab4e1ecda67a059fcf2c5a60c 100644
--- a/app/code/Magento/DesignEditor/view/adminhtml/css/styles.css
+++ b/app/code/Magento/DesignEditor/view/adminhtml/css/styles.css
@@ -306,6 +306,7 @@
 #theme_selector_tabs .tabs-horiz > .ui-state-active a {
     background: #fff;
     border: 0;
+    margin-top: 0;
     box-shadow: none;
 }
 
diff --git a/app/code/Magento/Directory/Model/Currency/DefaultLocator.php b/app/code/Magento/Directory/Model/Currency/DefaultLocator.php
index a20bc27b18c20d05d275f0f78112a1ba69857f35..dcc2b93d2bacb340a2ebd07d370c994aed0e85b1 100644
--- a/app/code/Magento/Directory/Model/Currency/DefaultLocator.php
+++ b/app/code/Magento/Directory/Model/Currency/DefaultLocator.php
@@ -48,10 +48,10 @@ class DefaultLocator
     /**
      * Retrieve default currency for selected store, website or website group
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return string
      */
-    public function getDefaultCurrency(\Magento\Core\Controller\Request\Http $request)
+    public function getDefaultCurrency(\Magento\App\RequestInterface $request)
     {
         if ($request->getParam('store')) {
             $store = $request->getParam('store');
diff --git a/app/code/Magento/Directory/Model/Resource/Country/Collection.php b/app/code/Magento/Directory/Model/Resource/Country/Collection.php
index 09b993c6823c1ecc1d90fc9116d9fcd027a265c0..ccb1254e92135eafd2f1bfa25161f779e7d1eafa 100644
--- a/app/code/Magento/Directory/Model/Resource/Country/Collection.php
+++ b/app/code/Magento/Directory/Model/Resource/Country/Collection.php
@@ -59,7 +59,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
 
     /**
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\String $stringHelper
      * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
@@ -70,7 +70,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\String $stringHelper,
         \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
diff --git a/app/code/Magento/Directory/Model/Resource/Region/Collection.php b/app/code/Magento/Directory/Model/Resource/Region/Collection.php
index dc9808713c31118af6ce8423477a0c6e8793a996..a5551a69e8b66e4187ddf381e2361c5f7167fc31 100644
--- a/app/code/Magento/Directory/Model/Resource/Region/Collection.php
+++ b/app/code/Magento/Directory/Model/Resource/Region/Collection.php
@@ -51,7 +51,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_locale;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -59,7 +59,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Directory/etc/di.xml b/app/code/Magento/Directory/etc/di.xml
index 9ec72be3c114da59081e38b6199093f42a244171..c22053d60be6c7159a60ae2d296cf33f298dae89 100644
--- a/app/code/Magento/Directory/etc/di.xml
+++ b/app/code/Magento/Directory/etc/di.xml
@@ -35,13 +35,8 @@
             </value>
         </param>
     </type>
-    <type name="Magento\Directory\Model\Currency\Import\Factory">
-        <param name="coreConfig">
-            <instance type="Magento\Core\Model\Config\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <directory_setup>Magento\Directory\Model\Resource\Setup</directory_setup>
             </value>
diff --git a/app/code/Magento/Downloadable/Helper/Download.php b/app/code/Magento/Downloadable/Helper/Download.php
index 7e1b20798cd17f483f8b74659a970588aa41883d..a8ab22f10a9dbea8355f7dc9d89f04efc7378f35 100644
--- a/app/code/Magento/Downloadable/Helper/Download.php
+++ b/app/code/Magento/Downloadable/Helper/Download.php
@@ -116,7 +116,7 @@ class Download extends \Magento\Core\Helper\AbstractHelper
     protected $_app;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirModel;
 
@@ -127,7 +127,7 @@ class Download extends \Magento\Core\Helper\AbstractHelper
      * @param \Magento\Core\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\Dir $dirModel
+     * @param \Magento\App\Dir $dirModel
      */
     public function __construct(
         \Magento\Core\Helper\Data $coreData,
@@ -136,7 +136,7 @@ class Download extends \Magento\Core\Helper\AbstractHelper
         \Magento\Core\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\App $app,
-        \Magento\Core\Model\Dir $dirModel
+        \Magento\App\Dir $dirModel
     ) {
         $this->_coreData = $coreData;
         $this->_downloadableFile = $downloadableFile;
@@ -239,7 +239,7 @@ class Download extends \Magento\Core\Helper\AbstractHelper
                 if (!is_file($this->_resourceFile)) {
                     $this->_coreFileStorageDb->saveFileToFilesystem($this->_resourceFile);
                 }
-                $this->_handle->open(array('path' => $this->_dirModel->getDir(\Magento\Core\Model\Dir::VAR_DIR)));
+                $this->_handle->open(array('path' => $this->_dirModel->getDir(\Magento\App\Dir::VAR_DIR)));
                 if (!$this->_handle->fileExists($this->_resourceFile, true)) {
                     throw new \Magento\Core\Exception(__("We can't find this file."));
                 }
@@ -333,7 +333,7 @@ class Download extends \Magento\Core\Helper\AbstractHelper
     /**
      * Retrieve Http Request Object
      *
-     * @return \Magento\Core\Controller\Request\Http
+     * @return \Magento\App\RequestInterface
      */
     public function getHttpRequest()
     {
@@ -343,7 +343,7 @@ class Download extends \Magento\Core\Helper\AbstractHelper
     /**
      * Retrieve Http Response Object
      *
-     * @return \Magento\Core\Controller\Response\Http
+     * @return \Magento\App\ResponseInterface
      */
     public function getHttpResponse()
     {
diff --git a/app/code/Magento/Downloadable/Model/Link.php b/app/code/Magento/Downloadable/Model/Link.php
index a8f2084ef7452b8252c3259e6f771f6206419c24..b7096373192ad5c9d2e275a5edc385e99924b9e2 100644
--- a/app/code/Magento/Downloadable/Model/Link.php
+++ b/app/code/Magento/Downloadable/Model/Link.php
@@ -68,14 +68,14 @@ class Link extends \Magento\Core\Model\AbstractModel
     const LINK_SHAREABLE_CONFIG = 2;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirModel;
 
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Dir $dirModel
+     * @param \Magento\App\Dir $dirModel
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -83,7 +83,7 @@ class Link extends \Magento\Core\Model\AbstractModel
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Dir $dirModel,
+        \Magento\App\Dir $dirModel,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
@@ -130,7 +130,7 @@ class Link extends \Magento\Core\Model\AbstractModel
      */
     public function getBaseTmpPath()
     {
-        return $this->_dirModel->getDir(\Magento\Core\Model\Dir::MEDIA)
+        return $this->_dirModel->getDir(\Magento\App\Dir::MEDIA)
             . DS . 'downloadable' . DS . 'tmp' . DS . 'links';
     }
 
@@ -141,7 +141,7 @@ class Link extends \Magento\Core\Model\AbstractModel
      */
     public function getBasePath()
     {
-        return $this->_dirModel->getDir(\Magento\Core\Model\Dir::MEDIA) . DS . 'downloadable' . DS . 'files' . DS . 'links';
+        return $this->_dirModel->getDir(\Magento\App\Dir::MEDIA) . DS . 'downloadable' . DS . 'files' . DS . 'links';
     }
 
     /**
@@ -151,7 +151,7 @@ class Link extends \Magento\Core\Model\AbstractModel
      */
     public function getBaseSampleTmpPath()
     {
-        return $this->_dirModel->getDir(\Magento\Core\Model\Dir::MEDIA) . DS . 'downloadable' . DS . 'tmp' . DS . 'link_samples';
+        return $this->_dirModel->getDir(\Magento\App\Dir::MEDIA) . DS . 'downloadable' . DS . 'tmp' . DS . 'link_samples';
     }
 
     /**
@@ -161,7 +161,7 @@ class Link extends \Magento\Core\Model\AbstractModel
      */
     public function getBaseSamplePath()
     {
-        return $this->_dirModel->getDir(\Magento\Core\Model\Dir::MEDIA) . DS . 'downloadable' . DS . 'files' . DS . 'link_samples';
+        return $this->_dirModel->getDir(\Magento\App\Dir::MEDIA) . DS . 'downloadable' . DS . 'files' . DS . 'link_samples';
     }
 
     /**
diff --git a/app/code/Magento/Downloadable/Model/Product/Type.php b/app/code/Magento/Downloadable/Model/Product/Type.php
index 5d5d40c72a757f39c4e8b105c2ff6400ecf74403..b2c8757af3a936e559f8301aeab9536d8a34c47e 100644
--- a/app/code/Magento/Downloadable/Model/Product/Type.php
+++ b/app/code/Magento/Downloadable/Model/Product/Type.php
@@ -81,7 +81,7 @@ class Type extends \Magento\Catalog\Model\Product\Type\Virtual
      * @param \Magento\Catalog\Model\Product\Option $catalogProductOption
      * @param \Magento\Eav\Model\Config $eavConfig
      * @param \Magento\Catalog\Model\Product\Type $catalogProductType
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Downloadable\Helper\File $downloadableFile
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Helper\File\Storage\Database $fileStorageDb
@@ -101,7 +101,7 @@ class Type extends \Magento\Catalog\Model\Product\Type\Virtual
         \Magento\Catalog\Model\Product\Option $catalogProductOption,
         \Magento\Eav\Model\Config $eavConfig,
         \Magento\Catalog\Model\Product\Type $catalogProductType,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Downloadable\Helper\File $downloadableFile,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Helper\File\Storage\Database $fileStorageDb,
diff --git a/app/code/Magento/Downloadable/Model/Sales/Order/Pdf/Items/AbstractItems.php b/app/code/Magento/Downloadable/Model/Sales/Order/Pdf/Items/AbstractItems.php
index ce98c4445a2c8577b7772b5840b3818215349ed0..aa5f61dc45f31be263f5ef957ce39a967cceac34 100644
--- a/app/code/Magento/Downloadable/Model/Sales/Order/Pdf/Items/AbstractItems.php
+++ b/app/code/Magento/Downloadable/Model/Sales/Order/Pdf/Items/AbstractItems.php
@@ -59,7 +59,7 @@ abstract class AbstractItems extends \Magento\Sales\Model\Order\Pdf\Items\Abstra
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Downloadable\Model\Link\PurchasedFactory $purchasedFactory
      * @param \Magento\Downloadable\Model\Resource\Link\Purchased\Item\CollectionFactory $itemsFactory
@@ -71,7 +71,7 @@ abstract class AbstractItems extends \Magento\Sales\Model\Order\Pdf\Items\Abstra
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Downloadable\Model\Link\PurchasedFactory $purchasedFactory,
         \Magento\Downloadable\Model\Resource\Link\Purchased\Item\CollectionFactory $itemsFactory,
diff --git a/app/code/Magento/Downloadable/Model/Sales/Order/Pdf/Items/Creditmemo.php b/app/code/Magento/Downloadable/Model/Sales/Order/Pdf/Items/Creditmemo.php
index 956e67a1a543c3cca303455c3fb663befdd55d80..a1e3651a4761134071fe6a524a34d20681e020e8 100644
--- a/app/code/Magento/Downloadable/Model/Sales/Order/Pdf/Items/Creditmemo.php
+++ b/app/code/Magento/Downloadable/Model/Sales/Order/Pdf/Items/Creditmemo.php
@@ -42,7 +42,7 @@ class Creditmemo
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Downloadable\Model\Link\PurchasedFactory $purchasedFactory
      * @param \Magento\Downloadable\Model\Resource\Link\Purchased\Item\CollectionFactory $itemsFactory
@@ -55,7 +55,7 @@ class Creditmemo
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Downloadable\Model\Link\PurchasedFactory $purchasedFactory,
         \Magento\Downloadable\Model\Resource\Link\Purchased\Item\CollectionFactory $itemsFactory,
diff --git a/app/code/Magento/Downloadable/Model/Sales/Order/Pdf/Items/Invoice.php b/app/code/Magento/Downloadable/Model/Sales/Order/Pdf/Items/Invoice.php
index e6b2008967966a4b923f599306afb6ca8ef2bf01..16c5f1f2f9747722b9dcf10bc01d5d8958d611e9 100644
--- a/app/code/Magento/Downloadable/Model/Sales/Order/Pdf/Items/Invoice.php
+++ b/app/code/Magento/Downloadable/Model/Sales/Order/Pdf/Items/Invoice.php
@@ -49,7 +49,7 @@ class Invoice
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Downloadable\Model\Link\PurchasedFactory $purchasedFactory
      * @param \Magento\Downloadable\Model\Resource\Link\Purchased\Item\CollectionFactory $itemsFactory
@@ -62,7 +62,7 @@ class Invoice
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Downloadable\Model\Link\PurchasedFactory $purchasedFactory,
         \Magento\Downloadable\Model\Resource\Link\Purchased\Item\CollectionFactory $itemsFactory,
diff --git a/app/code/Magento/Downloadable/Model/Sample.php b/app/code/Magento/Downloadable/Model/Sample.php
index 68080e4d36905fa9eea3bee9742aa0556a26fc99..df718f6ad275223972d4992f7a9382acac83fd58 100644
--- a/app/code/Magento/Downloadable/Model/Sample.php
+++ b/app/code/Magento/Downloadable/Model/Sample.php
@@ -51,14 +51,14 @@ class Sample extends \Magento\Core\Model\AbstractModel
     const XML_PATH_SAMPLES_TITLE = 'catalog/downloadable/samples_title';
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirModel;
 
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Dir $dirModel
+     * @param \Magento\App\Dir $dirModel
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -66,7 +66,7 @@ class Sample extends \Magento\Core\Model\AbstractModel
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Dir $dirModel,
+        \Magento\App\Dir $dirModel,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
@@ -128,7 +128,7 @@ class Sample extends \Magento\Core\Model\AbstractModel
      */
     public function getBaseTmpPath()
     {
-        return $this->_dirModel->getDir(\Magento\Core\Model\Dir::MEDIA)
+        return $this->_dirModel->getDir(\Magento\App\Dir::MEDIA)
             . DS . 'downloadable' . DS . 'tmp' . DS . 'samples';
     }
 
@@ -139,7 +139,7 @@ class Sample extends \Magento\Core\Model\AbstractModel
      */
     public function getBasePath()
     {
-        return $this->_dirModel->getDir(\Magento\Core\Model\Dir::MEDIA)
+        return $this->_dirModel->getDir(\Magento\App\Dir::MEDIA)
             . DS . 'downloadable' . DS . 'files' . DS . 'samples';
     }
 
diff --git a/app/code/Magento/Downloadable/etc/di.xml b/app/code/Magento/Downloadable/etc/di.xml
index 521398d74baaccff33152e1578ad64aa8c6d7c81..57276d1bee8d0c0289a4b0eb38865fc84b9ad017 100644
--- a/app/code/Magento/Downloadable/etc/di.xml
+++ b/app/code/Magento/Downloadable/etc/di.xml
@@ -39,8 +39,8 @@
             <value>Virtual / Downloadable</value>
         </param>
     </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <downloadable_setup>Magento\Catalog\Model\Resource\Setup</downloadable_setup>
             </value>
diff --git a/app/code/Magento/Eav/Model/Attribute/Data/AbstractData.php b/app/code/Magento/Eav/Model/Attribute/Data/AbstractData.php
index f9a3fd48b87f3ee565acf8c91809225d4b48f229..2fbd942534b0825cc19b44ab0eb1153189b6e969 100644
--- a/app/code/Magento/Eav/Model/Attribute/Data/AbstractData.php
+++ b/app/code/Magento/Eav/Model/Attribute/Data/AbstractData.php
@@ -513,10 +513,10 @@ abstract class AbstractData
     /**
      * Return Original Attribute value from Request
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return mixed
      */
-    protected function _getRequestValue(\Zend_Controller_Request_Http $request)
+    protected function _getRequestValue(\Magento\App\RequestInterface $request)
     {
         $attrCode  = $this->getAttribute()->getAttributeCode();
         if ($this->_requestScope) {
@@ -552,10 +552,10 @@ abstract class AbstractData
     /**
      * Extract data from request and return value
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return array|string
      */
-    abstract public function extractValue(\Zend_Controller_Request_Http $request);
+    abstract public function extractValue(\Magento\App\RequestInterface $request);
 
     /**
      * Validate data
diff --git a/app/code/Magento/Eav/Model/Attribute/Data/Date.php b/app/code/Magento/Eav/Model/Attribute/Data/Date.php
index 6c5d6380277b228f20032d8e4ec2a2f1571726d3..7e4cdd6ed9086548ca9c768f6d017c1699677378 100644
--- a/app/code/Magento/Eav/Model/Attribute/Data/Date.php
+++ b/app/code/Magento/Eav/Model/Attribute/Data/Date.php
@@ -39,10 +39,10 @@ class Date extends \Magento\Eav\Model\Attribute\Data\AbstractData
     /**
      * Extract data from request and return value
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return array|string
      */
-    public function extractValue(\Zend_Controller_Request_Http $request)
+    public function extractValue(\Magento\App\RequestInterface $request)
     {
         $value = $this->_getRequestValue($request);
         return $this->_applyInputFilter($value);
diff --git a/app/code/Magento/Eav/Model/Attribute/Data/File.php b/app/code/Magento/Eav/Model/Attribute/Data/File.php
index 94b4674ce37ef8824c88658ebb7093b6a073bcaf..c82f612429041248d994222b42600baff72c2cc4 100644
--- a/app/code/Magento/Eav/Model/Attribute/Data/File.php
+++ b/app/code/Magento/Eav/Model/Attribute/Data/File.php
@@ -55,7 +55,7 @@ class File extends \Magento\Eav\Model\Attribute\Data\AbstractData
     protected $_fileValidator;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_coreDir;
 
@@ -64,14 +64,14 @@ class File extends \Magento\Eav\Model\Attribute\Data\AbstractData
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Model\File\Validator\NotProtectedExtension $fileValidator
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      */
     public function __construct(
         \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Core\Model\Logger $logger,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Model\File\Validator\NotProtectedExtension $fileValidator,
-        \Magento\Core\Model\Dir $coreDir
+        \Magento\App\Dir $coreDir
     ) {
         parent::__construct($locale, $logger);
         $this->_coreData = $coreData;
@@ -82,10 +82,10 @@ class File extends \Magento\Eav\Model\Attribute\Data\AbstractData
     /**
      * Extract data from request and return value
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return array|string
      */
-    public function extractValue(\Zend_Controller_Request_Http $request)
+    public function extractValue(\Magento\App\RequestInterface $request)
     {
         if ($this->getIsAjaxRequest()) {
             return false;
diff --git a/app/code/Magento/Eav/Model/Attribute/Data/Multiline.php b/app/code/Magento/Eav/Model/Attribute/Data/Multiline.php
index 510a48209f9593f5fd1404591f08b5e5f0fc6b9e..a8d64da92653516cd8a6c7ce10775e52f3fcfb54 100644
--- a/app/code/Magento/Eav/Model/Attribute/Data/Multiline.php
+++ b/app/code/Magento/Eav/Model/Attribute/Data/Multiline.php
@@ -39,10 +39,10 @@ class Multiline extends \Magento\Eav\Model\Attribute\Data\Text
     /**
      * Extract data from request and return value
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return array|string
      */
-    public function extractValue(\Zend_Controller_Request_Http $request)
+    public function extractValue(\Magento\App\RequestInterface $request)
     {
         $value = $this->_getRequestValue($request);
         if (!is_array($value)) {
diff --git a/app/code/Magento/Eav/Model/Attribute/Data/Multiselect.php b/app/code/Magento/Eav/Model/Attribute/Data/Multiselect.php
index 80c907512403df3b6ff1ec9dc88f0301f8c1a9d4..d65cfdd4a76840037429c4f403dc826d3e17c41f 100644
--- a/app/code/Magento/Eav/Model/Attribute/Data/Multiselect.php
+++ b/app/code/Magento/Eav/Model/Attribute/Data/Multiselect.php
@@ -39,10 +39,10 @@ class Multiselect extends \Magento\Eav\Model\Attribute\Data\Select
     /**
      * Extract data from request and return value
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return array|string
      */
-    public function extractValue(\Zend_Controller_Request_Http $request)
+    public function extractValue(\Magento\App\RequestInterface $request)
     {
         $values = $this->_getRequestValue($request);
         if ($values !== false && !is_array($values)) {
diff --git a/app/code/Magento/Eav/Model/Attribute/Data/Select.php b/app/code/Magento/Eav/Model/Attribute/Data/Select.php
index 2fa560170dc6e28f45b2ebf69ece4da5ff15e8a2..365f9446d2f3876e210726b15bb02bfd853a168b 100644
--- a/app/code/Magento/Eav/Model/Attribute/Data/Select.php
+++ b/app/code/Magento/Eav/Model/Attribute/Data/Select.php
@@ -39,10 +39,10 @@ class Select extends \Magento\Eav\Model\Attribute\Data\AbstractData
     /**
      * Extract data from request and return value
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return array|string
      */
-    public function extractValue(\Zend_Controller_Request_Http $request)
+    public function extractValue(\Magento\App\RequestInterface $request)
     {
         return $this->_getRequestValue($request);
     }
diff --git a/app/code/Magento/Eav/Model/Attribute/Data/Text.php b/app/code/Magento/Eav/Model/Attribute/Data/Text.php
index aed4b398ea24be370ce0c32d32a02e6993a9797b..7fa5fce942c8ea5a61e8767e9c2ab47ccb16b2ef 100644
--- a/app/code/Magento/Eav/Model/Attribute/Data/Text.php
+++ b/app/code/Magento/Eav/Model/Attribute/Data/Text.php
@@ -58,10 +58,10 @@ class Text extends \Magento\Eav\Model\Attribute\Data\AbstractData
     /**
      * Extract data from request and return value
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return array|string
      */
-    public function extractValue(\Zend_Controller_Request_Http $request)
+    public function extractValue(\Magento\App\RequestInterface $request)
     {
         $value = $this->_getRequestValue($request);
         return $this->_applyInputFilter($value);
diff --git a/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php b/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php
index 7ccf50a293f6f28ed59088c806a3a73ce67ff756..dcf4bb40492d176535d387e8a1241de9a5b36017 100644
--- a/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php
+++ b/app/code/Magento/Eav/Model/Entity/Collection/AbstractCollection.php
@@ -106,7 +106,7 @@ abstract class AbstractCollection extends \Magento\Data\Collection\Db
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -136,7 +136,7 @@ abstract class AbstractCollection extends \Magento\Data\Collection\Db
     protected $_universalFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -147,7 +147,7 @@ abstract class AbstractCollection extends \Magento\Data\Collection\Db
      * @param \Magento\Validator\UniversalFactory $universalFactory
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Eav/Model/Form.php b/app/code/Magento/Eav/Model/Form.php
index 319777a7f281605ed1d49f68d39517a2458e681c..2a956d65520ad1658e781f63fd3a1f6a3d32a7ff 100644
--- a/app/code/Magento/Eav/Model/Form.php
+++ b/app/code/Magento/Eav/Model/Form.php
@@ -150,7 +150,7 @@ abstract class Form
     protected $_universalFactory;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_httpRequest;
 
@@ -165,7 +165,7 @@ abstract class Form
      * @param \Magento\Core\Model\Config\Modules\Reader $modulesReader
      * @param \Magento\Eav\Model\AttributeDataFactory $attrDataFactory
      * @param \Magento\Validator\UniversalFactory $universalFactory
-     * @param \Magento\Core\Controller\Request\Http $httpRequest
+     * @param \Magento\App\RequestInterface $httpRequest
      * @param \Magento\Validator\ConfigFactory $validatorConfigFactory
      *
      * @throws \Magento\Core\Exception
@@ -176,7 +176,7 @@ abstract class Form
         \Magento\Core\Model\Config\Modules\Reader $modulesReader,
         \Magento\Eav\Model\AttributeDataFactory $attrDataFactory,
         \Magento\Validator\UniversalFactory $universalFactory,
-        \Magento\Core\Controller\Request\Http $httpRequest,
+        \Magento\App\RequestInterface $httpRequest,
         \Magento\Validator\ConfigFactory $validatorConfigFactory
     ) {
         if (empty($this->_moduleName)) {
@@ -427,7 +427,7 @@ abstract class Form
      * Prepare request with data and returns it
      *
      * @param array $data
-     * @return \Zend_Controller_Request_Http
+     * @return \Magento\App\RequestInterface
      */
     public function prepareRequest(array $data)
     {
@@ -442,12 +442,12 @@ abstract class Form
     /**
      * Extract data from request and return associative data array
      *
-     * @param \Zend_Controller_Request_Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param string $scope the request scope
      * @param boolean $scopeOnly search value only in scope or search value in global too
      * @return array
      */
-    public function extractData(\Zend_Controller_Request_Http $request, $scope = null, $scopeOnly = true)
+    public function extractData(\Magento\App\RequestInterface $request, $scope = null, $scopeOnly = true)
     {
         $data = array();
         /** @var $attribute \Magento\Eav\Model\Attribute */
diff --git a/app/code/Magento/Eav/Model/Resource/Attribute/Collection.php b/app/code/Magento/Eav/Model/Resource/Attribute/Collection.php
index 9901304aac9d1019860990144efc808df6a6807f..cd9824f73c1ab147106c11e5bc29763e50780646 100644
--- a/app/code/Magento/Eav/Model/Resource/Attribute/Collection.php
+++ b/app/code/Magento/Eav/Model/Resource/Attribute/Collection.php
@@ -67,7 +67,7 @@ abstract class Collection
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -76,7 +76,7 @@ abstract class Collection
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Eav/Model/Resource/Entity/Attribute/Grid/Collection.php b/app/code/Magento/Eav/Model/Resource/Entity/Attribute/Grid/Collection.php
index 1707695937821e75b045a499d4f6d12598aa818e..82f846a28e02566165ca7902424f9ae13a37be58 100644
--- a/app/code/Magento/Eav/Model/Resource/Entity/Attribute/Grid/Collection.php
+++ b/app/code/Magento/Eav/Model/Resource/Entity/Attribute/Grid/Collection.php
@@ -42,7 +42,7 @@ class Collection
     protected $_registryManager;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -50,7 +50,7 @@ class Collection
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Eav/Model/Resource/Entity/Attribute/Option/Collection.php b/app/code/Magento/Eav/Model/Resource/Entity/Attribute/Option/Collection.php
index cd4bf421442bf2fd384d0b1e10e7eaddf8cf5ab7..d75e0043fd3dcd5019456fd3a654b635b0417578 100644
--- a/app/code/Magento/Eav/Model/Resource/Entity/Attribute/Option/Collection.php
+++ b/app/code/Magento/Eav/Model/Resource/Entity/Attribute/Option/Collection.php
@@ -54,7 +54,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -63,7 +63,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Eav/Model/Resource/Form/Attribute/Collection.php b/app/code/Magento/Eav/Model/Resource/Form/Attribute/Collection.php
index a5cfacf0f2cb178463d8a0b758f549aef3fbbb9d..60d32a352a52fcfa3d46e1f11609964520ae2732 100644
--- a/app/code/Magento/Eav/Model/Resource/Form/Attribute/Collection.php
+++ b/app/code/Magento/Eav/Model/Resource/Form/Attribute/Collection.php
@@ -75,7 +75,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_eavConfig;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -84,7 +84,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Eav/Model/Resource/Form/Fieldset/Collection.php b/app/code/Magento/Eav/Model/Resource/Form/Fieldset/Collection.php
index 911d204836127df3b166d5afb543750b273e272f..f3ccdab233a7b8089e26d4fff6210690037b36c0 100644
--- a/app/code/Magento/Eav/Model/Resource/Form/Fieldset/Collection.php
+++ b/app/code/Magento/Eav/Model/Resource/Form/Fieldset/Collection.php
@@ -49,7 +49,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -57,7 +57,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Eav/etc/di.xml b/app/code/Magento/Eav/etc/di.xml
index c01f91591b72211b35401dd99a2220478fb57d29..230dd2cffd69bf8fa0c3d072790f74250f523fa7 100644
--- a/app/code/Magento/Eav/etc/di.xml
+++ b/app/code/Magento/Eav/etc/di.xml
@@ -24,18 +24,13 @@
  */
 -->
 <config>
-    <type name="Magento\Eav\Model\Entity\Collection\AbstractCollection">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy"/>
-        </param>
-    </type>
     <type name="Magento\Eav\Model\Resource\Helper">
         <param name="modulePrefix">
             <value>eav</value>
         </param>
     </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <eav_setup>Magento\Eav\Model\Entity\Setup</eav_setup>
             </value>
diff --git a/app/code/Magento/GiftMessage/Helper/Message.php b/app/code/Magento/GiftMessage/Helper/Message.php
index 9d8681cc486e6dbde2cf3a24a1443d4b6cf3d197..cf2cf73ac3c215e1c3e70111cee16a71980d2621 100644
--- a/app/code/Magento/GiftMessage/Helper/Message.php
+++ b/app/code/Magento/GiftMessage/Helper/Message.php
@@ -63,7 +63,7 @@ class Message extends \Magento\Core\Helper\Data
     protected $_productFactory;
 
     /**
-     * @var \Magento\Core\Model\LayoutFactory
+     * @var \Magento\View\LayoutFactory
      */
     protected $_layoutFactory;
 
@@ -74,37 +74,36 @@ class Message extends \Magento\Core\Helper\Data
 
     /**
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Http $coreHttp
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\Core\Model\Date $dateModel
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\Encryption $encryptor
      * @param \Magento\Catalog\Model\ProductFactory $productFactory
-     * @param \Magento\Core\Model\LayoutFactory $layoutFactory
+     * @param \Magento\View\LayoutFactory $layoutFactory
      * @param \Magento\GiftMessage\Model\MessageFactory $giftMessageFactory
      * @param bool $dbCompatibleMode
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Http $coreHttp,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\Core\Model\Date $dateModel,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\Encryption $encryptor,
         \Magento\Catalog\Model\ProductFactory $productFactory,
-        \Magento\Core\Model\LayoutFactory $layoutFactory,
+        \Magento\View\LayoutFactory $layoutFactory,
         \Magento\GiftMessage\Model\MessageFactory $giftMessageFactory,
         $dbCompatibleMode = true
-    )
-    {
+    ) {
         $this->_productFactory = $productFactory;
         $this->_layoutFactory = $layoutFactory;
         $this->_giftMessageFactory = $giftMessageFactory;
diff --git a/app/code/Magento/GiftMessage/etc/di.xml b/app/code/Magento/GiftMessage/etc/di.xml
index 8a374d90d75bde9bf6032c4359dee3cb1d5c65c5..5849ad45bb02f8fe9478cc1974873adee3ee174e 100644
--- a/app/code/Magento/GiftMessage/etc/di.xml
+++ b/app/code/Magento/GiftMessage/etc/di.xml
@@ -24,8 +24,8 @@
  */
 -->
 <config>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <giftmessage_setup>Magento\GiftMessage\Model\Resource\Setup</giftmessage_setup>
             </value>
diff --git a/app/code/Magento/GoogleCheckout/Block/Adminhtml/Shipping/Merchant.php b/app/code/Magento/GoogleCheckout/Block/Adminhtml/Shipping/Merchant.php
index e75101a63c8a909ec5375c41da51ac0dde50d050..484498d391535ddc12ea3e38519db5b57df86fab 100644
--- a/app/code/Magento/GoogleCheckout/Block/Adminhtml/Shipping/Merchant.php
+++ b/app/code/Magento/GoogleCheckout/Block/Adminhtml/Shipping/Merchant.php
@@ -75,11 +75,23 @@ class Merchant
     {
         $this->setElement($element);
 
-        $html = '<div id="merchant_allowed_methods_template" style="display:none">';
+        $html = '<table style="display: none;"><tbody id="merchant_allowed_methods_template">';
         $html .= $this->_getRowTemplateHtml();
-        $html .= '</div>';
+        $html .= '</tbody></table>';
+
+        $html .= '<table cellspacing="0" class="data-table">';
+        $html .= '<thead><tr>';
+        $html .= '<th class="col-shipping-method">' . __('Shipping Method') . '</th>';
+        $html .= '<th class="col-default-price">' . __('Default Price') . '</th>';
+        $html .= '<th class="col-actions">' . __('Action') . '</th>';
+        $html .= '</tr></thead>';
+        $html .= '<tfoot><tr><td colspan="3">';
+
+        $html .= $this->_getAddRowButtonHtml('merchant_allowed_methods_container', 'merchant_allowed_methods_template', __('Add Shipping Method'));
+
+        $html .= '</td></tr></tfoot>';
+        $html .= '<tbody id="merchant_allowed_methods_container">';
 
-        $html .= '<ul id="merchant_allowed_methods_container">';
         if ($this->_getValue('method')) {
             foreach ($this->_getValue('method') as $i => $f) {
                 if ($i) {
@@ -87,9 +99,9 @@ class Merchant
                 }
             }
         }
-        $html .= '</ul>';
-        $html .= $this->_getAddRowButtonHtml('merchant_allowed_methods_container',
-            'merchant_allowed_methods_template', __('Add Shipping Method'));
+
+        $html .= '</tbody>';
+        $html .= '</table>';
 
         return $html;
     }
@@ -102,33 +114,34 @@ class Merchant
      */
     protected function _getRowTemplateHtml($rowIndex = 0)
     {
-        $html = '<li>';
+        $html = '<tr>';
+        $html .= '<td class="col-shipping-method">';
         $html .= '<select name="' . $this->getElement()->getName() . '[method][]" ' . $this->_getDisabled() . '>';
         $html .= '<option value="">' . __('* Select shipping method') . '</option>';
 
         foreach ($this->getShippingMethods() as $carrierCode => $carrier) {
-            $html .= '<optgroup label="' . $this->escapeHtml($carrier['title'])
-                . '" style="border-top:solid 1px black; margin-top:3px;">';
+            $html .= '<optgroup label="' . $this->escapeHtml($carrier['title']) . '">';
 
             foreach ($carrier['methods'] as $methodCode => $method) {
                 $code = $carrierCode . '/' . $methodCode;
                 $html .= '<option value="' . $this->escapeHtml($code) . '" '
                     . $this->_getSelected('method/' . $rowIndex, $code)
-                    . ' style="background:white;">' . $this->escapeHtml($method['title']) . '</option>';
+                    . '>' . $this->escapeHtml($method['title']) . '</option>';
             }
             $html .= '</optgroup>';
         }
-        $html .= '</select>';
 
-        $html .= '<div style="margin:5px 0 10px;">';
-        $html .= '<label>' . __('Default price:') . '</label> ';
-        $html .= '<input class="input-text" style="width:70px;" name="'
+        $html .= '</select>';
+        $html .= '</td>';
+        $html .= '<td class="col-default-price">';
+        $html .= '<input type="text" class="input-text" name="'
             . $this->getElement()->getName() . '[price][]" value="'
             . $this->_getValue('price/' . $rowIndex) . '" ' . $this->_getDisabled() . '/> ';
-
+        $html .= '</td>';
+        $html .= '<td class="col-actions">';
         $html .= $this->_getRemoveRowButtonHtml();
-        $html .= '</div>';
-        $html .= '</li>';
+        $html .= '</td>';
+        $html .= '</tr>';
 
         return $html;
     }
@@ -206,12 +219,12 @@ class Merchant
         return $this->_addRowButtonHtml[$container];
     }
 
-    protected function _getRemoveRowButtonHtml($selector = 'li', $title = 'Remove')
+    protected function _getRemoveRowButtonHtml($selector = 'tr', $title = 'Remove')
     {
         if (!$this->_removeRowButtonHtml) {
             $this->_removeRowButtonHtml = $this->getLayout()->createBlock('Magento\Adminhtml\Block\Widget\Button')
                     ->setType('button')
-                    ->setClass('delete v-middle ' . $this->_getDisabled())
+                    ->setClass('delete ' . $this->_getDisabled())
                     ->setLabel(__($title))
                     ->setOnClick("Element.remove($(this).up('" . $selector . "'))")
                     ->setDisabled($this->_getDisabled())
diff --git a/app/code/Magento/GoogleCheckout/Model/Api.php b/app/code/Magento/GoogleCheckout/Model/Api.php
index 288c9a5f54f8c8157aed4ea53bf4275fa7dfa8e4..d9a42fa732ae54fc7eabfa73f689d1ae78adc1f9 100644
--- a/app/code/Magento/GoogleCheckout/Model/Api.php
+++ b/app/code/Magento/GoogleCheckout/Model/Api.php
@@ -38,7 +38,7 @@ class Api extends \Magento\Object
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -56,13 +56,13 @@ class Api extends \Magento\Object
 
     /**
      * @param \Magento\ObjectManager $objectManager
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param array $data
      */
     public function __construct(
         \Magento\ObjectManager $objectManager,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         array $data = array()
     ) {
diff --git a/app/code/Magento/GoogleCheckout/Model/Api/Xml/Callback.php b/app/code/Magento/GoogleCheckout/Model/Api/Xml/Callback.php
index 889d734a6dd1221c80c19135e35514a2dbc19cbf..db7d6de4e2076f0c885397c0c85c848098cfe2ab 100644
--- a/app/code/Magento/GoogleCheckout/Model/Api/Xml/Callback.php
+++ b/app/code/Magento/GoogleCheckout/Model/Api/Xml/Callback.php
@@ -54,12 +54,12 @@ class Callback extends \Magento\GoogleCheckout\Model\Api\Xml\AbstractXml
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\GoogleCheckout\Helper\Data $googleCheckoutData
      * @param \Magento\Tax\Helper\Data $taxData
@@ -69,7 +69,7 @@ class Callback extends \Magento\GoogleCheckout\Model\Api\Xml\AbstractXml
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\GoogleCheckout\Helper\Data $googleCheckoutData,
         \Magento\Tax\Helper\Data $taxData,
diff --git a/app/code/Magento/GoogleCheckout/Model/Api/Xml/Checkout.php b/app/code/Magento/GoogleCheckout/Model/Api/Xml/Checkout.php
index eeba753a115a35b175956cb553521423d8f4d283..cf44cff5d64820d0c16bc30d1edecea56b891954 100644
--- a/app/code/Magento/GoogleCheckout/Model/Api/Xml/Checkout.php
+++ b/app/code/Magento/GoogleCheckout/Model/Api/Xml/Checkout.php
@@ -88,12 +88,12 @@ class Checkout extends \Magento\GoogleCheckout\Model\Api\Xml\AbstractXml
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Customer\Helper\Data $customerData
      * @param \Magento\GoogleCheckout\Helper\Data $googleCheckoutData
      * @param \Magento\Tax\Helper\Data $taxData
@@ -104,7 +104,7 @@ class Checkout extends \Magento\GoogleCheckout\Model\Api\Xml\AbstractXml
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Customer\Helper\Data $customerData,
         \Magento\GoogleCheckout\Helper\Data $googleCheckoutData,
         \Magento\Tax\Helper\Data $taxData,
diff --git a/app/code/Magento/GoogleCheckout/Model/Payment.php b/app/code/Magento/GoogleCheckout/Model/Payment.php
index fda566db0057b5a24f4b3fcc8314658ac578ca94..9c4543a17cd41cf747457f5b5ac7083cb12e08ba 100644
--- a/app/code/Magento/GoogleCheckout/Model/Payment.php
+++ b/app/code/Magento/GoogleCheckout/Model/Payment.php
@@ -67,7 +67,7 @@ class Payment extends \Magento\Payment\Model\Method\AbstractMethod
         \Magento\Core\Model\DateFactory $dateFactory,
         \Magento\Core\Model\UrlFactory $urlFactory,
         \Magento\GoogleCheckout\Model\ApiFactory $apiFactory,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
diff --git a/app/code/Magento/GoogleCheckout/etc/di.xml b/app/code/Magento/GoogleCheckout/etc/di.xml
index 67a1d13ed4482c9dfab113fb9e441752fd01deba..9a41af1b6f0bb908934e5f73b4105005e6e015f4 100644
--- a/app/code/Magento/GoogleCheckout/etc/di.xml
+++ b/app/code/Magento/GoogleCheckout/etc/di.xml
@@ -24,23 +24,8 @@
  */
 -->
 <config>
-    <type name="Magento\GoogleCheckout\Model\Api\Xml\Callback">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\GoogleCheckout\Model\Api">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\GoogleCheckout\Model\Api\Xml\Checkout">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <googlecheckout_setup>Magento\Catalog\Model\Resource\Setup</googlecheckout_setup>
             </value>
diff --git a/app/code/Magento/GoogleOptimizer/Model/Observer/AbstractSave.php b/app/code/Magento/GoogleOptimizer/Model/Observer/AbstractSave.php
index d78677ec2e2c3f25332f1787467e2ceafc749514..00777d4366627ebdf055af81ee2482d46a5af07f 100644
--- a/app/code/Magento/GoogleOptimizer/Model/Observer/AbstractSave.php
+++ b/app/code/Magento/GoogleOptimizer/Model/Observer/AbstractSave.php
@@ -38,7 +38,7 @@ abstract class AbstractSave
     protected $_modelCode;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
@@ -50,12 +50,12 @@ abstract class AbstractSave
     /**
      * @param \Magento\GoogleOptimizer\Helper\Data $helper
      * @param \Magento\GoogleOptimizer\Model\Code $modelCode
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      */
     public function __construct(
         \Magento\GoogleOptimizer\Helper\Data $helper,
         \Magento\GoogleOptimizer\Model\Code $modelCode,
-        \Magento\Core\Controller\Request\Http $request
+        \Magento\App\RequestInterface $request
     ) {
         $this->_helper = $helper;
         $this->_modelCode = $modelCode;
diff --git a/app/code/Magento/GoogleOptimizer/Model/Observer/Block/Category/Tab.php b/app/code/Magento/GoogleOptimizer/Model/Observer/Block/Category/Tab.php
index 7978da3a95d6791b2be503e5ba796fd1e39b0655..f2087c54e5837efd0a3bf3b6b8d4f52fd5e7c316 100644
--- a/app/code/Magento/GoogleOptimizer/Model/Observer/Block/Category/Tab.php
+++ b/app/code/Magento/GoogleOptimizer/Model/Observer/Block/Category/Tab.php
@@ -33,16 +33,18 @@ class Tab
     protected $_helper;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
      * @param \Magento\GoogleOptimizer\Helper\Data $helper
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      */
-    public function __construct(\Magento\GoogleOptimizer\Helper\Data $helper, \Magento\Core\Model\Layout $layout)
-    {
+    public function __construct(
+        \Magento\GoogleOptimizer\Helper\Data $helper,
+        \Magento\View\LayoutInterface $layout
+    ) {
         $this->_helper = $helper;
         $this->_layout = $layout;
     }
diff --git a/app/code/Magento/GoogleShopping/Model/Resource/Item/Collection.php b/app/code/Magento/GoogleShopping/Model/Resource/Item/Collection.php
index 49dc395e18ee9df28692a59dfc55c0b9b6807210..3691bb7700b609c192d3421be01e079e70ba904d 100644
--- a/app/code/Magento/GoogleShopping/Model/Resource/Item/Collection.php
+++ b/app/code/Magento/GoogleShopping/Model/Resource/Item/Collection.php
@@ -52,7 +52,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     /**
      * @param \Magento\Core\Model\Resource\Helper $resourceHelper
      * @param \Magento\Eav\Model\Config $config
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -61,7 +61,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     public function __construct(
         \Magento\Core\Model\Resource\Helper $resourceHelper,
         \Magento\Eav\Model\Config $config,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/GoogleShopping/etc/di.xml b/app/code/Magento/GoogleShopping/etc/di.xml
index 1e27d2ca7f3f05046edd267044ac23da0bb033dd..f456df2403cd2a3fb97311624c977a7c5281fe3f 100644
--- a/app/code/Magento/GoogleShopping/etc/di.xml
+++ b/app/code/Magento/GoogleShopping/etc/di.xml
@@ -34,8 +34,8 @@
             <instance type="Magento\GoogleShopping\Model\Resource\Helper" />
         </param>
     </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <googleshopping_setup>Magento\GoogleShopping\Model\Resource\Setup</googleshopping_setup>
             </value>
diff --git a/app/code/Magento/ImportExport/Block/Adminhtml/Import/Edit/Form.php b/app/code/Magento/ImportExport/Block/Adminhtml/Import/Edit/Form.php
index f2f2b4dd2aceb79b00ae58e68122f89e7fd14a1c..06c6c06660a6a8c35a19341a448f40294a0ca03c 100644
--- a/app/code/Magento/ImportExport/Block/Adminhtml/Import/Edit/Form.php
+++ b/app/code/Magento/ImportExport/Block/Adminhtml/Import/Edit/Form.php
@@ -139,6 +139,7 @@ class Form extends \Magento\Backend\Block\Widget\Form\Generic
             'label'    => __('Select File to Import'),
             'title'    => __('Select File to Import'),
             'required' => true,
+            'class' => 'input-file'
         ));
 
         $form->setUseContainer(true);
diff --git a/app/code/Magento/ImportExport/Helper/Data.php b/app/code/Magento/ImportExport/Helper/Data.php
index 3fba7ad5eeb08b7e697881838ebe7cfbb93fffbc..c28dc46c6093bc464ea3bf8c62baea80bb93d14f 100644
--- a/app/code/Magento/ImportExport/Helper/Data.php
+++ b/app/code/Magento/ImportExport/Helper/Data.php
@@ -49,28 +49,28 @@ class Data extends \Magento\Core\Helper\Data
 
     /**
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Http $coreHttp
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\Core\Model\Date $dateModel
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\Encryption $encryptor
      * @param \Magento\File\Size $fileSize
      * @param bool $dbCompatibleMode
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Http $coreHttp,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\Core\Model\Date $dateModel,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\Encryption $encryptor,
         \Magento\File\Size $fileSize,
         $dbCompatibleMode = true
diff --git a/app/code/Magento/ImportExport/Model/AbstractModel.php b/app/code/Magento/ImportExport/Model/AbstractModel.php
index 33771467b691bf4e533f9961aef592115952fc4b..a749ad4b64fba3d88e685e742c2a616d6abeb186 100644
--- a/app/code/Magento/ImportExport/Model/AbstractModel.php
+++ b/app/code/Magento/ImportExport/Model/AbstractModel.php
@@ -68,7 +68,7 @@ abstract class AbstractModel extends \Magento\Object
     protected $_logger;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -79,13 +79,13 @@ abstract class AbstractModel extends \Magento\Object
 
     /**
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\Log\AdapterFactory $adapterFactory
      * @param array $data
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\Log\AdapterFactory $adapterFactory,
         array $data = array()
     ) {
diff --git a/app/code/Magento/ImportExport/Model/Export.php b/app/code/Magento/ImportExport/Model/Export.php
index 7eaa510f103696f85272224e1f82e18115ee8031..0bbe6ba51d869d4116758530ffb0338ebd994971 100644
--- a/app/code/Magento/ImportExport/Model/Export.php
+++ b/app/code/Magento/ImportExport/Model/Export.php
@@ -77,7 +77,7 @@ class Export extends \Magento\ImportExport\Model\AbstractModel
 
     /**
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\Log\AdapterFactory $adapterFactory
      * @param \Magento\ImportExport\Model\Export\ConfigInterface $exportConfig
      * @param \Magento\ImportExport\Model\Export\Entity\Factory $entityFactory
@@ -86,7 +86,7 @@ class Export extends \Magento\ImportExport\Model\AbstractModel
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\Log\AdapterFactory $adapterFactory,
         \Magento\ImportExport\Model\Export\ConfigInterface $exportConfig,
         \Magento\ImportExport\Model\Export\Entity\Factory $entityFactory,
diff --git a/app/code/Magento/ImportExport/Model/Import.php b/app/code/Magento/ImportExport/Model/Import.php
index 5a1b7a36b59d0eb59aceb9c6385ca2f3ed7476d4..f10e6a2a7ceb0d8311d6e1136df02d5fce2627a8 100644
--- a/app/code/Magento/ImportExport/Model/Import.php
+++ b/app/code/Magento/ImportExport/Model/Import.php
@@ -132,7 +132,7 @@ class Import extends \Magento\ImportExport\Model\AbstractModel
 
     /**
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\Log\AdapterFactory $adapterFactory
      * @param \Magento\ImportExport\Helper\Data $importExportData
      * @param \Magento\Core\Model\Config $coreConfig
@@ -148,7 +148,7 @@ class Import extends \Magento\ImportExport\Model\AbstractModel
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\Log\AdapterFactory $adapterFactory,
         \Magento\ImportExport\Helper\Data $importExportData,
         \Magento\Core\Model\Config $coreConfig,
diff --git a/app/code/Magento/ImportExport/Model/Import/Entity/Product.php b/app/code/Magento/ImportExport/Model/Import/Entity/Product.php
index 47a288bc7aa0daf71ab06c3b9a830252085a280f..a4a1ace7c8719b306e58127e531a6e458d818eae 100644
--- a/app/code/Magento/ImportExport/Model/Import/Entity/Product.php
+++ b/app/code/Magento/ImportExport/Model/Import/Entity/Product.php
@@ -311,7 +311,7 @@ class Product extends \Magento\ImportExport\Model\Import\Entity\AbstractEntity
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -371,7 +371,7 @@ class Product extends \Magento\ImportExport\Model\Import\Entity\AbstractEntity
     protected $_uploaderFactory;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -398,7 +398,7 @@ class Product extends \Magento\ImportExport\Model\Import\Entity\AbstractEntity
      * @param \Magento\Eav\Model\Config $config
      * @param \Magento\Core\Model\Resource $resource
      * @param \Magento\ImportExport\Model\Resource\Helper $resourceHelper
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\CatalogInventory\Helper\Data $catalogInventoryData
      * @param \Magento\Catalog\Helper\Data $catalogData
      * @param \Magento\ImportExport\Model\Import\Config $importConfig
@@ -413,7 +413,7 @@ class Product extends \Magento\ImportExport\Model\Import\Entity\AbstractEntity
      * @param \Magento\Catalog\Model\Resource\Product\LinkFactory $linkFactory
      * @param \Magento\ImportExport\Model\Import\Proxy\ProductFactory $proxyProdFactory
      * @param \Magento\ImportExport\Model\Import\UploaderFactory $uploaderFactory
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\CatalogInventory\Model\Resource\Stock\ItemFactory $stockResItemFac
      * @param \Magento\CatalogInventory\Model\Stock\ItemFactory $stockItemFactory
      * @param \Magento\Core\Model\LocaleInterface $locale
@@ -427,7 +427,7 @@ class Product extends \Magento\ImportExport\Model\Import\Entity\AbstractEntity
         \Magento\Eav\Model\Config $config,
         \Magento\Core\Model\Resource $resource,
         \Magento\ImportExport\Model\Resource\Helper $resourceHelper,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\CatalogInventory\Helper\Data $catalogInventoryData,
         \Magento\Catalog\Helper\Data $catalogData,
         \Magento\ImportExport\Model\Import\Config $importConfig,
@@ -443,7 +443,7 @@ class Product extends \Magento\ImportExport\Model\Import\Entity\AbstractEntity
         \Magento\Catalog\Model\Resource\Product\LinkFactory $linkFactory,
         \Magento\ImportExport\Model\Import\Proxy\ProductFactory $proxyProdFactory,
         \Magento\ImportExport\Model\Import\UploaderFactory $uploaderFactory,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\CatalogInventory\Model\Resource\Stock\ItemFactory $stockResItemFac,
         \Magento\CatalogInventory\Model\Stock\ItemFactory $stockItemFactory,
         \Magento\Core\Model\LocaleInterface $locale,
@@ -1356,7 +1356,7 @@ class Product extends \Magento\ImportExport\Model\Import\Entity\AbstractEntity
 
             $this->_fileUploader->init();
 
-            $mediaDir = $this->_dir->getDir(\Magento\Core\Model\Dir::MEDIA);
+            $mediaDir = $this->_dir->getDir(\Magento\App\Dir::MEDIA);
             if (!$mediaDir) {
                 throw new \Magento\Exception('Media directory is unavailable.');
             }
diff --git a/app/code/Magento/ImportExport/etc/di.xml b/app/code/Magento/ImportExport/etc/di.xml
index 941ef286b9b4d3f35be1bd0bf630a834b0086d44..6153f2371f755f5190a9af8689011c85d88a6081 100644
--- a/app/code/Magento/ImportExport/etc/di.xml
+++ b/app/code/Magento/ImportExport/etc/di.xml
@@ -26,9 +26,4 @@
 <config>
     <preference for="Magento\ImportExport\Model\Import\ConfigInterface" type="Magento\ImportExport\Model\Import\Config" />
     <preference for="Magento\ImportExport\Model\Export\ConfigInterface" type="Magento\ImportExport\Model\Export\Config" />
-    <type name="Magento\ImportExport\Model\Import\Entity\Product">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
 </config>
diff --git a/app/code/Magento/Index/Model/Indexer.php b/app/code/Magento/Index/Model/Indexer.php
index 7f10a6c63449bd59c17f31cffe834ab3a12e8c1c..fa11acee412999167e0c4b18f4a99a8102b8aa37 100644
--- a/app/code/Magento/Index/Model/Indexer.php
+++ b/app/code/Magento/Index/Model/Indexer.php
@@ -46,7 +46,7 @@ class Indexer
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -63,13 +63,13 @@ class Indexer
     /**
      * @param \Magento\Index\Model\Resource\Process\CollectionFactory $collectionFactory
      * @param \Magento\Index\Model\Resource\Process $resourceProcess
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Index\Model\EventFactory $indexEventFactory
      */
     public function __construct(
         \Magento\Index\Model\Resource\Process\CollectionFactory $collectionFactory,
         \Magento\Index\Model\Resource\Process $resourceProcess,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Index\Model\EventFactory $indexEventFactory
     ) {
         $this->_collectionFactory = $collectionFactory;
diff --git a/app/code/Magento/Index/Model/Lock/Storage.php b/app/code/Magento/Index/Model/Lock/Storage.php
index b21b07addfb3a22235b16e81c9709f6de906804d..cb5d9cfd46a96f874ccaee664c9e6564d295fdb2 100644
--- a/app/code/Magento/Index/Model/Lock/Storage.php
+++ b/app/code/Magento/Index/Model/Lock/Storage.php
@@ -32,7 +32,7 @@ namespace Magento\Index\Model\Lock;
 class Storage
 {
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
@@ -49,11 +49,11 @@ class Storage
     protected $_fileHandlers = array();
 
     /**
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Index\Model\Process\FileFactory $fileFactory
      */
     public function __construct(
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Index\Model\Process\FileFactory $fileFactory
     ) {
         $this->_dirs = $dirs;
@@ -70,7 +70,7 @@ class Storage
     {
         if (!isset($this->_fileHandlers[$processId])) {
             $file = $this->_fileFactory->create();
-            $varDirectory = $this->_dirs->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DIRECTORY_SEPARATOR . 'locks';
+            $varDirectory = $this->_dirs->getDir(\Magento\App\Dir::VAR_DIR) . DIRECTORY_SEPARATOR . 'locks';
             $file->setAllowCreateFolders(true);
 
             $file->open(array('path' => $varDirectory));
diff --git a/app/code/Magento/Index/Model/Process.php b/app/code/Magento/Index/Model/Process.php
index 452c9921d6ce8a7c0fa177cbb5098d9bf78f5739..800068cf3dd131194c0d3e3f8a8f96c4d04e7967 100644
--- a/app/code/Magento/Index/Model/Process.php
+++ b/app/code/Magento/Index/Model/Process.php
@@ -99,7 +99,7 @@ class Process extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -127,7 +127,7 @@ class Process extends \Magento\Core\Model\AbstractModel
      * @param \Magento\Index\Model\Resource\Event $resourceEvent
      * @param \Magento\Index\Model\Indexer\Factory $indexerFactory
      * @param \Magento\Index\Model\Indexer $indexer
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Index\Model\Indexer\ConfigInterface $indexerConfig
      * @param \Magento\Core\Model\Registry $registry
@@ -143,7 +143,7 @@ class Process extends \Magento\Core\Model\AbstractModel
         \Magento\Index\Model\Resource\Event $resourceEvent,
         \Magento\Index\Model\Indexer\Factory $indexerFactory,
         \Magento\Index\Model\Indexer $indexer,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Index\Model\Indexer\ConfigInterface $indexerConfig,
         \Magento\Core\Model\Registry $registry,
diff --git a/app/code/Magento/Index/Model/Shell.php b/app/code/Magento/Index/Model/Shell.php
index c9317a43ab20c3766963bc73e5f1f7e07a5de965..b3822a9f1438428e0424b17ac4795b0bcd19753f 100644
--- a/app/code/Magento/Index/Model/Shell.php
+++ b/app/code/Magento/Index/Model/Shell.php
@@ -51,13 +51,13 @@ class Shell extends \Magento\Core\Model\AbstractShell
      * @param \Magento\Index\Model\Indexer $indexer
      * @param \Magento\Filesystem $filesystem
      * @param string $entryPoint
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      */
     public function __construct(
         \Magento\Index\Model\Indexer $indexer,
         \Magento\Filesystem $filesystem,
         $entryPoint,
-        \Magento\Core\Model\Dir $dir
+        \Magento\App\Dir $dir
     ) {
         $this->_indexer = $indexer;
         parent::__construct($filesystem, $entryPoint, $dir);
diff --git a/app/code/Magento/Index/Model/System/Message/IndexOutdated.php b/app/code/Magento/Index/Model/System/Message/IndexOutdated.php
index a194f1e418794eff0e018ef40dd0061432dd7d3a..7321b1d3e8aad0bc19179ac0de2373955a66e99d 100644
--- a/app/code/Magento/Index/Model/System/Message/IndexOutdated.php
+++ b/app/code/Magento/Index/Model/System/Message/IndexOutdated.php
@@ -31,7 +31,7 @@ class IndexOutdated implements \Magento\AdminNotification\Model\System\MessageIn
     protected $_indexer;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
@@ -47,12 +47,12 @@ class IndexOutdated implements \Magento\AdminNotification\Model\System\MessageIn
 
     /**
      * @param \Magento\Index\Model\Indexer $indexer
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\AuthorizationInterface $authorization
      */
     public function __construct(
         \Magento\Index\Model\Indexer $indexer,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\AuthorizationInterface $authorization
     ) {
         $this->_indexer = $indexer;
diff --git a/app/code/Magento/Index/etc/di.xml b/app/code/Magento/Index/etc/di.xml
index c9943f1663b20fec50ec3ef1a27ee372d7467cfa..ed8c9c225cbb83e81f14b58a1374333e3c3f2476 100644
--- a/app/code/Magento/Index/etc/di.xml
+++ b/app/code/Magento/Index/etc/di.xml
@@ -25,18 +25,8 @@
 -->
 <config>
     <preference for="Magento\Index\Model\Indexer\ConfigInterface" type="Magento\Index\Model\Indexer\Config" />
-    <type name="Magento\Index\Model\Indexer">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Index\Model\Process">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <index_setup>Magento\Index\Model\Resource\Setup</index_setup>
             </value>
diff --git a/app/code/Magento/Install/Controller/Action.php b/app/code/Magento/Install/Controller/Action.php
index 08b4771dbaf7c078443a7a68733f81fb401a645f..208b96f10b20489b9877dc0a41f5fc9ea320b848 100644
--- a/app/code/Magento/Install/Controller/Action.php
+++ b/app/code/Magento/Install/Controller/Action.php
@@ -30,12 +30,12 @@ namespace Magento\Install\Controller;
 class Action extends \Magento\Core\Controller\Varien\Action
 {
     /**
-     * @var \Magento\Core\Model\Config\Scope
+     * @var \Magento\Config\Scope
      */
     protected $_configScope;
 
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_viewDesign;
 
@@ -54,25 +54,25 @@ class Action extends \Magento\Core\Controller\Varien\Action
     /**
      * Application state
      *
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
     /**
      * @param \Magento\Core\Controller\Varien\Action\Context $context
-     * @param \Magento\Core\Model\Config\Scope $configScope
-     * @param \Magento\Core\Model\View\DesignInterface $viewDesign
+     * @param \Magento\Config\Scope $configScope
+     * @param \Magento\View\DesignInterface $viewDesign
      * @param \Magento\Core\Model\Theme\CollectionFactory $collectionFactory
      * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      */
     public function __construct(
         \Magento\Core\Controller\Varien\Action\Context $context,
-        \Magento\Core\Model\Config\Scope $configScope,
-        \Magento\Core\Model\View\DesignInterface $viewDesign,
+        \Magento\Config\Scope $configScope,
+        \Magento\View\DesignInterface $viewDesign,
         \Magento\Core\Model\Theme\CollectionFactory $collectionFactory,
         \Magento\Core\Model\App $app,
-        \Magento\Core\Model\App\State $appState
+        \Magento\App\State $appState
     ) {
         $this->_configScope = $configScope;
         $this->_viewDesign = $viewDesign;
diff --git a/app/code/Magento/Install/Controller/Index.php b/app/code/Magento/Install/Controller/Index.php
index 577385efaaff46e6809058e16a05f957d15ecc10..b7169cfa109cd35b71cbd8e829e619502b3aac91 100644
--- a/app/code/Magento/Install/Controller/Index.php
+++ b/app/code/Magento/Install/Controller/Index.php
@@ -35,27 +35,27 @@ class Index extends \Magento\Install\Controller\Action
     /**
      * Core directory model
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_coreDir;
 
     /**
      * @param \Magento\Core\Controller\Varien\Action\Context $context
-     * @param \Magento\Core\Model\Config\Scope $configScope
-     * @param \Magento\Core\Model\View\DesignInterface $viewDesign
+     * @param \Magento\Config\Scope $configScope
+     * @param \Magento\View\DesignInterface $viewDesign
      * @param \Magento\Core\Model\Theme\CollectionFactory $collectionFactory
      * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\App\State $appState
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\State $appState
+     * @param \Magento\App\Dir $coreDir
      */
     public function __construct(
         \Magento\Core\Controller\Varien\Action\Context $context,
-        \Magento\Core\Model\Config\Scope $configScope,
-        \Magento\Core\Model\View\DesignInterface $viewDesign,
+        \Magento\Config\Scope $configScope,
+        \Magento\View\DesignInterface $viewDesign,
         \Magento\Core\Model\Theme\CollectionFactory $collectionFactory,
         \Magento\Core\Model\App $app,
-        \Magento\Core\Model\App\State $appState,
-        \Magento\Core\Model\Dir $coreDir
+        \Magento\App\State $appState,
+        \Magento\App\Dir $coreDir
     ) {
         parent::__construct($context, $configScope, $viewDesign, $collectionFactory, $app, $appState);
         $this->_coreDir = $coreDir;
@@ -68,7 +68,7 @@ class Index extends \Magento\Install\Controller\Action
     {
         $this->setFlag('', self::FLAG_NO_CHECK_INSTALLATION, true);
         if (!$this->_appState->isInstalled()) {
-            foreach (glob($this->_coreDir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . '/*', GLOB_ONLYDIR) as $dir) {
+            foreach (glob($this->_coreDir->getDir(\Magento\App\Dir::VAR_DIR) . '/*', GLOB_ONLYDIR) as $dir) {
                 \Magento\Io\File::rmdirRecursive($dir);
             }
         }
diff --git a/app/code/Magento/Install/Controller/Wizard.php b/app/code/Magento/Install/Controller/Wizard.php
index 7eebb257a9ce376c22a47764ccde00bf8a9212ea..363d8b6fc9e1480530df1c01fef563076de0b7da 100644
--- a/app/code/Magento/Install/Controller/Wizard.php
+++ b/app/code/Magento/Install/Controller/Wizard.php
@@ -55,7 +55,7 @@ class Wizard extends \Magento\Install\Controller\Action
     /**
      * DB Updater
      *
-     * @var \Magento\Core\Model\Db\UpdaterInterface
+     * @var \Magento\App\UpdaterInterface
      */
     protected $_dbUpdater;
 
@@ -68,28 +68,28 @@ class Wizard extends \Magento\Install\Controller\Action
 
     /**
      * @param \Magento\Core\Controller\Varien\Action\Context $context
-     * @param \Magento\Core\Model\Config\Scope $configScope
-     * @param \Magento\Core\Model\View\DesignInterface $viewDesign
+     * @param \Magento\Config\Scope $configScope
+     * @param \Magento\View\DesignInterface $viewDesign
      * @param \Magento\Core\Model\Theme\CollectionFactory $collectionFactory
      * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Install\Model\Installer $installer
      * @param \Magento\Install\Model\Wizard $wizard
      * @param \Magento\Core\Model\Session\Generic $session
-     * @param \Magento\Core\Model\Db\UpdaterInterface $dbUpdater
+     * @param \Magento\App\UpdaterInterface $dbUpdater
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
         \Magento\Core\Controller\Varien\Action\Context $context,
-        \Magento\Core\Model\Config\Scope $configScope,
-        \Magento\Core\Model\View\DesignInterface $viewDesign,
+        \Magento\Config\Scope $configScope,
+        \Magento\View\DesignInterface $viewDesign,
         \Magento\Core\Model\Theme\CollectionFactory $collectionFactory,
         \Magento\Core\Model\App $app,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Install\Model\Installer $installer,
         \Magento\Install\Model\Wizard $wizard,
         \Magento\Core\Model\Session\Generic $session,
-        \Magento\Core\Model\Db\UpdaterInterface $dbUpdater,
+        \Magento\App\UpdaterInterface $dbUpdater,
         \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
         parent::__construct($context, $configScope, $viewDesign, $collectionFactory, $app, $appState);
diff --git a/app/code/Magento/Install/Model/Config.php b/app/code/Magento/Install/Model/Config.php
index c94a3d77d1351574d201eae8d309a984edacefbd..16aeea67b0e6fbd982fddf21e66d049ab39d6999 100644
--- a/app/code/Magento/Install/Model/Config.php
+++ b/app/code/Magento/Install/Model/Config.php
@@ -46,7 +46,7 @@ class Config
     /**
      * Directory model
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_coreDir;
 
@@ -54,9 +54,9 @@ class Config
 
     /**
      * @param \Magento\Install\Model\Config\Data $dataStorage
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      */
-    public function __construct(\Magento\Install\Model\Config\Data $dataStorage, \Magento\Core\Model\Dir $coreDir)
+    public function __construct(\Magento\Install\Model\Config\Data $dataStorage, \Magento\App\Dir $coreDir)
     {
         $this->_dataStorage = $dataStorage;
         $this->_coreDir = $coreDir;
diff --git a/app/code/Magento/Install/Model/EntryPoint/Upgrade.php b/app/code/Magento/Install/Model/EntryPoint/Upgrade.php
index a02dcdc9554ddb2ffe0ddd4053494797f8f54f8b..3c357ab43d8fdc021c52c4b7bdc27dcd38a097f1 100644
--- a/app/code/Magento/Install/Model/EntryPoint/Upgrade.php
+++ b/app/code/Magento/Install/Model/EntryPoint/Upgrade.php
@@ -51,8 +51,8 @@ class Upgrade extends \Magento\Core\Model\AbstractEntryPoint
             $cacheFrontend->clean();
         }
 
-        /** @var $updater \Magento\Core\Model\Db\Updater */
-        $updater = $this->_objectManager->get('Magento\Core\Model\Db\Updater');
+        /** @var $updater \Magento\App\Updater */
+        $updater = $this->_objectManager->get('Magento\App\Updater');
         $updater->updateScheme();
         $updater->updateData();
 
diff --git a/app/code/Magento/Install/Model/Installer.php b/app/code/Magento/Install/Model/Installer.php
index 256b4c694735ea6d1336bbe862c6bd4026eda741..74c5037923e8b0454402d86f8eb388c583461ae7 100644
--- a/app/code/Magento/Install/Model/Installer.php
+++ b/app/code/Magento/Install/Model/Installer.php
@@ -42,7 +42,7 @@ class Installer extends \Magento\Object
     /**
      * DB updated model
      *
-     * @var \Magento\Core\Model\Db\UpdaterInterface
+     * @var \Magento\App\UpdaterInterface
      */
     protected $_dbUpdater;
 
@@ -78,7 +78,7 @@ class Installer extends \Magento\Object
     protected $_coreData = null;
 
     /**
-     * @var \Magento\Core\Model\Resource\SetupFactory
+     * @var \Magento\App\Updater\SetupFactory
      */
     protected $_setupFactory;
 
@@ -113,7 +113,7 @@ class Installer extends \Magento\Object
     /**
      * Application
      *
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -155,15 +155,15 @@ class Installer extends \Magento\Object
     /**
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Model\ConfigInterface $config
-     * @param \Magento\Core\Model\Db\UpdaterInterface $dbUpdater
+     * @param \Magento\App\UpdaterInterface $dbUpdater
      * @param \Magento\Core\Model\CacheInterface $cache
      * @param \Magento\Core\Model\Cache\TypeListInterface $cacheTypeList
      * @param \Magento\Core\Model\Cache\StateInterface $cacheState
-     * @param \Magento\Core\Model\Resource\SetupFactory $setupFactory
+     * @param \Magento\App\Updater\SetupFactory $setupFactory
      * @param \Magento\Core\Model\Config\Primary $primaryConfig
      * @param \Magento\Core\Model\Config\Local $localConfig
      * @param \Magento\Core\Model\App $app
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\User\Model\UserFactory $userModelFactory
      * @param \Magento\Install\Model\Installer\Filesystem $filesystem
@@ -176,15 +176,15 @@ class Installer extends \Magento\Object
     public function __construct(
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Model\ConfigInterface $config,
-        \Magento\Core\Model\Db\UpdaterInterface $dbUpdater,
+        \Magento\App\UpdaterInterface $dbUpdater,
         \Magento\Core\Model\CacheInterface $cache,
         \Magento\Core\Model\Cache\TypeListInterface $cacheTypeList,
         \Magento\Core\Model\Cache\StateInterface $cacheState,
-        \Magento\Core\Model\Resource\SetupFactory $setupFactory,
+        \Magento\App\Updater\SetupFactory $setupFactory,
         \Magento\Core\Model\Config\Primary $primaryConfig,
         \Magento\Core\Model\Config\Local $localConfig,
         \Magento\Core\Model\App $app,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\User\Model\UserFactory $userModelFactory,
         \Magento\Install\Model\Installer\Filesystem $filesystem,
@@ -336,9 +336,7 @@ class Installer extends \Magento\Object
          * Saving host information into DB
          */
         /** @var $setupModel \Magento\Core\Model\Resource\Setup */
-        $setupModel = $this->_setupFactory->create(
-            'Magento\Core\Model\Resource\Setup', array('resourceName' => 'core_setup', 'moduleName' => 'Magento_Core')
-        );
+        $setupModel = $this->_setupFactory->create('core_setup', 'Magento_Core');
 
         if (!empty($data['use_rewrites'])) {
             $setupModel->setConfigData(\Magento\Core\Model\Store::XML_PATH_USE_REWRITES, 1);
diff --git a/app/code/Magento/Install/Model/Installer/Config.php b/app/code/Magento/Install/Model/Installer/Config.php
index afcd2ab5d629899b6222632a33eafef1794d1ce6..15e3c728588b4b8e75846de6f27fb94fa05e1cae 100644
--- a/app/code/Magento/Install/Model/Installer/Config.php
+++ b/app/code/Magento/Install/Model/Installer/Config.php
@@ -45,12 +45,12 @@ class Config extends \Magento\Install\Model\Installer\AbstractInstaller
     protected $_localConfigFile;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
@@ -70,20 +70,20 @@ class Config extends \Magento\Install\Model\Installer\AbstractInstaller
 
     /**
      * @param \Magento\Install\Model\Installer $installer
-     * @param \Magento\Core\Controller\Request\Http $request
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\RequestInterface $request
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
         \Magento\Install\Model\Installer $installer,
-        \Magento\Core\Controller\Request\Http $request,
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\RequestInterface $request,
+        \Magento\App\Dir $dirs,
         \Magento\Filesystem $filesystem,
         \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
         parent::__construct($installer);
-        $this->_localConfigFile = $dirs->getDir(\Magento\Core\Model\Dir::CONFIG) . DIRECTORY_SEPARATOR . 'local.xml';
+        $this->_localConfigFile = $dirs->getDir(\Magento\App\Dir::CONFIG) . DIRECTORY_SEPARATOR . 'local.xml';
         $this->_dirs = $dirs;
         $this->_request = $request;
         $this->_filesystem = $filesystem;
@@ -111,9 +111,9 @@ class Config extends \Magento\Install\Model\Installer\AbstractInstaller
         $data = $this->getConfigData();
 
         $defaults = array(
-            'root_dir' => $this->_dirs->getDir(\Magento\Core\Model\Dir::ROOT),
-            'app_dir'  => $this->_dirs->getDir(\Magento\Core\Model\Dir::APP),
-            'var_dir'  => $this->_dirs->getDir(\Magento\Core\Model\Dir::VAR_DIR),
+            'root_dir' => $this->_dirs->getDir(\Magento\App\Dir::ROOT),
+            'app_dir'  => $this->_dirs->getDir(\Magento\App\Dir::APP),
+            'var_dir'  => $this->_dirs->getDir(\Magento\App\Dir::VAR_DIR),
             'base_url' => $this->_request->getDistroBaseUrl(),
         );
         foreach ($defaults as $index => $value) {
@@ -151,7 +151,7 @@ class Config extends \Magento\Install\Model\Installer\AbstractInstaller
 
         $this->_getInstaller()->getDataModel()->setConfigData($data);
 
-        $path = $this->_dirs->getDir(\Magento\Core\Model\Dir::CONFIG) . DIRECTORY_SEPARATOR . 'local.xml.template';
+        $path = $this->_dirs->getDir(\Magento\App\Dir::CONFIG) . DIRECTORY_SEPARATOR . 'local.xml.template';
         $contents = $this->_filesystem->read($path);
         foreach ($data as $index => $value) {
             $contents = str_replace('{{' . $index . '}}', '<![CDATA[' . $value . ']]>', $contents);
@@ -197,9 +197,9 @@ class Config extends \Magento\Install\Model\Installer\AbstractInstaller
     protected function _checkUrl($baseUrl)
     {
         try {
-            $pubLibDir = $this->_dirs->getDir(\Magento\Core\Model\Dir::PUB_LIB);
+            $pubLibDir = $this->_dirs->getDir(\Magento\App\Dir::PUB_LIB);
             $staticFile = $this->_findFirstFileRelativePath($pubLibDir, '/.+\.(html?|js|css|gif|jpe?g|png)$/');
-            $staticUrl = $baseUrl . $this->_dirs->getUri(\Magento\Core\Model\Dir::PUB_LIB) . '/' . $staticFile;
+            $staticUrl = $baseUrl . $this->_dirs->getUri(\Magento\App\Dir::PUB_LIB) . '/' . $staticFile;
             $client = new \Magento\HTTP\ZendClient($staticUrl);
             $response = $client->request('GET');
         } catch (\Exception $e){
diff --git a/app/code/Magento/Install/Model/Installer/Console.php b/app/code/Magento/Install/Model/Installer/Console.php
index fb0d59ee3d9eb64b402ad0728c2fb1f6ee3b23c5..e6f031c5e27969c240988bcb7c4fdb3a178639bb 100644
--- a/app/code/Magento/Install/Model/Installer/Console.php
+++ b/app/code/Magento/Install/Model/Installer/Console.php
@@ -96,7 +96,7 @@ class Console extends \Magento\Install\Model\Installer\AbstractInstaller
     /**
      * DB updater
      *
-     * @var \Magento\Core\Model\Db\UpdaterInterface
+     * @var \Magento\App\UpdaterInterface
      */
     protected $_dbUpdater;
 
@@ -110,14 +110,14 @@ class Console extends \Magento\Install\Model\Installer\AbstractInstaller
     /**
      * Application State
      *
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
     /**
      * Core Dir model
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_coreDir;
 
@@ -138,22 +138,22 @@ class Console extends \Magento\Install\Model\Installer\AbstractInstaller
     /**
      * @param \Magento\Install\Model\Installer $installer
      * @param \Magento\Core\Model\Config\Resource $resourceConfig
-     * @param \Magento\Core\Model\Db\UpdaterInterface $dbUpdater
+     * @param \Magento\App\UpdaterInterface $dbUpdater
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Install\Model\Installer\Data $installerData
-     * @param \Magento\Core\Model\App\State $appState
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\State $appState
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\ObjectManager $objectManager
      */
     public function __construct(
         \Magento\Install\Model\Installer $installer,
         \Magento\Core\Model\Config\Resource $resourceConfig,
-        \Magento\Core\Model\Db\UpdaterInterface $dbUpdater,
+        \Magento\App\UpdaterInterface $dbUpdater,
         \Magento\Filesystem $filesystem,
         \Magento\Install\Model\Installer\Data $installerData,
-        \Magento\Core\Model\App\State $appState,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\State $appState,
+        \Magento\App\Dir $coreDir,
         \Magento\Core\Model\LocaleInterface $locale,
         \Magento\ObjectManager $objectManager
     ) {
@@ -409,10 +409,10 @@ class Console extends \Magento\Install\Model\Installer\AbstractInstaller
         $this->_cleanUpDatabase();
 
         /* Remove temporary directories and local.xml */
-        foreach (glob($this->_coreDir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . '/*', GLOB_ONLYDIR) as $dir) {
+        foreach (glob($this->_coreDir->getDir(\Magento\App\Dir::VAR_DIR) . '/*', GLOB_ONLYDIR) as $dir) {
             $this->_filesystem->delete($dir);
         }
-        $this->_filesystem->delete($this->_coreDir->getDir(\Magento\Core\Model\Dir::CONFIG)
+        $this->_filesystem->delete($this->_coreDir->getDir(\Magento\App\Dir::CONFIG)
             . DIRECTORY_SEPARATOR . '/local.xml');
         return true;
     }
diff --git a/app/code/Magento/Install/Model/Installer/Filesystem.php b/app/code/Magento/Install/Model/Installer/Filesystem.php
index a8554112e431a69019f48463b214c6a48dd74eda..687d2275147ce4994175a71a756d9f8d6a7d432a 100644
--- a/app/code/Magento/Install/Model/Installer/Filesystem.php
+++ b/app/code/Magento/Install/Model/Installer/Filesystem.php
@@ -55,7 +55,7 @@ class Filesystem extends \Magento\Install\Model\Installer\AbstractInstaller
     protected $_installConfig;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -70,13 +70,13 @@ class Filesystem extends \Magento\Install\Model\Installer\AbstractInstaller
      * @param \Magento\Install\Model\Installer $installer
      * @param \Magento\Filesystem $filesystem
      * @param \Magento\Install\Model\Config $installConfig
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      */
     public function __construct(
         \Magento\Install\Model\Installer $installer,
         \Magento\Filesystem $filesystem,
         \Magento\Install\Model\Config $installConfig,
-        \Magento\Core\Model\Dir $dir
+        \Magento\App\Dir $dir
     ) {
         parent::__construct($installer);
         $this->_filesystem = $filesystem;
diff --git a/app/code/Magento/Install/Model/Wizard.php b/app/code/Magento/Install/Model/Wizard.php
index 3d3e4c1a1a0de8a1050e21b0cad902756fe66799..7efa26888559854c297b815a880f335ef44e7740 100644
--- a/app/code/Magento/Install/Model/Wizard.php
+++ b/app/code/Magento/Install/Model/Wizard.php
@@ -41,14 +41,14 @@ class Wizard
     /**
      * Url builder
      *
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
     /**
      * Init install wizard
      */
-    public function __construct(\Magento\Core\Model\UrlInterface $urlBuilder, \Magento\Install\Model\Config $installConfig)
+    public function __construct(\Magento\UrlInterface $urlBuilder, \Magento\Install\Model\Config $installConfig)
     {
         $this->_steps = $installConfig->getWizardSteps();
         $this->_urlBuilder = $urlBuilder;
diff --git a/app/code/Magento/Log/Model/Resource/Log.php b/app/code/Magento/Log/Model/Resource/Log.php
index 8a52c8e2c1be19e9a97cfd33a1c84e5848881add..0215c8d55ece4a03d06e8e4b554c70f72c4b59cb 100644
--- a/app/code/Magento/Log/Model/Resource/Log.php
+++ b/app/code/Magento/Log/Model/Resource/Log.php
@@ -39,7 +39,7 @@ class Log extends \Magento\Core\Model\Resource\Db\AbstractDb
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -50,12 +50,12 @@ class Log extends \Magento\Core\Model\Resource\Db\AbstractDb
 
     /**
      * @param \Magento\Core\Model\Date $date
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Resource $resource
      */
     public function __construct(
         \Magento\Core\Model\Date $date,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Resource $resource
     ) {
         $this->_date = $date;
diff --git a/app/code/Magento/Log/Model/Resource/Visitor/Online/Collection.php b/app/code/Magento/Log/Model/Resource/Visitor/Online/Collection.php
index 8b3e8d1a708b0b3028f8c83c08d6e16f4ada0121..18d724d14e21c69ef7e57e0af4cb5d6046dbfaa6 100644
--- a/app/code/Magento/Log/Model/Resource/Visitor/Online/Collection.php
+++ b/app/code/Magento/Log/Model/Resource/Visitor/Online/Collection.php
@@ -50,7 +50,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
 
     /**
      * @param \Magento\Customer\Model\CustomerFactory $customerFactory
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -58,7 +58,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      */
     public function __construct(
         \Magento\Customer\Model\CustomerFactory $customerFactory,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Log/Model/Resource/Visitor/Online/Grid/Collection.php b/app/code/Magento/Log/Model/Resource/Visitor/Online/Grid/Collection.php
index 34204d6e09cabfd9393822ca83c20524df3f97b9..08217b631bea7cfdba42f7e89312931f35bd1cb6 100644
--- a/app/code/Magento/Log/Model/Resource/Visitor/Online/Grid/Collection.php
+++ b/app/code/Magento/Log/Model/Resource/Visitor/Online/Grid/Collection.php
@@ -35,7 +35,7 @@ class Collection extends \Magento\Log\Model\Resource\Visitor\Online\Collection
     /**
      * @param \Magento\Log\Model\Visitor\OnlineFactory $onlineFactory
      * @param \Magento\Customer\Model\CustomerFactory $customerFactory
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -44,7 +44,7 @@ class Collection extends \Magento\Log\Model\Resource\Visitor\Online\Collection
     public function __construct(
         \Magento\Log\Model\Visitor\OnlineFactory $onlineFactory,
         \Magento\Customer\Model\CustomerFactory $customerFactory,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Log/Model/Shell.php b/app/code/Magento/Log/Model/Shell.php
index acec697b53a04af94ec628f4fbdce2d24a8226c1..8172d9c5d1c157c7c4485e9c0d65245a96f40c86 100644
--- a/app/code/Magento/Log/Model/Shell.php
+++ b/app/code/Magento/Log/Model/Shell.php
@@ -43,14 +43,14 @@ class Shell extends \Magento\Core\Model\AbstractShell
     /**
      * @param \Magento\Log\Model\Shell\Command\Factory $commandFactory
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $entryPoint
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $entryPoint
+     * @param \Magento\App\Dir $dir
      */
     public function __construct(
         \Magento\Log\Model\Shell\Command\Factory $commandFactory,
         \Magento\Filesystem $filesystem,
         $entryPoint,
-        \Magento\Core\Model\Dir $dir
+        \Magento\App\Dir $dir
     ) {
         parent::__construct($filesystem, $entryPoint, $dir);
         $this->_commandFactory = $commandFactory;
diff --git a/app/code/Magento/Log/Model/Visitor.php b/app/code/Magento/Log/Model/Visitor.php
index 1b55a934aee6c3e4c9d7105e7373b744ccdc958a..33d3a4775ab549cf5e5d1a70f7e1fe1261cebd39 100644
--- a/app/code/Magento/Log/Model/Visitor.php
+++ b/app/code/Magento/Log/Model/Visitor.php
@@ -69,7 +69,7 @@ class Visitor extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -116,7 +116,7 @@ class Visitor extends \Magento\Core\Model\AbstractModel
      * @param \Magento\Core\Model\Context               $context
      * @param \Magento\Core\Model\Registry              $registry
      * @param \Magento\Core\Model\Store\Config          $coreStoreConfig
-     * @param \Magento\Core\Model\Event\Manager         $eventManager
+     * @param \Magento\Event\ManagerInterface         $eventManager
      * @param \Magento\Customer\Model\CustomerFactory   $customerFactory
      * @param \Magento\Sales\Model\QuoteFactory         $quoteFactory
      * @param \Magento\Core\Model\Session               $session
@@ -135,7 +135,7 @@ class Visitor extends \Magento\Core\Model\AbstractModel
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Customer\Model\CustomerFactory $customerFactory,
         \Magento\Sales\Model\QuoteFactory $quoteFactory,
         \Magento\Core\Model\Session $session,
diff --git a/app/code/Magento/Log/etc/di.xml b/app/code/Magento/Log/etc/di.xml
index 755ba0336599ee666d65b83b0e3884ae65fbdf36..2b08c2452912c144b48f366342bd37c2c833a48b 100644
--- a/app/code/Magento/Log/etc/di.xml
+++ b/app/code/Magento/Log/etc/di.xml
@@ -30,9 +30,6 @@
         </param>
     </type>
     <type name="Magento\Log\Model\Visitor">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
         <param name="ignoredUserAgents">
             <value>
                 <google1>Googlebot/1.0 (googlebot@googlebot.com http://googlebot.com/)</google1>
@@ -41,16 +38,4 @@
             </value>
         </param>
     </type>
-    <type name="Magento\Log\Model\Resource\Log">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-        <param name="ignores">
-            <value>
-                <install>install</install>
-                <adminhtml>adminhtml</adminhtml>
-                <admin>admin</admin>
-            </value>
-        </param>
-    </type>
 </config>
diff --git a/app/code/Magento/Newsletter/Helper/Data.php b/app/code/Magento/Newsletter/Helper/Data.php
index b51604f303de210ea3b2018620e62f38b444b19c..1111128060d2cf06bc7b4bc13bca052444095d8c 100644
--- a/app/code/Magento/Newsletter/Helper/Data.php
+++ b/app/code/Magento/Newsletter/Helper/Data.php
@@ -39,7 +39,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     /**
      * Url
      *
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_url;
 
@@ -47,11 +47,11 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      * Constructor
      *
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\UrlInterface $url
+     * @param \Magento\UrlInterface $url
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\UrlInterface $url
+        \Magento\UrlInterface $url
     ) {
         parent::__construct($context);
         $this->_url = $url;
diff --git a/app/code/Magento/Newsletter/Model/Queue.php b/app/code/Magento/Newsletter/Model/Queue.php
index 77b0ed99abc6a358759f0002461d66a2a1505491..ae8e581e959264211f29fcb4a88139c531c8e781 100644
--- a/app/code/Magento/Newsletter/Model/Queue.php
+++ b/app/code/Magento/Newsletter/Model/Queue.php
@@ -139,7 +139,7 @@ class Queue extends \Magento\Core\Model\Template
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\App\Emulation $appEmulation
@@ -154,7 +154,7 @@ class Queue extends \Magento\Core\Model\Template
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\App\Emulation $appEmulation,
diff --git a/app/code/Magento/Newsletter/Model/Resource/Problem/Collection.php b/app/code/Magento/Newsletter/Model/Resource/Problem/Collection.php
index 0817e7a1e9ddd3c2ed2f3aa7f91cd70ba9428737..818ff4a80a3273b1b760ed8cc1fdd487ac373629 100644
--- a/app/code/Magento/Newsletter/Model/Resource/Problem/Collection.php
+++ b/app/code/Magento/Newsletter/Model/Resource/Problem/Collection.php
@@ -57,7 +57,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -65,7 +65,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Newsletter/Model/Resource/Queue/Collection.php b/app/code/Magento/Newsletter/Model/Resource/Queue/Collection.php
index c8d19e9e2629b6470b213247361cc19493a207ca..42d5499f17586003a4064ba2d800ec978d9e1447 100644
--- a/app/code/Magento/Newsletter/Model/Resource/Queue/Collection.php
+++ b/app/code/Magento/Newsletter/Model/Resource/Queue/Collection.php
@@ -60,7 +60,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -68,7 +68,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Newsletter/Model/Resource/Subscriber/Collection.php b/app/code/Magento/Newsletter/Model/Resource/Subscriber/Collection.php
index 20a687ced5f53a57ddb6fedc8504799bacba31ce..de21c679c74317d7e636fe8e2765edd3b0dd19c5 100644
--- a/app/code/Magento/Newsletter/Model/Resource/Subscriber/Collection.php
+++ b/app/code/Magento/Newsletter/Model/Resource/Subscriber/Collection.php
@@ -82,7 +82,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -90,7 +90,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Newsletter/Model/Template.php b/app/code/Magento/Newsletter/Model/Template.php
index fc73a0c80ea26ae2926f24903e5966ee7ea22d41..680a672962134035a3615ee393a1f3d795f0cb64 100644
--- a/app/code/Magento/Newsletter/Model/Template.php
+++ b/app/code/Magento/Newsletter/Model/Template.php
@@ -82,7 +82,7 @@ class Template extends \Magento\Core\Model\Template
     /**
      * Http-request, used to determine current store in multi-store mode
      *
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
@@ -108,11 +108,11 @@ class Template extends \Magento\Core\Model\Template
     protected $_templateFactory;
 
     /**
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param \Magento\Newsletter\Model\Template\Filter $filter
      * @param \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig
      * @param \Magento\Newsletter\Model\TemplateFactory $templateFactory
@@ -120,11 +120,11 @@ class Template extends \Magento\Core\Model\Template
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Controller\Request\Http $request,
+        \Magento\App\RequestInterface $request,
         \Magento\Newsletter\Model\Template\Filter $filter,
         \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig,
         \Magento\Newsletter\Model\TemplateFactory $templateFactory,
diff --git a/app/code/Magento/Newsletter/etc/di.xml b/app/code/Magento/Newsletter/etc/di.xml
index 807ef648c1a2ecfc30f93067b45a2d1c289fbf85..b428f17ca3fe1f4651cd1599a904561afc6101ee 100644
--- a/app/code/Magento/Newsletter/etc/di.xml
+++ b/app/code/Magento/Newsletter/etc/di.xml
@@ -24,8 +24,8 @@
  */
 -->
 <config>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <newsletter_setup>Magento\Newsletter\Model\Resource\Setup</newsletter_setup>
             </value>
diff --git a/app/code/Magento/Oauth/Helper/Data.php b/app/code/Magento/Oauth/Helper/Data.php
index 6bee4929e0e070622fb937ac43c11c7f2b051bda..cc60e4f40592a611a13aa1f5cb57526418c267c8 100644
--- a/app/code/Magento/Oauth/Helper/Data.php
+++ b/app/code/Magento/Oauth/Helper/Data.php
@@ -103,7 +103,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     /**
      * Process HTTP request object and prepare for token validation
      *
-     * @param \Zend_Controller_Request_Http $httpRequest
+     * @param \Magento\App\RequestInterface $httpRequest
      * @param array $bodyParams array of key value body parameters
      * @return array
      */
@@ -255,12 +255,12 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      * Create response string for problem during request and set HTTP error code
      *
      * @param \Exception $exception
-     * @param \Zend_Controller_Response_Http $response OPTIONAL If NULL - will use internal getter
+     * @param \Magento\App\ResponseInterface $response OPTIONAL If NULL - will use internal getter
      * @return string
      */
     public function prepareErrorResponse(
         \Exception $exception,
-        \Zend_Controller_Response_Http $response = null
+        \Magento\App\ResponseInterface $response = null
     ) {
         $errorMap = $this->_errors;
         $errorsToHttpCode = $this->_errorsToHttpCode;
diff --git a/app/code/Magento/Oauth/Model/Consumer.php b/app/code/Magento/Oauth/Model/Consumer.php
index 025bd7ab90b4eb2cc0c36146388a9128f67a35f0..958bfb9380d292dc247db5ba0ff79234950b56a7 100644
--- a/app/code/Magento/Oauth/Model/Consumer.php
+++ b/app/code/Magento/Oauth/Model/Consumer.php
@@ -58,7 +58,7 @@ class Consumer extends \Magento\Core\Model\AbstractModel
     const SECRET_LENGTH = 32;
 
     /**
-     * @var \Magento\Core\Model\Url\Validator
+     * @var \Magento\Url\Validator
      */
     protected $urlValidator;
 
@@ -69,7 +69,7 @@ class Consumer extends \Magento\Core\Model\AbstractModel
 
     /**
      * @param \Magento\Oauth\Model\Consumer\Validator\KeyLengthFactory $keyLengthFactory
-     * @param \Magento\Core\Model\Url\Validator $urlValidator
+     * @param \Magento\Url\Validator $urlValidator
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
@@ -78,7 +78,7 @@ class Consumer extends \Magento\Core\Model\AbstractModel
      */
     public function __construct(
         \Magento\Oauth\Model\Consumer\Validator\KeyLengthFactory $keyLengthFactory,
-        \Magento\Core\Model\Url\Validator $urlValidator,
+        \Magento\Url\Validator $urlValidator,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
diff --git a/app/code/Magento/Oauth/Model/Token.php b/app/code/Magento/Oauth/Model/Token.php
index c37daa3b38330d8eb78025374764e1098d5b2f96..2b521313ba7c1e1d09771dbe49ad544ad72db8a4 100644
--- a/app/code/Magento/Oauth/Model/Token.php
+++ b/app/code/Magento/Oauth/Model/Token.php
@@ -87,7 +87,7 @@ class Token extends \Magento\Core\Model\AbstractModel
     protected $_consumerFactory;
 
     /**
-     * @var \Magento\Core\Model\Url\Validator
+     * @var \Magento\Url\Validator
      */
     protected $urlValidator;
 
@@ -98,7 +98,7 @@ class Token extends \Magento\Core\Model\AbstractModel
 
     /**
      * @param \Magento\Oauth\Model\Consumer\Validator\KeyLengthFactory $keyLengthFactory
-     * @param \Magento\Core\Model\Url\Validator $urlValidator
+     * @param \Magento\Url\Validator $urlValidator
      * @param \Magento\Oauth\Model\Consumer\Factory $consumerFactory
      * @param \Magento\Oauth\Helper\Service $oauthData
      * @param \Magento\Core\Model\Context $context
@@ -109,7 +109,7 @@ class Token extends \Magento\Core\Model\AbstractModel
      */
     public function __construct(
         \Magento\Oauth\Model\Consumer\Validator\KeyLengthFactory $keyLengthFactory,
-        \Magento\Core\Model\Url\Validator $urlValidator,
+        \Magento\Url\Validator $urlValidator,
         \Magento\Oauth\Model\Consumer\Factory $consumerFactory,
         \Magento\Oauth\Helper\Service $oauthData,
         \Magento\Core\Model\Context $context,
diff --git a/app/code/Magento/Ogone/Block/Placeform.php b/app/code/Magento/Ogone/Block/Placeform.php
index 499337ffd8ff5bfc56666a4081b5c2e8e8246806..8ceb4e11a346c6286c6c789b9d619593eb8af739 100644
--- a/app/code/Magento/Ogone/Block/Placeform.php
+++ b/app/code/Magento/Ogone/Block/Placeform.php
@@ -77,7 +77,7 @@ class Placeform extends \Magento\Core\Block\Template
     }
 
     /**
-     * Return order instance with loaded onformation by increment id
+     * Return order instance with loaded information by increment id
      *
      * @return \Magento\Sales\Model\Order
      */
diff --git a/app/code/Magento/Ogone/Model/Api.php b/app/code/Magento/Ogone/Model/Api.php
index dc45938c57d5c0bf69849b80076b9fcb8957b00f..1c0008bf831dcd258cc692c3e2bba7feaea427c1 100644
--- a/app/code/Magento/Ogone/Model/Api.php
+++ b/app/code/Magento/Ogone/Model/Api.php
@@ -189,7 +189,7 @@ class Api extends \Magento\Payment\Model\Method\AbstractMethod
     protected $_coreString = null;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
@@ -206,24 +206,24 @@ class Api extends \Magento\Payment\Model\Method\AbstractMethod
     /**
      * Construct
      * 
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Core\Helper\String $coreString
      * @param \Magento\Ogone\Model\Config $config
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\LocaleInterface $locale,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Core\Helper\String $coreString,
         \Magento\Ogone\Model\Config $config,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
@@ -433,9 +433,9 @@ class Api extends \Magento\Payment\Model\Method\AbstractMethod
     protected function _getOgonePaymentOperation()
     {
         $value = $this->getPaymentAction();
-        if ($value==Magento_Payment_Model_Method_AbstractMethod::ACTION_AUTHORIZE) {
+        if ($value == \Magento\Payment\Model\Method\AbstractMethod::ACTION_AUTHORIZE) {
             $value = \Magento\Ogone\Model\Api::OGONE_AUTHORIZE_ACTION;
-        } elseif ($value==Magento_Payment_Model_Method_AbstractMethod::ACTION_AUTHORIZE_CAPTURE) {
+        } elseif ($value == \Magento\Payment\Model\Method\AbstractMethod::ACTION_AUTHORIZE_CAPTURE) {
             $value = \Magento\Ogone\Model\Api::OGONE_AUTHORIZE_CAPTURE_ACTION;
         }
         return $value;
diff --git a/app/code/Magento/Ogone/Model/Config.php b/app/code/Magento/Ogone/Model/Config.php
index 7dc096c362e2408a6089577feee903bbcceea859..7539df6ea65ad0f8427788bdeaf3c625f48b59ff 100644
--- a/app/code/Magento/Ogone/Model/Config.php
+++ b/app/code/Magento/Ogone/Model/Config.php
@@ -41,18 +41,29 @@ class Config extends \Magento\Payment\Model\Config
     protected $_coreData = null;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
     /**
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Core\Helper\Data $coreData
+     * @param \Magento\Core\Model\Store\Config $coreStoreConfig
+     * @param \Magento\Core\Model\Config $coreConfig
+     * @param \Magento\Payment\Model\Method\Factory $paymentMethodFactory
+     * @param \Magento\Core\Model\LocaleInterface $locale
+     * @param \Magento\Config\DataInterface $dataStorage
      */
     public function __construct(
-        \Magento\Core\Model\UrlInterface $urlBuilder,
-        \Magento\Core\Helper\Data $coreData
+        \Magento\UrlInterface $urlBuilder,
+        \Magento\Core\Helper\Data $coreData,
+        \Magento\Core\Model\Store\Config $coreStoreConfig,
+        \Magento\Core\Model\Config $coreConfig,
+        \Magento\Payment\Model\Method\Factory $paymentMethodFactory,
+        \Magento\Core\Model\LocaleInterface $locale,
+        \Magento\Config\DataInterface $dataStorage
     ) {
+        parent::__construct($coreStoreConfig, $coreConfig, $paymentMethodFactory, $locale, $dataStorage);
         $this->_urlBuilder = $urlBuilder;
         $this->_coreData = $coreData;
     }
diff --git a/app/code/Magento/Page/Block/Html/Head.php b/app/code/Magento/Page/Block/Html/Head.php
index 9e9715f762deada96c80c63945c0922b5de5a4a4..9a920200f54bf674c7ffb61db6bbaabb3fc5b34d 100644
--- a/app/code/Magento/Page/Block/Html/Head.php
+++ b/app/code/Magento/Page/Block/Html/Head.php
@@ -90,7 +90,7 @@ class Head extends \Magento\Core\Block\Template
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dir;
 
@@ -101,7 +101,7 @@ class Head extends \Magento\Core\Block\Template
 
     /**
      * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Helper\File\Storage\Database $fileStorageDatabase
      * @param \Magento\Core\Helper\Data $coreData
@@ -114,7 +114,7 @@ class Head extends \Magento\Core\Block\Template
      */
     public function __construct(
         \Magento\Core\Model\LocaleInterface $locale,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Helper\File\Storage\Database $fileStorageDatabase,
         \Magento\Core\Helper\Data $coreData,
diff --git a/app/code/Magento/Page/Block/Html/Header.php b/app/code/Magento/Page/Block/Html/Header.php
index 9c72976000e335a0d755422ed9eb646fdb326b4c..4028d10002bff500bc6d7253374a859ff23b67f7 100644
--- a/app/code/Magento/Page/Block/Html/Header.php
+++ b/app/code/Magento/Page/Block/Html/Header.php
@@ -41,19 +41,19 @@ class Header extends \Magento\Core\Block\Template
     protected $_customerSession;
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
     /**
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Block\Template\Context $context
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Customer\Model\Session $customerSession,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Block\Template\Context $context,
@@ -131,7 +131,7 @@ class Header extends \Magento\Core\Block\Template
         $storeLogoPath = $this->_storeConfig->getConfig('design/header/logo_src');
         $logoUrl = $this->_urlBuilder->getBaseUrl(array('_type' => \Magento\Core\Model\Store::URL_TYPE_MEDIA))
             . $folderName . '/' . $storeLogoPath;
-        $absolutePath = $this->_dirs->getDir(\Magento\Core\Model\Dir::MEDIA) . DIRECTORY_SEPARATOR
+        $absolutePath = $this->_dirs->getDir(\Magento\App\Dir::MEDIA) . DIRECTORY_SEPARATOR
             . $folderName . DIRECTORY_SEPARATOR . $storeLogoPath;
 
         if (!is_null($storeLogoPath) && $this->_isFile($absolutePath)) {
diff --git a/app/code/Magento/Page/Block/Html/Welcome.php b/app/code/Magento/Page/Block/Html/Welcome.php
index 099fae0df0f82fbb0554af8316a32c2f30da354e..e9588db92f73a56ee42efbe660dc1d37e052b3ed 100644
--- a/app/code/Magento/Page/Block/Html/Welcome.php
+++ b/app/code/Magento/Page/Block/Html/Welcome.php
@@ -36,18 +36,18 @@ namespace Magento\Page\Block\Html;
 class Welcome extends \Magento\Core\Block\Template
 {
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Block\Template\Context $context
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Block\Template\Context $context,
         array $data = array()
diff --git a/app/code/Magento/Page/Block/Js/Components.php b/app/code/Magento/Page/Block/Js/Components.php
index 41b2c7e2f6f5440b17f8f1cc241fd37012045c97..1c1e3116fbfbf187a5e063dfe0a90e5e6506a123 100644
--- a/app/code/Magento/Page/Block/Js/Components.php
+++ b/app/code/Magento/Page/Block/Js/Components.php
@@ -29,20 +29,20 @@ namespace Magento\Page\Block\Js;
 class Components extends \Magento\Core\Block\Template
 {
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
     /**
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Block\Template\Context $context
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param array $data
      */
     public function __construct(
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Block\Template\Context $context,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         array $data = array()
     ) {
         parent::__construct($coreData, $context, $data);
@@ -54,6 +54,6 @@ class Components extends \Magento\Core\Block\Template
      */
     public function isDeveloperMode()
     {
-        return $this->_appState->getMode() == \Magento\Core\Model\App\State::MODE_DEVELOPER;
+        return $this->_appState->getMode() == \Magento\App\State::MODE_DEVELOPER;
     }
 }
diff --git a/app/code/Magento/Page/Helper/Layout.php b/app/code/Magento/Page/Helper/Layout.php
index d0f750cbda1fcdc1029c10e9350c71b3686e1e65..10986749410fbe35ba17ec1b411f2358cfd65882 100644
--- a/app/code/Magento/Page/Helper/Layout.php
+++ b/app/code/Magento/Page/Helper/Layout.php
@@ -36,7 +36,7 @@ namespace Magento\Page\Helper;
 class Layout extends \Magento\Core\Helper\AbstractHelper
 {
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -47,12 +47,12 @@ class Layout extends \Magento\Core\Helper\AbstractHelper
 
     /**
      * @param \Magento\Page\Model\Config $config
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param \Magento\Core\Helper\Context $context
      */
     public function __construct(
         \Magento\Page\Model\Config $config,
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         \Magento\Core\Helper\Context $context
     ) {
         parent::__construct($context);
diff --git a/app/code/Magento/Paygate/Model/Authorizenet.php b/app/code/Magento/Paygate/Model/Authorizenet.php
index a5951a0a4f16971befe0f7d14a02fa1adbf7d0ac..c79fd2a9da494fd10f0cc452e9cb4f206d4624dd 100644
--- a/app/code/Magento/Paygate/Model/Authorizenet.php
+++ b/app/code/Magento/Paygate/Model/Authorizenet.php
@@ -239,9 +239,9 @@ class Authorizenet extends \Magento\Payment\Model\Method\Cc
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
      * @param \Magento\Core\Model\Session\AbstractSession $session
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Paygate\Helper\Data $paygateData
-     * @param \Magento\Core\Model\ModuleListInterface $moduleList
+     * @param \Magento\App\ModuleListInterface $moduleList
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
@@ -256,9 +256,9 @@ class Authorizenet extends \Magento\Payment\Model\Method\Cc
         \Magento\Sales\Model\OrderFactory $orderFactory,
         \Magento\Core\Model\Session\AbstractSession $session,
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Paygate\Helper\Data $paygateData,
-        \Magento\Core\Model\ModuleListInterface $moduleList,
+        \Magento\App\ModuleListInterface $moduleList,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
diff --git a/app/code/Magento/Payment/Helper/Data.php b/app/code/Magento/Payment/Helper/Data.php
index 51423c76a4911a89970d073d4544eb05d81b18d6..c8abd936ef18fd500102a9c498511551acf3149d 100644
--- a/app/code/Magento/Payment/Helper/Data.php
+++ b/app/code/Magento/Payment/Helper/Data.php
@@ -44,7 +44,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     /**
      * Layout
      *
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -74,7 +74,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      *
      * @param \Magento\Core\Helper\Context $context
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param \Magento\Payment\Model\Method\Factory $paymentMethodFactory
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\App\Emulation $appEmulation
@@ -83,7 +83,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     public function __construct(
         \Magento\Core\Helper\Context $context,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         \Magento\Payment\Model\Method\Factory $paymentMethodFactory,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\App\Emulation $appEmulation,
diff --git a/app/code/Magento/Payment/Model/Method/AbstractMethod.php b/app/code/Magento/Payment/Model/Method/AbstractMethod.php
index e32b415b96029e3bf1afe6e58faab4e8c10cb342..8bb3acd26fa381dc44259490b80b9e5607524126 100644
--- a/app/code/Magento/Payment/Model/Method/AbstractMethod.php
+++ b/app/code/Magento/Payment/Model/Method/AbstractMethod.php
@@ -122,7 +122,7 @@ abstract class AbstractMethod extends \Magento\Object
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -136,14 +136,14 @@ abstract class AbstractMethod extends \Magento\Object
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
diff --git a/app/code/Magento/Payment/Model/Method/Cc.php b/app/code/Magento/Payment/Model/Method/Cc.php
index 3925b4065c8fc2b1bfb462df43b30f578eef10b6..577b38313c745b7aaf9d503ae4847dd8969cead1 100644
--- a/app/code/Magento/Payment/Model/Method/Cc.php
+++ b/app/code/Magento/Payment/Model/Method/Cc.php
@@ -33,7 +33,7 @@ class Cc extends \Magento\Payment\Model\Method\AbstractMethod
     protected $_canSaveCc     = false;
 
     /**
-     * @var \Magento\Core\Model\ModuleListInterface
+     * @var \Magento\App\ModuleListInterface
      */
     protected $_moduleList;
 
@@ -62,9 +62,9 @@ class Cc extends \Magento\Payment\Model\Method\AbstractMethod
      * Construct
      *
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\ModuleListInterface $moduleList
+     * @param \Magento\App\ModuleListInterface $moduleList
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
      * @param \Magento\Core\Model\LocaleInterface $locale
@@ -73,9 +73,9 @@ class Cc extends \Magento\Payment\Model\Method\AbstractMethod
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\ModuleListInterface $moduleList,
+        \Magento\App\ModuleListInterface $moduleList,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
         \Magento\Core\Model\LocaleInterface $locale,
diff --git a/app/code/Magento/Payment/Model/Method/Free.php b/app/code/Magento/Payment/Model/Method/Free.php
index e359032fc86ee0a90cd71d5f6c14946df247d73d..da2eb6c120ead6fa2eb483fd5e444d0e2dcc63da 100644
--- a/app/code/Magento/Payment/Model/Method/Free.php
+++ b/app/code/Magento/Payment/Model/Method/Free.php
@@ -61,7 +61,7 @@ class Free extends \Magento\Payment\Model\Method\AbstractMethod
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
@@ -69,7 +69,7 @@ class Free extends \Magento\Payment\Model\Method\AbstractMethod
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
diff --git a/app/code/Magento/Payment/etc/di.xml b/app/code/Magento/Payment/etc/di.xml
index 6a264f787900ee2ad809f7637f56b280eb816d5b..e2e5198884e20a81b0b8202934224f28c3fa0f7d 100644
--- a/app/code/Magento/Payment/etc/di.xml
+++ b/app/code/Magento/Payment/etc/di.xml
@@ -24,21 +24,6 @@
  */
 -->
 <config>
-    <type name="Magento\Payment\Model\Method\AbstractMethod">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Paypal\Model\Cart">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Paypal\Model\Payment\Transaction">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Payment\Model\Config\Reader">
         <param name="fileName">
             <value>payment.xml</value>
diff --git a/app/code/Magento/Paypal/Controller/Express.php b/app/code/Magento/Paypal/Controller/Express.php
index ac44a462e640aa32e227b0d16e816fffc1562cc7..8445f06224ee8249c645d47af6978f08b9b41a66 100644
--- a/app/code/Magento/Paypal/Controller/Express.php
+++ b/app/code/Magento/Paypal/Controller/Express.php
@@ -63,7 +63,7 @@ class Express extends \Magento\Paypal\Controller\Express\AbstractExpress
     /**
      * @param \Magento\Core\Controller\Varien\Action\Context $context
      * @param \Magento\Customer\Model\Session $customerSession
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Sales\Model\QuoteFactory $quoteFactory
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
@@ -77,7 +77,7 @@ class Express extends \Magento\Paypal\Controller\Express\AbstractExpress
     public function __construct(
         \Magento\Core\Controller\Varien\Action\Context $context,
         \Magento\Customer\Model\Session $customerSession,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Sales\Model\QuoteFactory $quoteFactory,
         \Magento\Checkout\Model\Session $checkoutSession,
         \Magento\Sales\Model\OrderFactory $orderFactory,
diff --git a/app/code/Magento/Paypal/Controller/Express/AbstractExpress.php b/app/code/Magento/Paypal/Controller/Express/AbstractExpress.php
index b2427eaf6940a2226d07c64466dbc6fc8d04afd3..2ceb18108582e7acf555c1ad541a3cb8bf336732 100644
--- a/app/code/Magento/Paypal/Controller/Express/AbstractExpress.php
+++ b/app/code/Magento/Paypal/Controller/Express/AbstractExpress.php
@@ -80,7 +80,7 @@ abstract class AbstractExpress extends \Magento\Core\Controller\Front\Action
     protected $_customerSession;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
@@ -112,7 +112,7 @@ abstract class AbstractExpress extends \Magento\Core\Controller\Front\Action
     /**
      * @param \Magento\Core\Controller\Varien\Action\Context $context
      * @param \Magento\Customer\Model\Session $customerSession
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Sales\Model\QuoteFactory $quoteFactory
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
@@ -122,7 +122,7 @@ abstract class AbstractExpress extends \Magento\Core\Controller\Front\Action
     public function __construct(
         \Magento\Core\Controller\Varien\Action\Context $context,
         \Magento\Customer\Model\Session $customerSession,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Sales\Model\QuoteFactory $quoteFactory,
         \Magento\Checkout\Model\Session $checkoutSession,
         \Magento\Sales\Model\OrderFactory $orderFactory,
diff --git a/app/code/Magento/Paypal/Controller/Payflowadvanced.php b/app/code/Magento/Paypal/Controller/Payflowadvanced.php
index bc453b5f5271d182424ea4bdd7b1b67c63bcc49a..e47af1598a87018746a74e8779371d2bb77c82a1 100644
--- a/app/code/Magento/Paypal/Controller/Payflowadvanced.php
+++ b/app/code/Magento/Paypal/Controller/Payflowadvanced.php
@@ -63,7 +63,7 @@ class Payflowadvanced extends \Magento\Paypal\Controller\Express\AbstractExpress
     /**
      * @param \Magento\Core\Controller\Varien\Action\Context $context
      * @param \Magento\Customer\Model\Session $customerSession
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Sales\Model\QuoteFactory $quoteFactory
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
@@ -76,7 +76,7 @@ class Payflowadvanced extends \Magento\Paypal\Controller\Express\AbstractExpress
     public function __construct(
         \Magento\Core\Controller\Varien\Action\Context $context,
         \Magento\Customer\Model\Session $customerSession,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Sales\Model\QuoteFactory $quoteFactory,
         \Magento\Checkout\Model\Session $checkoutSession,
         \Magento\Sales\Model\OrderFactory $orderFactory,
diff --git a/app/code/Magento/Paypal/Controller/Standard.php b/app/code/Magento/Paypal/Controller/Standard.php
index b461e8336365494aacab51606fceccdbd55ea8d2..067d2eb018a0e33792b2509ca95c6f05d62d9b5a 100644
--- a/app/code/Magento/Paypal/Controller/Standard.php
+++ b/app/code/Magento/Paypal/Controller/Standard.php
@@ -93,7 +93,7 @@ class Standard extends \Magento\Core\Controller\Front\Action
             $order = $this->_objectManager->create('Magento\Sales\Model\Order')
                 ->loadByIncrementId($session->getLastRealOrderId());
             if ($order->getId()) {
-                $this->_objectManager->get('Magento\Core\Model\Event\Manager')->dispatch(
+                $this->_objectManager->get('Magento\Event\ManagerInterface')->dispatch(
                     'paypal_payment_cancel',
                     array(
                         'order' => $order,
diff --git a/app/code/Magento/Paypal/Helper/Hss.php b/app/code/Magento/Paypal/Helper/Hss.php
index 2da590c3e79be26a76f1f5dcd88b6f279e2df209..01fa0368572fe5ade9da76a08f4a74c3d180cf7d 100644
--- a/app/code/Magento/Paypal/Helper/Hss.php
+++ b/app/code/Magento/Paypal/Helper/Hss.php
@@ -46,19 +46,19 @@ class Hss extends \Magento\Core\Helper\AbstractHelper
     protected $_checkoutSession;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
      * @param \Magento\Core\Helper\Context $context
      * @param \Magento\Checkout\Model\Session $checkoutSession
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
         \Magento\Checkout\Model\Session $checkoutSession,
-        \Magento\Core\Model\Layout $layout
+        \Magento\View\LayoutInterface $layout
     ) {
         $this->_checkoutSession = $checkoutSession;
         $this->_layout = $layout;
diff --git a/app/code/Magento/Paypal/Model/Cart.php b/app/code/Magento/Paypal/Model/Cart.php
index 18b4c918d5906162ea5383ae89c83871262a94e0..b805e7236a507b9451c8de7355aba869682e04af 100644
--- a/app/code/Magento/Paypal/Model/Cart.php
+++ b/app/code/Magento/Paypal/Model/Cart.php
@@ -111,7 +111,7 @@ class Cart
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -121,13 +121,13 @@ class Cart
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param array $params
      * @throws \Exception
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         $params = array()
     ) {
diff --git a/app/code/Magento/Paypal/Model/Cert.php b/app/code/Magento/Paypal/Model/Cert.php
index 4b12a573464443e6ce4032f50b9dc8ee85e8c3d8..b6d50975ff98616cccab24ce922ca4107eb30c92 100644
--- a/app/code/Magento/Paypal/Model/Cert.php
+++ b/app/code/Magento/Paypal/Model/Cert.php
@@ -44,7 +44,7 @@ class Cert extends \Magento\Core\Model\AbstractModel
     protected $_coreData;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_coreDir;
 
@@ -52,7 +52,7 @@ class Cert extends \Magento\Core\Model\AbstractModel
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -61,7 +61,7 @@ class Cert extends \Magento\Core\Model\AbstractModel
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
@@ -157,7 +157,7 @@ class Cert extends \Magento\Core\Model\AbstractModel
      */
     protected function _getBaseDir()
     {
-        return $this->_coreDir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . self::BASEPATH_PAYPAL_CERT;
+        return $this->_coreDir->getDir(\Magento\App\Dir::VAR_DIR) . DS . self::BASEPATH_PAYPAL_CERT;
     }
 
     /**
diff --git a/app/code/Magento/Paypal/Model/Direct.php b/app/code/Magento/Paypal/Model/Direct.php
index dc5f2936c14868fc6ac373796e396bd1a41962c5..f671cdad2b9d7a2870affd81748722b3d0567542 100644
--- a/app/code/Magento/Paypal/Model/Direct.php
+++ b/app/code/Magento/Paypal/Model/Direct.php
@@ -84,12 +84,12 @@ class Direct extends \Magento\Payment\Model\Method\Cc
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_requestHttp;
 
@@ -100,17 +100,17 @@ class Direct extends \Magento\Payment\Model\Method\Cc
 
     /**
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\ModuleListInterface $moduleList
+     * @param \Magento\App\ModuleListInterface $moduleList
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
      * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Centinel\Model\Service $centinelService
      * @param \Magento\Paypal\Model\Method\ProTypeFactory $proTypeFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
-     * @param \Magento\Core\Controller\Request\Http $requestHttp
+     * @param \Magento\UrlInterface $urlBuilder
+     * @param \Magento\App\RequestInterface $requestHttp
      * @param \Magento\Paypal\Model\CartFactory $cartFactory
      * @param array $data
      *
@@ -118,17 +118,17 @@ class Direct extends \Magento\Payment\Model\Method\Cc
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\ModuleListInterface $moduleList,
+        \Magento\App\ModuleListInterface $moduleList,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
         \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Centinel\Model\Service $centinelService,
         \Magento\Paypal\Model\Method\ProTypeFactory $proTypeFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
-        \Magento\Core\Controller\Request\Http $requestHttp,
+        \Magento\UrlInterface $urlBuilder,
+        \Magento\App\RequestInterface $requestHttp,
         \Magento\Paypal\Model\CartFactory $cartFactory,
         array $data = array()
     ) {
diff --git a/app/code/Magento/Paypal/Model/Express.php b/app/code/Magento/Paypal/Model/Express.php
index 40def386897266eee6f9d265b1795271282415d7..fa9cac4cf233205de111a560d5985bb884f0ffd7 100644
--- a/app/code/Magento/Paypal/Model/Express.php
+++ b/app/code/Magento/Paypal/Model/Express.php
@@ -103,7 +103,7 @@ class Express extends \Magento\Payment\Model\Method\AbstractMethod
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
@@ -113,24 +113,24 @@ class Express extends \Magento\Payment\Model\Method\AbstractMethod
     protected $_cartFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
      * @param \Magento\Paypal\Model\Method\ProTypeFactory $proTypeFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Paypal\Model\CartFactory $cartFactory
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
         \Magento\Paypal\Model\Method\ProTypeFactory $proTypeFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Paypal\Model\CartFactory $cartFactory,
         array $data = array()
     ) {
diff --git a/app/code/Magento/Paypal/Model/Hostedpro.php b/app/code/Magento/Paypal/Model/Hostedpro.php
index 324b76e18dbcda6b1a20a2fbc77c827109c78ede..9a70f8e3944435e9a90c645d64b799a623c3dc83 100644
--- a/app/code/Magento/Paypal/Model/Hostedpro.php
+++ b/app/code/Magento/Paypal/Model/Hostedpro.php
@@ -79,17 +79,17 @@ class Hostedpro extends \Magento\Paypal\Model\Direct
 
     /**
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\ModuleListInterface $moduleList
+     * @param \Magento\App\ModuleListInterface $moduleList
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
      * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Centinel\Model\Service $centinelService
      * @param \Magento\Paypal\Model\Method\ProTypeFactory $proTypeFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
-     * @param \Magento\Core\Controller\Request\Http $requestHttp
+     * @param \Magento\UrlInterface $urlBuilder
+     * @param \Magento\App\RequestInterface $requestHttp
      * @param \Magento\Paypal\Model\CartFactory $cartFactory
      * @param \Magento\Paypal\Model\Hostedpro\RequestFactory $hostedproRequestFactory
      * @param array $data
@@ -98,17 +98,17 @@ class Hostedpro extends \Magento\Paypal\Model\Direct
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\ModuleListInterface $moduleList,
+        \Magento\App\ModuleListInterface $moduleList,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
         \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Centinel\Model\Service $centinelService,
         \Magento\Paypal\Model\Method\ProTypeFactory $proTypeFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
-        \Magento\Core\Controller\Request\Http $requestHttp,
+        \Magento\UrlInterface $urlBuilder,
+        \Magento\App\RequestInterface $requestHttp,
         \Magento\Paypal\Model\CartFactory $cartFactory,
         \Magento\Paypal\Model\Hostedpro\RequestFactory $hostedproRequestFactory,
         array $data = array()
diff --git a/app/code/Magento/Paypal/Model/Ipn.php b/app/code/Magento/Paypal/Model/Ipn.php
index d62553639b3de0dc1660f42f02f127c0e46340a8..a4930e9350b03ad0ec447bac05cdd0216a4ac863 100644
--- a/app/code/Magento/Paypal/Model/Ipn.php
+++ b/app/code/Magento/Paypal/Model/Ipn.php
@@ -80,7 +80,7 @@ class Ipn
     protected $_orderFactory;
 
     /**
-     * @var \Magento\Core\Controller\Response\Http
+     * @var \Magento\App\ResponseInterface
      */
     protected $_responseHttp;
 
@@ -96,7 +96,7 @@ class Ipn
 
     /**
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
-     * @param \Magento\Core\Controller\Response\Http $responseHttp
+     * @param \Magento\App\ResponseInterface $responseHttp
      * @param \Magento\Paypal\Model\ConfigFactory $configFactory
      * @param \Magento\Sales\Model\Recurring\ProfileFactory $profileFactory
      * @param \Magento\Paypal\Model\Info $paypalInfo
@@ -104,7 +104,7 @@ class Ipn
      */
     public function __construct(
         \Magento\Sales\Model\OrderFactory $orderFactory,
-        \Magento\Core\Controller\Response\Http $responseHttp,
+        \Magento\App\ResponseInterface $responseHttp,
         \Magento\Paypal\Model\ConfigFactory $configFactory,
         \Magento\Sales\Model\Recurring\ProfileFactory $profileFactory,
         \Magento\Paypal\Model\Info $paypalInfo,
diff --git a/app/code/Magento/Paypal/Model/Method/Agreement.php b/app/code/Magento/Paypal/Model/Method/Agreement.php
index b9ac4d1f23f4f00b0d09eccd7938649eabe20fca..1f539b472157ec02413a2773655c492ee9b9c9f9 100644
--- a/app/code/Magento/Paypal/Model/Method/Agreement.php
+++ b/app/code/Magento/Paypal/Model/Method/Agreement.php
@@ -66,7 +66,7 @@ class Agreement extends \Magento\Sales\Model\Payment\Method\Billing\AbstractAgre
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
@@ -76,28 +76,28 @@ class Agreement extends \Magento\Sales\Model\Payment\Method\Billing\AbstractAgre
     protected $_cartFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Paypal\Model\Method\ProTypeFactory $proTypeFactory
      * @param \Magento\Sales\Model\Billing\AgreementFactory $agreementFactory
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Paypal\Model\CartFactory $cartFactory
      * @param array $data
      *
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
         \Magento\Sales\Model\Billing\AgreementFactory $agreementFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Paypal\Model\Method\ProTypeFactory $proTypeFactory,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Paypal\Model\CartFactory $cartFactory,
         array $data = array()
     ) {
diff --git a/app/code/Magento/Paypal/Model/Payflowlink.php b/app/code/Magento/Paypal/Model/Payflowlink.php
index 8dd2b00938bcdba7e749be2df0bb128ff2440aa8..61410d9f25a82c72ead2d0cca56aa9ae1d44daf8 100644
--- a/app/code/Magento/Paypal/Model/Payflowlink.php
+++ b/app/code/Magento/Paypal/Model/Payflowlink.php
@@ -141,9 +141,9 @@ class Payflowlink extends \Magento\Paypal\Model\Payflowpro
 
     /**
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\ModuleListInterface $moduleList
+     * @param \Magento\App\ModuleListInterface $moduleList
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
      * @param \Magento\Core\Model\LocaleInterface $locale
@@ -154,7 +154,7 @@ class Payflowlink extends \Magento\Paypal\Model\Payflowpro
      * @param \Magento\Paypal\Model\Payflow\RequestFactory $requestFactory
      * @param \Magento\Sales\Model\QuoteFactory $quoteFactory
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
-     * @param \Magento\Core\Controller\Request\Http $requestHttp
+     * @param \Magento\App\RequestInterface $requestHttp
      * @param \Magento\Core\Model\WebsiteFactory $websiteFactory
      * @param array $data
      *
@@ -162,9 +162,9 @@ class Payflowlink extends \Magento\Paypal\Model\Payflowpro
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\ModuleListInterface $moduleList,
+        \Magento\App\ModuleListInterface $moduleList,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
         \Magento\Core\Model\LocaleInterface $locale,
@@ -175,7 +175,7 @@ class Payflowlink extends \Magento\Paypal\Model\Payflowpro
         \Magento\Paypal\Model\Payflow\RequestFactory $requestFactory,
         \Magento\Sales\Model\QuoteFactory $quoteFactory,
         \Magento\Sales\Model\OrderFactory $orderFactory,
-        \Magento\Core\Controller\Request\Http $requestHttp,
+        \Magento\App\RequestInterface $requestHttp,
         \Magento\Core\Model\WebsiteFactory $websiteFactory,
         array $data = array()
     ) {
diff --git a/app/code/Magento/Paypal/Model/Payflowpro.php b/app/code/Magento/Paypal/Model/Payflowpro.php
index 7640898d2a58a7a4d766d7711a1816254c43e865..5f2496cc75679e0db178f955c2d2632d7ee47f46 100644
--- a/app/code/Magento/Paypal/Model/Payflowpro.php
+++ b/app/code/Magento/Paypal/Model/Payflowpro.php
@@ -132,9 +132,9 @@ class Payflowpro extends  \Magento\Payment\Model\Method\Cc
 
     /**
      * @param \Magento\Core\Model\Logger $logger
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
-     * @param \Magento\Core\Model\ModuleListInterface $moduleList
+     * @param \Magento\App\ModuleListInterface $moduleList
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
      * @param \Magento\Core\Model\LocaleInterface $locale
@@ -148,9 +148,9 @@ class Payflowpro extends  \Magento\Payment\Model\Method\Cc
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
-        \Magento\Core\Model\ModuleListInterface $moduleList,
+        \Magento\App\ModuleListInterface $moduleList,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
         \Magento\Core\Model\LocaleInterface $locale,
@@ -214,7 +214,7 @@ class Payflowpro extends  \Magento\Payment\Model\Method\Cc
     /**
      * Authorize payment
      *
-     * @param \\Magento\Object|\\Magento\Sales\Model\Order\Payment $payment
+     * @param \Magento\Object|\Magento\Sales\Model\Order\Payment $payment
      * @param float $amount
      * @return \Magento\Paypal\Model\Payflowpro
      */
@@ -244,7 +244,7 @@ class Payflowpro extends  \Magento\Payment\Model\Method\Cc
     /**
      * Capture payment
      *
-     * @param \\Magento\Object|\\Magento\Sales\Model\Order\Payment $payment
+     * @param \Magento\Object|\Magento\Sales\Model\Order\Payment $payment
      * @param float $amount
      * @return \Magento\Paypal\Model\Payflowpro
      */
@@ -284,7 +284,7 @@ class Payflowpro extends  \Magento\Payment\Model\Method\Cc
     /**
      * Void payment
      *
-     * @param \\Magento\Object|\\Magento\Sales\Model\Order\Payment $payment
+     * @param \Magento\Object|\Magento\Sales\Model\Order\Payment $payment
      * @return \Magento\Paypal\Model\Payflowpro
      */
     public function void(\Magento\Object $payment)
@@ -318,7 +318,7 @@ class Payflowpro extends  \Magento\Payment\Model\Method\Cc
     /**
      * Refund capture
      *
-     * @param \\Magento\Object|\\Magento\Sales\Model\Order\Payment $payment
+     * @param \Magento\Object|\Magento\Sales\Model\Order\Payment $payment
      * @param float $amount
      * @return \Magento\Paypal\Model\Payflowpro
      */
@@ -472,7 +472,7 @@ class Payflowpro extends  \Magento\Payment\Model\Method\Cc
     /**
      * Return request object with information for 'authorization' or 'sale' action
      *
-     * @param \\Magento\Object|\\Magento\Sales\Model\Order\Payment $payment
+     * @param \Magento\Object|\Magento\Sales\Model\Order\Payment $payment
      * @param float $amount
      * @return \Magento\Object
      */
@@ -527,7 +527,7 @@ class Payflowpro extends  \Magento\Payment\Model\Method\Cc
     /**
      * Return request object with basic information for gateway request
      *
-     * @param \\Magento\Object|\\Magento\Sales\Model\Order\Payment $payment
+     * @param \Magento\Object|\Magento\Sales\Model\Order\Payment $payment
      * @return \Magento\Object
      */
     protected function _buildBasicRequest(\Magento\Object $payment)
diff --git a/app/code/Magento/Paypal/Model/Payment/Transaction.php b/app/code/Magento/Paypal/Model/Payment/Transaction.php
index 505b756eaae263844c232f761fc2c74df61e1912..2c7533f7cb4cf45fe1377c2746621760627d9193 100644
--- a/app/code/Magento/Paypal/Model/Payment/Transaction.php
+++ b/app/code/Magento/Paypal/Model/Payment/Transaction.php
@@ -69,7 +69,7 @@ class Transaction extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -79,7 +79,7 @@ class Transaction extends \Magento\Core\Model\AbstractModel
     protected $_dateFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Core\Model\DateFactory $dateFactory
@@ -88,7 +88,7 @@ class Transaction extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Core\Model\DateFactory $dateFactory,
diff --git a/app/code/Magento/Paypal/Model/Report/Settlement.php b/app/code/Magento/Paypal/Model/Report/Settlement.php
index 52bf7100bda31eaa60ab7d5e14ad2f1ffa2be6ba..ea17542067c966a5f6790297197a07f75669324f 100644
--- a/app/code/Magento/Paypal/Model/Report/Settlement.php
+++ b/app/code/Magento/Paypal/Model/Report/Settlement.php
@@ -159,7 +159,7 @@ class Settlement extends \Magento\Core\Model\AbstractModel
     );
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_coreDir;
 
@@ -171,7 +171,7 @@ class Settlement extends \Magento\Core\Model\AbstractModel
     /**
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
@@ -180,7 +180,7 @@ class Settlement extends \Magento\Core\Model\AbstractModel
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
@@ -231,7 +231,7 @@ class Settlement extends \Magento\Core\Model\AbstractModel
         $fetched = 0;
         $listing = $this->_filterReportsList($connection->rawls());
         foreach ($listing as $filename => $attributes) {
-            $localCsv = tempnam($this->_coreDir->getDir(\Magento\Core\Model\Dir::TMP), 'PayPal_STL');
+            $localCsv = tempnam($this->_coreDir->getDir(\Magento\App\Dir::TMP), 'PayPal_STL');
             if ($connection->read($filename, $localCsv)) {
                 if (!is_writable($localCsv)) {
                     throw new \Magento\Core\Exception(__('We cannot create a target file for reading reports.'));
diff --git a/app/code/Magento/Paypal/Model/Standard.php b/app/code/Magento/Paypal/Model/Standard.php
index cead16f362b3caac51aaa56f673412f1a4271aef..1b25bc6b720fd679dd60f2d6c53932fadd944207 100644
--- a/app/code/Magento/Paypal/Model/Standard.php
+++ b/app/code/Magento/Paypal/Model/Standard.php
@@ -68,7 +68,7 @@ class Standard extends \Magento\Payment\Model\Method\AbstractMethod
     protected $_checkoutSession;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
 
@@ -98,13 +98,13 @@ class Standard extends \Magento\Payment\Model\Method\AbstractMethod
     protected $_configFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
      * @param \Magento\Core\Model\Session\Generic $paypalSession
      * @param \Magento\Checkout\Model\Session $checkoutSession
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
      * @param \Magento\Paypal\Model\Api\StandardFactory $apiStandardFactory
@@ -115,13 +115,13 @@ class Standard extends \Magento\Payment\Model\Method\AbstractMethod
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
         \Magento\Core\Model\Session\Generic $paypalSession,
         \Magento\Checkout\Model\Session $checkoutSession,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Sales\Model\OrderFactory $orderFactory,
         \Magento\Paypal\Model\Api\StandardFactory $apiStandardFactory,
diff --git a/app/code/Magento/Paypal/etc/di.xml b/app/code/Magento/Paypal/etc/di.xml
index dd6094b824f2b67b7455b04bea39cd19c46b6695..8fdbdbc7fd947b00609d5b445d59da171f386e8a 100644
--- a/app/code/Magento/Paypal/etc/di.xml
+++ b/app/code/Magento/Paypal/etc/di.xml
@@ -24,8 +24,8 @@
  */
 -->
 <config>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <paypal_setup>Magento\Sales\Model\Resource\Setup</paypal_setup>
             </value>
diff --git a/app/code/Magento/PaypalUk/Model/Express.php b/app/code/Magento/PaypalUk/Model/Express.php
index 2bf1884d635995a7a088dbc8a4563eb6e90d25f5..155b82aa0e47ee103bb635b874d9113d04be5e2d 100644
--- a/app/code/Magento/PaypalUk/Model/Express.php
+++ b/app/code/Magento/PaypalUk/Model/Express.php
@@ -57,25 +57,25 @@ class Express extends \Magento\Paypal\Model\Express
 
     /**
      * @param \Magento\Paypal\Model\InfoFactory $paypalInfoFactory
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
      * @param \Magento\Paypal\Model\Method\ProTypeFactory $proTypeFactory
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Paypal\Model\CartFactory $cartFactory
      * @param array $data
      */
     public function __construct(
         \Magento\Paypal\Model\InfoFactory $paypalInfoFactory,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
         \Magento\Paypal\Model\Method\ProTypeFactory $proTypeFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Paypal\Model\CartFactory $cartFactory,
         array $data = array()
     ) {
diff --git a/app/code/Magento/Persistent/Helper/Data.php b/app/code/Magento/Persistent/Helper/Data.php
index 1d5dd26675f8efe644b5daeba0ea33e09287411f..22107706a0d895dbe4ba88f15fe1708d24b0d4de 100644
--- a/app/code/Magento/Persistent/Helper/Data.php
+++ b/app/code/Magento/Persistent/Helper/Data.php
@@ -68,14 +68,14 @@ class Data extends \Magento\Core\Helper\Data
 
     /**
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Http $coreHttp
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\Core\Model\Date $dateModel
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\Encryption $encryptor
      * @param \Magento\Core\Helper\Url $coreUrl
      * @param \Magento\Checkout\Helper\Data $checkoutData
@@ -84,14 +84,14 @@ class Data extends \Magento\Core\Helper\Data
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Http $coreHttp,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\Core\Model\Date $dateModel,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\Encryption $encryptor,
         \Magento\Core\Helper\Url $coreUrl,
         \Magento\Checkout\Helper\Data $checkoutData,
diff --git a/app/code/Magento/Persistent/Helper/Session.php b/app/code/Magento/Persistent/Helper/Session.php
index 3310699d036072c2afd1df0d81a94161db7fcd3a..b28b2b32d7f2d8d07e8e6f7bb13c5ce12e3f1957 100644
--- a/app/code/Magento/Persistent/Helper/Session.php
+++ b/app/code/Magento/Persistent/Helper/Session.php
@@ -82,14 +82,14 @@ class Session extends \Magento\Core\Helper\Data
 
     /**
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Http $coreHttp
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\Core\Model\Date $dateModel
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\Encryption $encryptor
      * @param \Magento\Persistent\Helper\Data $persistentData
      * @param \Magento\Checkout\Model\Session $checkoutSession
@@ -99,14 +99,14 @@ class Session extends \Magento\Core\Helper\Data
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Http $coreHttp,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\Core\Model\Date $dateModel,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\Encryption $encryptor,
         \Magento\Persistent\Helper\Data $persistentData,
         \Magento\Checkout\Model\Session $checkoutSession,
diff --git a/app/code/Magento/Persistent/Model/Observer.php b/app/code/Magento/Persistent/Model/Observer.php
index ad2fe4cd08e473e253ecd4a74f012b0e1e04f5e3..07d256bef1ea78b334ddaf6c8a77e07ff3620a28 100644
--- a/app/code/Magento/Persistent/Model/Observer.php
+++ b/app/code/Magento/Persistent/Model/Observer.php
@@ -64,21 +64,21 @@ class Observer
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
     /**
      * Layout model
      *
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
      * Request http
      *
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_requestHttp;
 
@@ -113,7 +113,7 @@ class Observer
     /**
      * Url model
      *
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_url;
 
@@ -146,9 +146,7 @@ class Observer
     protected $_websiteCollectionFactory;
 
     /**
-     * Construct
-     *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Persistent\Helper\Session $persistentSession
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Persistent\Helper\Data $persistentData
@@ -156,18 +154,18 @@ class Observer
      * @param \Magento\Core\Model\Session $session
      * @param \Magento\Checkout\Model\Session $checkoutSession
      * @param \Magento\Customer\Model\Session $customerSession
-     * @param \Magento\Core\Model\UrlInterface $url
-     * @param \Magento\Persistent\Model\SessionFactory $sessionFactory
+     * @param \Magento\UrlInterface $url
+     * @param SessionFactory $sessionFactory
      * @param \Magento\Sales\Model\QuoteFactory $quoteFactory
      * @param \Magento\Customer\Model\CustomerFactory $customerFactory
-     * @param \Magento\Persistent\Model\Persistent\ConfigFactory $persistentConfigFactory
-     * @param \Magento\Core\Controller\Request\Http $requestHttp
-     * @param \Magento\Core\Model\Layout $layout
-     *
+     * @param Persistent\ConfigFactory $persistentConfigFactory
+     * @param \Magento\App\RequestInterface $requestHttp
+     * @param \Magento\View\LayoutInterface $layout
+     * 
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Persistent\Helper\Session $persistentSession,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Persistent\Helper\Data $persistentData,
@@ -175,13 +173,13 @@ class Observer
         \Magento\Core\Model\Session $session,
         \Magento\Checkout\Model\Session $checkoutSession,
         \Magento\Customer\Model\Session $customerSession,
-        \Magento\Core\Model\UrlInterface $url,
+        \Magento\UrlInterface $url,
         \Magento\Persistent\Model\SessionFactory $sessionFactory,
         \Magento\Sales\Model\QuoteFactory $quoteFactory,
         \Magento\Customer\Model\CustomerFactory $customerFactory,
         \Magento\Persistent\Model\Persistent\ConfigFactory $persistentConfigFactory,
-        \Magento\Core\Controller\Request\Http $requestHttp,
-        \Magento\Core\Model\Layout $layout
+        \Magento\App\RequestInterface $requestHttp,
+        \Magento\View\LayoutInterface $layout
     ) {
         $this->_eventManager = $eventManager;
         $this->_persistentSession = $persistentSession;
diff --git a/app/code/Magento/Persistent/Model/Observer/Session.php b/app/code/Magento/Persistent/Model/Observer/Session.php
index f782830eaa36a9a7a41ba4e98b6543d48668cd62..9ff965a3d5d044dfa5c9b47d4b3d5581a71749b7 100644
--- a/app/code/Magento/Persistent/Model/Observer/Session.php
+++ b/app/code/Magento/Persistent/Model/Observer/Session.php
@@ -195,7 +195,7 @@ class Session
         /** @var $sessionModel \Magento\Persistent\Model\Session */
         $sessionModel = $this->_persistentSession->getSession();
 
-        /** @var $request \Magento\Core\Controller\Request\Http */
+        /** @var $request \Magento\App\RequestInterface */
         $request = $observer->getEvent()->getFront()->getRequest();
 
         // Quote Id could be changed only by logged in customer
diff --git a/app/code/Magento/Persistent/Model/Persistent/Config.php b/app/code/Magento/Persistent/Model/Persistent/Config.php
index a28921f2c6bd0d712570eb9dfb855e7874681500..e890c87ff9071e0e98d0ab311aa68fb5ebbc5005 100644
--- a/app/code/Magento/Persistent/Model/Persistent/Config.php
+++ b/app/code/Magento/Persistent/Model/Persistent/Config.php
@@ -51,14 +51,14 @@ class Config
     /**
      * Layout model
      *
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
      * App state model
      *
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -70,19 +70,17 @@ class Config
     protected $_persistentFactory;
 
     /**
-     * Construct
-     *
      * @param \Magento\Config\DomFactory $domFactory
      * @param \Magento\Core\Model\Config\Modules\Reader $moduleReader
-     * @param \Magento\Core\Model\Layout $layout
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\View\LayoutInterface $layout
+     * @param \Magento\App\State $appState
      * @param \Magento\Persistent\Model\Factory $persistentFactory
      */
     public function __construct(
         \Magento\Config\DomFactory $domFactory,
         \Magento\Core\Model\Config\Modules\Reader $moduleReader,
-        \Magento\Core\Model\Layout $layout,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\View\LayoutInterface $layout,
+        \Magento\App\State $appState,
         \Magento\Persistent\Model\Factory $persistentFactory
     ) {
         $this->_domFactory = $domFactory;
@@ -234,7 +232,7 @@ class Config
 
         if (method_exists($object, $method)) {
             $object->$method($instance);
-        } elseif ($this->_appState->getMode() == \Magento\Core\Model\App\State::MODE_DEVELOPER) {
+        } elseif ($this->_appState->getMode() == \Magento\App\State::MODE_DEVELOPER) {
             throw new \Magento\Core\Exception('Method "' . $method.'" is not defined in "' . get_class($object) . '"');
         }
 
diff --git a/app/code/Magento/Persistent/etc/di.xml b/app/code/Magento/Persistent/etc/di.xml
index c7f561c5e647041b8f799091c159f99e5009d597..1328c683ff48776051a0dc940253734228a05741 100644
--- a/app/code/Magento/Persistent/etc/di.xml
+++ b/app/code/Magento/Persistent/etc/di.xml
@@ -32,9 +32,4 @@
             <instance type="Magento\Core\Model\ConfigProxy" />
         </param>
     </type>
-    <type name="Magento\Persistent\Model\Observer">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
 </config>
diff --git a/app/code/Magento/ProductAlert/Helper/Data.php b/app/code/Magento/ProductAlert/Helper/Data.php
index dc030b92b3ec05b5573515b601e01b6b9f9e3ba3..993bdfb520cbb508c3a4a9e43cb7faa53a861436 100644
--- a/app/code/Magento/ProductAlert/Helper/Data.php
+++ b/app/code/Magento/ProductAlert/Helper/Data.php
@@ -58,7 +58,7 @@ class Data extends \Magento\Core\Helper\Url
     protected $_coreStoreConfig;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -71,7 +71,7 @@ class Data extends \Magento\Core\Helper\Url
      * @param \Magento\Core\Helper\Context $context
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Customer\Model\Session $session
      */
@@ -79,7 +79,7 @@ class Data extends \Magento\Core\Helper\Url
         \Magento\Core\Helper\Context $context,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Registry $coreRegistry,
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Customer\Model\Session $session
     ) {
diff --git a/app/code/Magento/Rating/Model/Resource/Rating/Collection.php b/app/code/Magento/Rating/Model/Resource/Rating/Collection.php
index 2762780c62639a92b9fbdf8dd0d3fca040f0cc44..215f1e57437b40b98d1883e552ebdb95b7b877fe 100644
--- a/app/code/Magento/Rating/Model/Resource/Rating/Collection.php
+++ b/app/code/Magento/Rating/Model/Resource/Rating/Collection.php
@@ -46,7 +46,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_ratingCollectionF;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -55,7 +55,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Rating/Model/Resource/Rating/Grid/Collection.php b/app/code/Magento/Rating/Model/Resource/Rating/Grid/Collection.php
index ef3cb4aa1001ad505357291865adf815ce01a9d4..a7bd91c2c5832565b411f76e14d0dcecb0309747 100644
--- a/app/code/Magento/Rating/Model/Resource/Rating/Grid/Collection.php
+++ b/app/code/Magento/Rating/Model/Resource/Rating/Grid/Collection.php
@@ -43,7 +43,7 @@ class Collection extends \Magento\Rating\Model\Resource\Rating\Collection
     protected $_coreRegistry = null;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -53,7 +53,7 @@ class Collection extends \Magento\Rating\Model\Resource\Rating\Collection
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Rating/Model/Resource/Rating/Option/Vote/Collection.php b/app/code/Magento/Rating/Model/Resource/Rating/Option/Vote/Collection.php
index f758284160d7ae3ee6e40cf1a10ed77c56dd13b2..e04759091c84de91d3a19444e810ebed308a393e 100644
--- a/app/code/Magento/Rating/Model/Resource/Rating/Option/Vote/Collection.php
+++ b/app/code/Magento/Rating/Model/Resource/Rating/Option/Vote/Collection.php
@@ -48,7 +48,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_ratingCollectionF;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -57,7 +57,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Reports/Model/Resource/Customer/Collection.php b/app/code/Magento/Reports/Model/Resource/Customer/Collection.php
index d1f05e4a3ea609a4fdb463c7acd48f1f233f6ac9..a71dc4f87f60d3c49899e338cb473f036544ccdf 100644
--- a/app/code/Magento/Reports/Model/Resource/Customer/Collection.php
+++ b/app/code/Magento/Reports/Model/Resource/Customer/Collection.php
@@ -88,7 +88,7 @@ class Collection extends \Magento\Customer\Model\Resource\Customer\Collection
     protected $_quoteItemFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -104,7 +104,7 @@ class Collection extends \Magento\Customer\Model\Resource\Customer\Collection
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Reports/Model/Resource/Order/Collection.php b/app/code/Magento/Reports/Model/Resource/Order/Collection.php
index 60f82642a2eec3256247dbb0f6c8e422b1f8e33a..8ee0676fd4083cc1ba0571374248544f8f6095a9 100644
--- a/app/code/Magento/Reports/Model/Resource/Order/Collection.php
+++ b/app/code/Magento/Reports/Model/Resource/Order/Collection.php
@@ -78,7 +78,7 @@ class Collection extends \Magento\Sales\Model\Resource\Order\Collection
     protected $_reportOrderFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
@@ -91,7 +91,7 @@ class Collection extends \Magento\Sales\Model\Resource\Order\Collection
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
diff --git a/app/code/Magento/Reports/Model/Resource/Product/Collection.php b/app/code/Magento/Reports/Model/Resource/Product/Collection.php
index 9fabb5e94e6ef022ab9b5e8c01b6408b7f5adf69..1c87e5a4e1219b66cdc058dd4e3d4b3abcfec5a8 100644
--- a/app/code/Magento/Reports/Model/Resource/Product/Collection.php
+++ b/app/code/Magento/Reports/Model/Resource/Product/Collection.php
@@ -79,7 +79,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -103,7 +103,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Reports/Model/Resource/Product/Index/Collection/AbstractCollection.php b/app/code/Magento/Reports/Model/Resource/Product/Index/Collection/AbstractCollection.php
index 2dd78e3c1e1abc7964463c10c3aaa6c548bd9474..45eca209d6efa2bd92163e3e0f45c1d7e9aac93a 100644
--- a/app/code/Magento/Reports/Model/Resource/Product/Index/Collection/AbstractCollection.php
+++ b/app/code/Magento/Reports/Model/Resource/Product/Index/Collection/AbstractCollection.php
@@ -52,7 +52,7 @@ abstract class AbstractCollection
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -74,7 +74,7 @@ abstract class AbstractCollection
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Reports/Model/Resource/Product/Lowstock/Collection.php b/app/code/Magento/Reports/Model/Resource/Product/Lowstock/Collection.php
index 2afeb3038db8fbf44aad44af269879c992ea43e4..257bddb3104d1aa1daf910f4abafa89234fb40fc 100644
--- a/app/code/Magento/Reports/Model/Resource/Product/Lowstock/Collection.php
+++ b/app/code/Magento/Reports/Model/Resource/Product/Lowstock/Collection.php
@@ -65,7 +65,7 @@ class Collection extends \Magento\Reports\Model\Resource\Product\Collection
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -91,7 +91,7 @@ class Collection extends \Magento\Reports\Model\Resource\Product\Collection
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Reports/Model/Resource/Quote/Collection.php b/app/code/Magento/Reports/Model/Resource/Quote/Collection.php
index b09265518cde3014bcfbecf8836e568b8aefdc99..bae1bc57c35edc65cffb7a282a1fbdba50c063e1 100644
--- a/app/code/Magento/Reports/Model/Resource/Quote/Collection.php
+++ b/app/code/Magento/Reports/Model/Resource/Quote/Collection.php
@@ -66,7 +66,7 @@ class Collection extends \Magento\Sales\Model\Resource\Quote\Collection
     protected $_customerResource;
 
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Reports/Model/Resource/Report/Product/Viewed/Collection.php b/app/code/Magento/Reports/Model/Resource/Report/Product/Viewed/Collection.php
index 7a1fa1e8710495ed93e20a7d6444f3123f69c5d5..ebdd74a71cca2dbf91026ced4040ba4195adb08c 100644
--- a/app/code/Magento/Reports/Model/Resource/Report/Product/Viewed/Collection.php
+++ b/app/code/Magento/Reports/Model/Resource/Report/Product/Viewed/Collection.php
@@ -48,14 +48,14 @@ class Collection
     protected $_selectedColumns    = array();
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Sales\Model\Resource\Report $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Reports/Model/Resource/Review/Customer/Collection.php b/app/code/Magento/Reports/Model/Resource/Review/Customer/Collection.php
index 8e449dd33eaccb0fd28a438c16c076b84e29c481..77380a7f39fee69352290b9a521a279b0ecf22ec 100644
--- a/app/code/Magento/Reports/Model/Resource/Review/Customer/Collection.php
+++ b/app/code/Magento/Reports/Model/Resource/Review/Customer/Collection.php
@@ -42,7 +42,7 @@ class Collection extends \Magento\Review\Model\Resource\Review\Collection
     protected $_customerResource;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Review\Helper\Data $reviewData
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
@@ -53,7 +53,7 @@ class Collection extends \Magento\Review\Model\Resource\Review\Collection
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Review\Helper\Data $reviewData,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
diff --git a/app/code/Magento/Reports/Model/Resource/Wishlist/Collection.php b/app/code/Magento/Reports/Model/Resource/Wishlist/Collection.php
index 2b6aa325a14e0c86c0b1cb278bfdf66548206624..24ed7cc5a239e9cddaa28fc84907345114706fe5 100644
--- a/app/code/Magento/Reports/Model/Resource/Wishlist/Collection.php
+++ b/app/code/Magento/Reports/Model/Resource/Wishlist/Collection.php
@@ -49,7 +49,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_customerResFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -57,7 +57,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Reports/etc/di.xml b/app/code/Magento/Reports/etc/di.xml
index 22a81ff091faa479c33014d7c5cbd5c1c62167f6..2b2880ac3f08e03e9e0716122d77dd5220c88221 100644
--- a/app/code/Magento/Reports/etc/di.xml
+++ b/app/code/Magento/Reports/etc/di.xml
@@ -27,8 +27,8 @@
     <type name="Magento\Log\Model\Resource\Log">
         <plugin name="reportLog" type="Magento\Reports\Model\Plugin\Log" />
     </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <reports_setup>Magento\Reports\Model\Resource\Setup</reports_setup>
             </value>
diff --git a/app/code/Magento/Review/Controller/Product.php b/app/code/Magento/Review/Controller/Product.php
index 86776f1f3ecf719e793a5ce8f14be9b53fb194d3..c502941b82979d33cd542bf2f68aa9724657de4f 100644
--- a/app/code/Magento/Review/Controller/Product.php
+++ b/app/code/Magento/Review/Controller/Product.php
@@ -55,7 +55,7 @@ class Product extends \Magento\Core\Controller\Front\Action
     protected $_customerSession;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlModel;
 
@@ -108,7 +108,7 @@ class Product extends \Magento\Core\Controller\Front\Action
      * @param \Magento\Core\Controller\Varien\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param \Magento\Customer\Model\Session $customerSession
-     * @param \Magento\Core\Model\UrlInterface $urlModel
+     * @param \Magento\UrlInterface $urlModel
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Catalog\Model\CategoryFactory $categoryFactory
      * @param \Magento\Core\Model\Logger $logger
@@ -123,7 +123,7 @@ class Product extends \Magento\Core\Controller\Front\Action
         \Magento\Core\Controller\Varien\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry,
         \Magento\Customer\Model\Session $customerSession,
-        \Magento\Core\Model\UrlInterface $urlModel,
+        \Magento\UrlInterface $urlModel,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Catalog\Model\CategoryFactory $categoryFactory,
         \Magento\Core\Model\Logger $logger,
diff --git a/app/code/Magento/Review/Model/Resource/Review/Collection.php b/app/code/Magento/Review/Model/Resource/Review/Collection.php
index 572dd0878360aeb3f1bf394c6df4047dff0da138..d43ea819a4275f4c018a594e97b62cc335ebb739 100644
--- a/app/code/Magento/Review/Model/Resource/Review/Collection.php
+++ b/app/code/Magento/Review/Model/Resource/Review/Collection.php
@@ -95,7 +95,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Review\Helper\Data $reviewData
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
@@ -105,7 +105,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Review\Helper\Data $reviewData,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
diff --git a/app/code/Magento/Review/Model/Resource/Review/Product/Collection.php b/app/code/Magento/Review/Model/Resource/Review/Product/Collection.php
index 72ce12769501696bcbd43fc95de49db1d6aefa5f..63df93d72e4f2b224574900a5b2f2dc337c65b19 100644
--- a/app/code/Magento/Review/Model/Resource/Review/Product/Collection.php
+++ b/app/code/Magento/Review/Model/Resource/Review/Product/Collection.php
@@ -83,7 +83,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
     /**
      * Construct
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -107,7 +107,7 @@ class Collection extends \Magento\Catalog\Model\Resource\Product\Collection
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Review/Model/Review.php b/app/code/Magento/Review/Model/Review.php
index d2f81c76da1e989a0bff0489774baea4c92977ad..2101d6f316a75a26ee01c9989215b6da2f1b14b8 100644
--- a/app/code/Magento/Review/Model/Review.php
+++ b/app/code/Magento/Review/Model/Review.php
@@ -95,7 +95,7 @@ class Review extends \Magento\Core\Model\AbstractModel
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlModel;
 
@@ -108,7 +108,7 @@ class Review extends \Magento\Core\Model\AbstractModel
      * @param \Magento\Review\Model\Review\SummaryFactory $summaryModFactory
      * @param \Magento\Review\Model\Review\Summary $reviewSummary
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\UrlInterface $urlModel
+     * @param \Magento\UrlInterface $urlModel
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -122,7 +122,7 @@ class Review extends \Magento\Core\Model\AbstractModel
         \Magento\Review\Model\Review\SummaryFactory $summaryModFactory,
         \Magento\Review\Model\Review\Summary $reviewSummary,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\UrlInterface $urlModel,
+        \Magento\UrlInterface $urlModel,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
diff --git a/app/code/Magento/Rss/Controller/Catalog.php b/app/code/Magento/Rss/Controller/Catalog.php
index f2e9b0795d0499549de7f308c648448fe9d2c0ba..cd849b309d47428668ab01574fc16d3a43b337e1 100644
--- a/app/code/Magento/Rss/Controller/Catalog.php
+++ b/app/code/Magento/Rss/Controller/Catalog.php
@@ -32,7 +32,7 @@ namespace Magento\Rss\Controller;
 class Catalog extends \Magento\Core\Controller\Front\Action
 {
     /**
-     * @var \Magento\Core\Model\Config\Scope
+     * @var \Magento\Config\Scope
      */
     protected $_configScope;
 
@@ -48,12 +48,12 @@ class Catalog extends \Magento\Core\Controller\Front\Action
 
     /**
      * @param \Magento\Core\Controller\Varien\Action\Context $context
-     * @param \Magento\Core\Model\Config\Scope $configScope
+     * @param \Magento\Config\Scope $configScope
      * @param \Magento\Core\Model\Store\Config $storeConfig
      */
     public function __construct(
         \Magento\Core\Controller\Varien\Action\Context $context,
-        \Magento\Core\Model\Config\Scope $configScope,
+        \Magento\Config\Scope $configScope,
         \Magento\Core\Model\Store\Config $storeConfig
     ) {
         $this->_configScope = $configScope;
diff --git a/app/code/Magento/Rss/Controller/Order.php b/app/code/Magento/Rss/Controller/Order.php
index 10ab0d91281de4a529b6fbf9c2075bbe020b6ed9..d325e19d368de55437461936facf713ba5f4bfda 100644
--- a/app/code/Magento/Rss/Controller/Order.php
+++ b/app/code/Magento/Rss/Controller/Order.php
@@ -32,7 +32,7 @@ namespace Magento\Rss\Controller;
 class Order extends \Magento\Core\Controller\Front\Action
 {
     /**
-     * @var \Magento\Core\Model\Config\Scope
+     * @var \Magento\Config\Scope
      */
     protected $_configScope;
 
@@ -51,12 +51,12 @@ class Order extends \Magento\Core\Controller\Front\Action
     /**
      * @param \Magento\Core\Controller\Varien\Action\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
-     * @param \Magento\Core\Model\Config\Scope $configScope
+     * @param \Magento\Config\Scope $configScope
      */
     public function __construct(
         \Magento\Core\Controller\Varien\Action\Context $context,
         \Magento\Core\Model\Registry $coreRegistry,
-        \Magento\Core\Model\Config\Scope $configScope
+        \Magento\Config\Scope $configScope
     ) {
         $this->_coreRegistry = $coreRegistry;
         $this->_configScope = $configScope;
diff --git a/app/code/Magento/Rule/Model/Action/AbstractAction.php b/app/code/Magento/Rule/Model/Action/AbstractAction.php
index b987ef49030d63b2aed27ea2dbc01e39d1ddeac1..b99a41229d135b918ff091d0a46c537a1689cd2a 100644
--- a/app/code/Magento/Rule/Model/Action/AbstractAction.php
+++ b/app/code/Magento/Rule/Model/Action/AbstractAction.php
@@ -38,18 +38,18 @@ abstract class AbstractAction extends \Magento\Object implements \Magento\Rule\M
     protected $_viewUrl;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
      * @param \Magento\Core\Model\View\Url $viewUrl
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param array $data
      */
     public function __construct(
         \Magento\Core\Model\View\Url $viewUrl,
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         array $data = array()
     ) {
         $this->_viewUrl = $viewUrl;
diff --git a/app/code/Magento/Rule/Model/Action/Collection.php b/app/code/Magento/Rule/Model/Action/Collection.php
index 953f2a39ddd5464827fdaf204db10f22655d3be2..abd79c793bb539a47effbf6a56468f2302c6cae9 100644
--- a/app/code/Magento/Rule/Model/Action/Collection.php
+++ b/app/code/Magento/Rule/Model/Action/Collection.php
@@ -37,13 +37,13 @@ class Collection extends \Magento\Rule\Model\Action\AbstractAction
     /**
      * @param \Magento\Core\Model\View\Url $viewUrl
      * @param \Magento\Rule\Model\ActionFactory $actionFactory
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param array $data
      */
     public function __construct(
         \Magento\Core\Model\View\Url $viewUrl,
         \Magento\Rule\Model\ActionFactory $actionFactory,
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         array $data = array()
     ) {
         $this->_actionFactory = $actionFactory;
diff --git a/app/code/Magento/Rule/Model/Condition/AbstractCondition.php b/app/code/Magento/Rule/Model/Condition/AbstractCondition.php
index 439bd5c0c70b420cc13a044c1ec6d675f7dd6094..be07f40687ac0debd5fea96af3c758b6f750c66b 100644
--- a/app/code/Magento/Rule/Model/Condition/AbstractCondition.php
+++ b/app/code/Magento/Rule/Model/Condition/AbstractCondition.php
@@ -72,7 +72,7 @@ abstract class AbstractCondition
     protected $_locale;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
diff --git a/app/code/Magento/Rule/Model/Condition/Context.php b/app/code/Magento/Rule/Model/Condition/Context.php
index 6d3b77a1c9b90d2ab45fcf7111157544100d8765..4413e8d3ef5116de4d34e52b0b5c1fd9f86b5205 100644
--- a/app/code/Magento/Rule/Model/Condition/Context.php
+++ b/app/code/Magento/Rule/Model/Condition/Context.php
@@ -41,7 +41,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     protected $_locale;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -58,14 +58,14 @@ class Context implements \Magento\ObjectManager\ContextInterface
     /**
      * @param \Magento\Core\Model\View\Url $viewUrl
      * @param \Magento\Core\Model\LocaleInterface $locale
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param \Magento\Rule\Model\ConditionFactory $conditionFactory
      * @param \Magento\Core\Model\Logger $logger
      */
     public function __construct(
         \Magento\Core\Model\View\Url $viewUrl,
         \Magento\Core\Model\LocaleInterface $locale,
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         \Magento\Rule\Model\ConditionFactory $conditionFactory,
         \Magento\Core\Model\Logger $logger
     ) {
@@ -93,7 +93,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\Layout
+     * @return \Magento\View\LayoutInterface
      */
     public function getLayout()
     {
@@ -101,7 +101,7 @@ class Context implements \Magento\ObjectManager\ContextInterface
     }
 
     /**
-     * @return \Magento\Core\Model\Layout
+     * @return \Magento\Rule\Model\ConditionFactory
      */
     public function getConditionFactory()
     {
diff --git a/app/code/Magento/Sales/Block/Items/AbstractItems.php b/app/code/Magento/Sales/Block/Items/AbstractItems.php
index 2852cd1266dc5893256f3ace3ea95269a4eebe23..b1d663541934af58f3a7c6e105e6260e305d062f 100644
--- a/app/code/Magento/Sales/Block/Items/AbstractItems.php
+++ b/app/code/Magento/Sales/Block/Items/AbstractItems.php
@@ -65,7 +65,7 @@ class AbstractItems extends \Magento\Core\Block\Template
     public function getItemRenderer($type)
     {
         $renderer = $this->getChildBlock($type) ?: $this->getChildBlock(self::DEFAULT_TYPE);
-        if (!$renderer instanceof \Magento\Core\Block) {
+        if (!$renderer instanceof \Magento\View\Element\BlockInterface) {
             throw new \RuntimeException('Renderer for type "' . $type . '" does not exist.');
         }
         $renderer->setRenderedBlock($this);
diff --git a/app/code/Magento/Sales/Controller/Download.php b/app/code/Magento/Sales/Controller/Download.php
index 044c506707c53daf79ab82936dac1fe9fda681cc..0e786bf34d81e1759d034e1fad6bbd895480ef0e 100644
--- a/app/code/Magento/Sales/Controller/Download.php
+++ b/app/code/Magento/Sales/Controller/Download.php
@@ -48,12 +48,12 @@ class Download extends \Magento\Core\Controller\Front\Action
                 throw new \Exception();
             }
 
-            $filePath = $this->_objectManager->get('Magento\Core\Model\Dir')
-                ->getDir(\Magento\Core\Model\Dir::ROOT) . $info['order_path'];
+            $filePath = $this->_objectManager->get('Magento\App\Dir')
+                ->getDir(\Magento\App\Dir::ROOT) . $info['order_path'];
             if ((!is_file($filePath) || !is_readable($filePath)) && !$this->_processDatabaseFile($filePath)) {
                 //try get file from quote
-                $filePath = $this->_objectManager->get('Magento\Core\Model\Dir')
-                    ->getDir(\Magento\Core\Model\Dir::ROOT) . $info['quote_path'];
+                $filePath = $this->_objectManager->get('Magento\App\Dir')
+                    ->getDir(\Magento\App\Dir::ROOT) . $info['quote_path'];
                 if ((!is_file($filePath) || !is_readable($filePath)) && !$this->_processDatabaseFile($filePath)) {
                     throw new \Exception();
                 }
diff --git a/app/code/Magento/Sales/Helper/Guest.php b/app/code/Magento/Sales/Helper/Guest.php
index da38cdab8fcb6e3ed657a31286bba8b085f28ab5..7a704edae4b21f7bc6492fb1b25b5ff0618f0bf6 100644
--- a/app/code/Magento/Sales/Helper/Guest.php
+++ b/app/code/Magento/Sales/Helper/Guest.php
@@ -80,14 +80,14 @@ class Guest extends \Magento\Core\Helper\Data
 
     /**
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Http $coreHttp
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\Core\Model\Date $dateModel
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\Encryption $encryptor
      * @param \Magento\Core\Model\Registry $coreRegistry
      * @param \Magento\Customer\Model\Session $customerSession
@@ -99,14 +99,14 @@ class Guest extends \Magento\Core\Helper\Data
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Http $coreHttp,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\Core\Model\Date $dateModel,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\Encryption $encryptor,
         \Magento\Core\Model\Registry $coreRegistry,
         \Magento\Customer\Model\Session $customerSession,
diff --git a/app/code/Magento/Sales/Helper/Reorder.php b/app/code/Magento/Sales/Helper/Reorder.php
index dc88730e09c515b01f35a551234c89abed99916c..a8938a8a668e8b77f05c5b4150f502f316a84b90 100644
--- a/app/code/Magento/Sales/Helper/Reorder.php
+++ b/app/code/Magento/Sales/Helper/Reorder.php
@@ -40,28 +40,28 @@ class Reorder extends \Magento\Core\Helper\Data
 
     /**
      * @param \Magento\Core\Helper\Context $context
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Http $coreHttp
      * @param \Magento\Core\Model\Config $config
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManager $storeManager
      * @param \Magento\Core\Model\Locale $locale
      * @param \Magento\Core\Model\Date $dateModel
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\Encryption $encryptor
      * @param \Magento\Customer\Model\Session $customerSession
      * @param bool $dbCompatibleMode
      */
     public function __construct(
         \Magento\Core\Helper\Context $context,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Http $coreHttp,
         \Magento\Core\Model\Config $config,
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManager $storeManager,
         \Magento\Core\Model\Locale $locale,
         \Magento\Core\Model\Date $dateModel,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\Encryption $encryptor,
         \Magento\Customer\Model\Session $customerSession,
         $dbCompatibleMode = true
diff --git a/app/code/Magento/Sales/Model/Convert/Order.php b/app/code/Magento/Sales/Model/Convert/Order.php
index 423af7c1d06a09b775611f9f60e88512e4cdfe78..2f0187ea7dd61975498ac37fa6e34594ac694e42 100644
--- a/app/code/Magento/Sales/Model/Convert/Order.php
+++ b/app/code/Magento/Sales/Model/Convert/Order.php
@@ -41,7 +41,7 @@ class Order extends \Magento\Object
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -91,7 +91,7 @@ class Order extends \Magento\Object
     protected $_creditmemoItemFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Sales\Model\QuoteFactory $quoteFactory
      * @param \Magento\Sales\Model\Quote\AddressFactory $quoteAddressFactory
@@ -108,7 +108,7 @@ class Order extends \Magento\Object
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Sales\Model\QuoteFactory $quoteFactory,
         \Magento\Sales\Model\Quote\AddressFactory $quoteAddressFactory,
diff --git a/app/code/Magento/Sales/Model/Convert/Quote.php b/app/code/Magento/Sales/Model/Convert/Quote.php
index 849b3d0b1918a9a7905252a190ff1730590afae3..58f28d107750c8724a6c8da4002c7cb323bf5125 100644
--- a/app/code/Magento/Sales/Model/Convert/Quote.php
+++ b/app/code/Magento/Sales/Model/Convert/Quote.php
@@ -41,7 +41,7 @@ class Quote extends \Magento\Object
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -66,7 +66,7 @@ class Quote extends \Magento\Object
     protected $_orderItemFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
      * @param \Magento\Sales\Model\Order\AddressFactory $orderAddressFactory
@@ -75,7 +75,7 @@ class Quote extends \Magento\Object
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Sales\Model\OrderFactory $orderFactory,
         \Magento\Sales\Model\Order\AddressFactory $orderAddressFactory,
diff --git a/app/code/Magento/Sales/Model/Observer.php b/app/code/Magento/Sales/Model/Observer.php
index 5e7b1b453cda39454a29b6d03d62f8c02b2aa740..ce1f6fa184b5eb3b07d77ea63f3f9e51fa050fd3 100644
--- a/app/code/Magento/Sales/Model/Observer.php
+++ b/app/code/Magento/Sales/Model/Observer.php
@@ -69,7 +69,7 @@ class Observer
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -94,7 +94,7 @@ class Observer
     protected $_resourceFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Customer\Helper\Data $customerData
      * @param \Magento\Customer\Helper\Address $customerAddress
@@ -105,7 +105,7 @@ class Observer
      * @param \Magento\Sales\Model\ResourceFactory $resourceFactory
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Customer\Helper\Data $customerData,
         \Magento\Customer\Helper\Address $customerAddress,
diff --git a/app/code/Magento/Sales/Model/Order.php b/app/code/Magento/Sales/Model/Order.php
index 8c1649f554f7a093635f89bf1dad7f5371e9d75f..b16cbce4bf079c6fffdd16ffb541b72949e2c725 100644
--- a/app/code/Magento/Sales/Model/Order.php
+++ b/app/code/Magento/Sales/Model/Order.php
@@ -426,7 +426,7 @@ class Order extends \Magento\Sales\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -513,7 +513,7 @@ class Order extends \Magento\Sales\Model\AbstractModel
     protected $_carrierFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Sales\Helper\Data $salesData
@@ -543,7 +543,7 @@ class Order extends \Magento\Sales\Model\AbstractModel
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Sales\Helper\Data $salesData,
diff --git a/app/code/Magento/Sales/Model/Order/Address.php b/app/code/Magento/Sales/Model/Order/Address.php
index c5b4457f3eeb5826379c21488e2a4d4b55306209..2678eef123c7ae8e13c8fd02929378df69e5cdcc 100644
--- a/app/code/Magento/Sales/Model/Order/Address.php
+++ b/app/code/Magento/Sales/Model/Order/Address.php
@@ -91,7 +91,7 @@ class Address extends \Magento\Customer\Model\Address\AbstractAddress
     protected $_orderFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Directory\Helper\Data $directoryData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
@@ -107,7 +107,7 @@ class Address extends \Magento\Customer\Model\Address\AbstractAddress
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Directory\Helper\Data $directoryData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
diff --git a/app/code/Magento/Sales/Model/Order/Creditmemo.php b/app/code/Magento/Sales/Model/Order/Creditmemo.php
index 6ffd77b0a7b691f24a711ce4f0d015140b18bba9..df67a3c6e52835802ff00bd24f7c45a74a69bfa0 100644
--- a/app/code/Magento/Sales/Model/Order/Creditmemo.php
+++ b/app/code/Magento/Sales/Model/Order/Creditmemo.php
@@ -182,7 +182,7 @@ class Creditmemo extends \Magento\Sales\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -239,7 +239,7 @@ class Creditmemo extends \Magento\Sales\Model\AbstractModel
     protected $_emailInfoFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Sales\Helper\Data $salesData
      * @param \Magento\Core\Model\Context $context
@@ -262,7 +262,7 @@ class Creditmemo extends \Magento\Sales\Model\AbstractModel
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Sales\Helper\Data $salesData,
         \Magento\Core\Model\Context $context,
diff --git a/app/code/Magento/Sales/Model/Order/Invoice.php b/app/code/Magento/Sales/Model/Order/Invoice.php
index 2ca0d0cc187b92803f34ff2497cbef79f19ff83e..f2ec9791457adf458860a3682a942a38d4c454fb 100644
--- a/app/code/Magento/Sales/Model/Order/Invoice.php
+++ b/app/code/Magento/Sales/Model/Order/Invoice.php
@@ -188,7 +188,7 @@ class Invoice extends \Magento\Sales\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -245,7 +245,7 @@ class Invoice extends \Magento\Sales\Model\AbstractModel
     protected $_emailInfoFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Sales\Helper\Data $salesData
      * @param \Magento\Core\Model\Context $context
@@ -268,7 +268,7 @@ class Invoice extends \Magento\Sales\Model\AbstractModel
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Sales\Helper\Data $salesData,
         \Magento\Core\Model\Context $context,
diff --git a/app/code/Magento/Sales/Model/Order/Item.php b/app/code/Magento/Sales/Model/Order/Item.php
index 115f71eabb0aaaf53d11deefc2f167b696f18aec..e24de1cdf3ef78daf00869f6bdc9f5ec7b0a2552 100644
--- a/app/code/Magento/Sales/Model/Order/Item.php
+++ b/app/code/Magento/Sales/Model/Order/Item.php
@@ -221,7 +221,7 @@ class Item extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -236,7 +236,7 @@ class Item extends \Magento\Core\Model\AbstractModel
     protected $_productFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Sales\Model\OrderFactory $orderFactory
@@ -246,7 +246,7 @@ class Item extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Sales\Model\OrderFactory $orderFactory,
diff --git a/app/code/Magento/Sales/Model/Order/Payment.php b/app/code/Magento/Sales/Model/Order/Payment.php
index 9f30671655645aeafcd76297e379abbca6bd3805..e18714a3471dfcffb19bf5ad811a1d17ff83079f 100644
--- a/app/code/Magento/Sales/Model/Order/Payment.php
+++ b/app/code/Magento/Sales/Model/Order/Payment.php
@@ -187,7 +187,7 @@ class Payment extends \Magento\Payment\Model\Info
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -217,7 +217,7 @@ class Payment extends \Magento\Payment\Model\Info
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Context $context
@@ -232,7 +232,7 @@ class Payment extends \Magento\Payment\Model\Info
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Context $context,
diff --git a/app/code/Magento/Sales/Model/Order/Payment/Transaction.php b/app/code/Magento/Sales/Model/Order/Payment/Transaction.php
index dc46a4197338007b5e4f4cbdb5a632cb09171fca..98282ab5a127b256b4a66cb99f32d9c762e0f98a 100644
--- a/app/code/Magento/Sales/Model/Order/Payment/Transaction.php
+++ b/app/code/Magento/Sales/Model/Order/Payment/Transaction.php
@@ -148,7 +148,7 @@ class Transaction extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -168,7 +168,7 @@ class Transaction extends \Magento\Core\Model\AbstractModel
     protected $_dateFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Sales\Model\Order\PaymentFactory $paymentFactory
@@ -179,7 +179,7 @@ class Transaction extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Sales\Model\Order\PaymentFactory $paymentFactory,
diff --git a/app/code/Magento/Sales/Model/Order/Pdf/AbstractPdf.php b/app/code/Magento/Sales/Model/Order/Pdf/AbstractPdf.php
index c0df016f7ec38a974fc956999ff468e25f364c97..7d458f828dd18f829e0f3fed1d1e3e128fbb55e7 100644
--- a/app/code/Magento/Sales/Model/Order/Pdf/AbstractPdf.php
+++ b/app/code/Magento/Sales/Model/Order/Pdf/AbstractPdf.php
@@ -103,7 +103,7 @@ abstract class AbstractPdf extends \Magento\Object
     protected $_translate;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_coreDir;
 
@@ -133,7 +133,7 @@ abstract class AbstractPdf extends \Magento\Object
      * @param \Magento\Core\Helper\String $coreString
      * @param \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig
      * @param \Magento\Core\Model\Translate $translate
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Shipping\Model\Config $shippingConfig
      * @param \Magento\Sales\Model\Order\Pdf\Config $pdfConfig
      * @param \Magento\Sales\Model\Order\Pdf\Total\Factory $pdfTotalFactory
@@ -148,7 +148,7 @@ abstract class AbstractPdf extends \Magento\Object
         \Magento\Core\Helper\String $coreString,
         \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig,
         \Magento\Core\Model\Translate $translate,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Shipping\Model\Config $shippingConfig,
         \Magento\Sales\Model\Order\Pdf\Config $pdfConfig,
         \Magento\Sales\Model\Order\Pdf\Total\Factory $pdfTotalFactory,
@@ -243,7 +243,7 @@ abstract class AbstractPdf extends \Magento\Object
         $this->y = $this->y ? $this->y : 815;
         $image = $this->_coreStoreConfig->getConfig('sales/identity/logo', $store);
         if ($image) {
-            $image = $this->_coreDir->getDir(\Magento\Core\Model\Dir::MEDIA) . '/sales/store/logo/' . $image;
+            $image = $this->_coreDir->getDir(\Magento\App\Dir::MEDIA) . '/sales/store/logo/' . $image;
             if (is_file($image)) {
                 $image       = \Zend_Pdf_Image::imageWithPath($image);
                 $top         = 830; //top border of the page
diff --git a/app/code/Magento/Sales/Model/Order/Pdf/Creditmemo.php b/app/code/Magento/Sales/Model/Order/Pdf/Creditmemo.php
index 89d2b367b61be9b8721370dbe7308319158dda91..75544a3f8ba547802f64957dda6afa361a9161c0 100644
--- a/app/code/Magento/Sales/Model/Order/Pdf/Creditmemo.php
+++ b/app/code/Magento/Sales/Model/Order/Pdf/Creditmemo.php
@@ -47,7 +47,7 @@ class Creditmemo extends \Magento\Sales\Model\Order\Pdf\AbstractPdf
      * @param \Magento\Core\Helper\String $coreString
      * @param \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig
      * @param \Magento\Core\Model\Translate $translate
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Shipping\Model\Config $shippingConfig
      * @param \Magento\Sales\Model\Order\Pdf\Config $pdfConfig
      * @param \Magento\Sales\Model\Order\Pdf\Total\Factory $pdfTotalFactory
@@ -64,7 +64,7 @@ class Creditmemo extends \Magento\Sales\Model\Order\Pdf\AbstractPdf
         \Magento\Core\Helper\String $coreString,
         \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig,
         \Magento\Core\Model\Translate $translate,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Shipping\Model\Config $shippingConfig,
         \Magento\Sales\Model\Order\Pdf\Config $pdfConfig,
         \Magento\Sales\Model\Order\Pdf\Total\Factory $pdfTotalFactory,
diff --git a/app/code/Magento/Sales/Model/Order/Pdf/Invoice.php b/app/code/Magento/Sales/Model/Order/Pdf/Invoice.php
index 81c0f73f471a9d8dd5b55b4fec4a4bf7d9e31f90..da2b956eeb3c2efc424385b22f76e129ac615ada 100644
--- a/app/code/Magento/Sales/Model/Order/Pdf/Invoice.php
+++ b/app/code/Magento/Sales/Model/Order/Pdf/Invoice.php
@@ -47,7 +47,7 @@ class Invoice extends \Magento\Sales\Model\Order\Pdf\AbstractPdf
      * @param \Magento\Core\Helper\String $coreString
      * @param \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig
      * @param \Magento\Core\Model\Translate $translate
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Shipping\Model\Config $shippingConfig
      * @param \Magento\Sales\Model\Order\Pdf\Config $pdfConfig
      * @param \Magento\Sales\Model\Order\Pdf\Total\Factory $pdfTotalFactory
@@ -64,7 +64,7 @@ class Invoice extends \Magento\Sales\Model\Order\Pdf\AbstractPdf
         \Magento\Core\Helper\String $coreString,
         \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig,
         \Magento\Core\Model\Translate $translate,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Shipping\Model\Config $shippingConfig,
         \Magento\Sales\Model\Order\Pdf\Config $pdfConfig,
         \Magento\Sales\Model\Order\Pdf\Total\Factory $pdfTotalFactory,
diff --git a/app/code/Magento/Sales/Model/Order/Pdf/Items/AbstractItems.php b/app/code/Magento/Sales/Model/Order/Pdf/Items/AbstractItems.php
index 2bdc37888a03f631afb7cd453eec51157f10891a..af20dc5e2244f20671fad9da92a3a1c04560e640 100644
--- a/app/code/Magento/Sales/Model/Order/Pdf/Items/AbstractItems.php
+++ b/app/code/Magento/Sales/Model/Order/Pdf/Items/AbstractItems.php
@@ -74,7 +74,7 @@ abstract class AbstractItems extends \Magento\Core\Model\AbstractModel
     protected $_taxData = null;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_coreDir;
 
@@ -82,7 +82,7 @@ abstract class AbstractItems extends \Magento\Core\Model\AbstractModel
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -91,7 +91,7 @@ abstract class AbstractItems extends \Magento\Core\Model\AbstractModel
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
@@ -339,7 +339,7 @@ abstract class AbstractItems extends \Magento\Core\Model\AbstractModel
     protected function _setFontRegular($size = 7)
     {
         $font = \Zend_Pdf_Font::fontWithPath(
-            $this->_coreDir->getDir(\Magento\Core\Model\Dir::ROOT) . '/lib/LinLibertineFont/LinLibertine_Re-4.4.1.ttf'
+            $this->_coreDir->getDir(\Magento\App\Dir::ROOT) . '/lib/LinLibertineFont/LinLibertine_Re-4.4.1.ttf'
         );
         $this->getPage()->setFont($font, $size);
         return $font;
@@ -354,7 +354,7 @@ abstract class AbstractItems extends \Magento\Core\Model\AbstractModel
     protected function _setFontBold($size = 7)
     {
         $font = \Zend_Pdf_Font::fontWithPath(
-            $this->_coreDir->getDir(\Magento\Core\Model\Dir::ROOT) . '/lib/LinLibertineFont/LinLibertine_Bd-2.8.1.ttf'
+            $this->_coreDir->getDir(\Magento\App\Dir::ROOT) . '/lib/LinLibertineFont/LinLibertine_Bd-2.8.1.ttf'
         );
         $this->getPage()->setFont($font, $size);
         return $font;
@@ -369,7 +369,7 @@ abstract class AbstractItems extends \Magento\Core\Model\AbstractModel
     protected function _setFontItalic($size = 7)
     {
         $font = \Zend_Pdf_Font::fontWithPath(
-            $this->_coreDir->getDir(\Magento\Core\Model\Dir::ROOT) . '/lib/LinLibertineFont/LinLibertine_It-2.8.2.ttf'
+            $this->_coreDir->getDir(\Magento\App\Dir::ROOT) . '/lib/LinLibertineFont/LinLibertine_It-2.8.2.ttf'
         );
         $this->getPage()->setFont($font, $size);
         return $font;
diff --git a/app/code/Magento/Sales/Model/Order/Pdf/Items/Creditmemo/DefaultCreditmemo.php b/app/code/Magento/Sales/Model/Order/Pdf/Items/Creditmemo/DefaultCreditmemo.php
index ab280c8449a7ec98f9dc7cca3b5210b828935a09..c5d1f7bd8315b6fa20f5dff4a269f8f862fbe675 100644
--- a/app/code/Magento/Sales/Model/Order/Pdf/Items/Creditmemo/DefaultCreditmemo.php
+++ b/app/code/Magento/Sales/Model/Order/Pdf/Items/Creditmemo/DefaultCreditmemo.php
@@ -47,7 +47,7 @@ class DefaultCreditmemo extends \Magento\Sales\Model\Order\Pdf\Items\AbstractIte
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -57,7 +57,7 @@ class DefaultCreditmemo extends \Magento\Sales\Model\Order\Pdf\Items\AbstractIte
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
diff --git a/app/code/Magento/Sales/Model/Order/Pdf/Items/Invoice/DefaultInvoice.php b/app/code/Magento/Sales/Model/Order/Pdf/Items/Invoice/DefaultInvoice.php
index 3675b52c47b06ceffbf4313385b84052c0c5b18d..2c24cbce0f500c809c19093b95e38e010280c0aa 100644
--- a/app/code/Magento/Sales/Model/Order/Pdf/Items/Invoice/DefaultInvoice.php
+++ b/app/code/Magento/Sales/Model/Order/Pdf/Items/Invoice/DefaultInvoice.php
@@ -43,7 +43,7 @@ class DefaultInvoice extends \Magento\Sales\Model\Order\Pdf\Items\AbstractItems
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -53,7 +53,7 @@ class DefaultInvoice extends \Magento\Sales\Model\Order\Pdf\Items\AbstractItems
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
diff --git a/app/code/Magento/Sales/Model/Order/Pdf/Items/Shipment/DefaultShipment.php b/app/code/Magento/Sales/Model/Order/Pdf/Items/Shipment/DefaultShipment.php
index b985f50a937328f56840e94162bb48e51b5a5424..cdd0c19b5f0a4396b20e2508edfa431b664e0ea1 100644
--- a/app/code/Magento/Sales/Model/Order/Pdf/Items/Shipment/DefaultShipment.php
+++ b/app/code/Magento/Sales/Model/Order/Pdf/Items/Shipment/DefaultShipment.php
@@ -43,7 +43,7 @@ class DefaultShipment extends \Magento\Sales\Model\Order\Pdf\Items\AbstractItems
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -53,7 +53,7 @@ class DefaultShipment extends \Magento\Sales\Model\Order\Pdf\Items\AbstractItems
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
diff --git a/app/code/Magento/Sales/Model/Order/Pdf/Shipment.php b/app/code/Magento/Sales/Model/Order/Pdf/Shipment.php
index 7866cf30087f5d873c71f5d2b18bb2ff4add1d6a..7c2ca422ac64cd7ec6b285de7c6226a9ac9f4631 100644
--- a/app/code/Magento/Sales/Model/Order/Pdf/Shipment.php
+++ b/app/code/Magento/Sales/Model/Order/Pdf/Shipment.php
@@ -47,7 +47,7 @@ class Shipment extends \Magento\Sales\Model\Order\Pdf\AbstractPdf
      * @param \Magento\Core\Helper\String $coreString
      * @param \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig
      * @param \Magento\Core\Model\Translate $translate
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Shipping\Model\Config $shippingConfig
      * @param \Magento\Sales\Model\Order\Pdf\Config $pdfConfig
      * @param \Magento\Sales\Model\Order\Pdf\Total\Factory $pdfTotalFactory
@@ -64,7 +64,7 @@ class Shipment extends \Magento\Sales\Model\Order\Pdf\AbstractPdf
         \Magento\Core\Helper\String $coreString,
         \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig,
         \Magento\Core\Model\Translate $translate,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Shipping\Model\Config $shippingConfig,
         \Magento\Sales\Model\Order\Pdf\Config $pdfConfig,
         \Magento\Sales\Model\Order\Pdf\Total\Factory $pdfTotalFactory,
diff --git a/app/code/Magento/Sales/Model/Order/Pdf/Shipment/Packaging.php b/app/code/Magento/Sales/Model/Order/Pdf/Shipment/Packaging.php
index ebd0e8ad9a87e1cef857ffeb957a5cd73925f38c..089804e800f45abae077263d913aeaef401f791c 100644
--- a/app/code/Magento/Sales/Model/Order/Pdf/Shipment/Packaging.php
+++ b/app/code/Magento/Sales/Model/Order/Pdf/Shipment/Packaging.php
@@ -49,7 +49,7 @@ class Packaging extends \Magento\Sales\Model\Order\Pdf\AbstractPdf
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -59,7 +59,7 @@ class Packaging extends \Magento\Sales\Model\Order\Pdf\AbstractPdf
      * @param \Magento\Core\Helper\String $coreString
      * @param \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig
      * @param \Magento\Core\Model\Translate $translate
-     * @param \Magento\Core\Model\Dir $coreDir
+     * @param \Magento\App\Dir $coreDir
      * @param \Magento\Shipping\Model\Config $shippingConfig
      * @param \Magento\Sales\Model\Order\Pdf\Config $pdfConfig
      * @param \Magento\Sales\Model\Order\Pdf\Total\Factory $pdfTotalFactory
@@ -67,7 +67,7 @@ class Packaging extends \Magento\Sales\Model\Order\Pdf\AbstractPdf
      * @param \Magento\Usa\Helper\Data $usaData
      * @param \Magento\Core\Model\LocaleInterface $locale
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param array $data
      *
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
@@ -78,7 +78,7 @@ class Packaging extends \Magento\Sales\Model\Order\Pdf\AbstractPdf
         \Magento\Core\Helper\String $coreString,
         \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig,
         \Magento\Core\Model\Translate $translate,
-        \Magento\Core\Model\Dir $coreDir,
+        \Magento\App\Dir $coreDir,
         \Magento\Shipping\Model\Config $shippingConfig,
         \Magento\Sales\Model\Order\Pdf\Config $pdfConfig,
         \Magento\Sales\Model\Order\Pdf\Total\Factory $pdfTotalFactory,
@@ -86,7 +86,7 @@ class Packaging extends \Magento\Sales\Model\Order\Pdf\AbstractPdf
         \Magento\Usa\Helper\Data $usaData,
         \Magento\Core\Model\LocaleInterface $locale,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         array $data = array()
     ) {
         $this->_usaData = $usaData;
diff --git a/app/code/Magento/Sales/Model/Order/Pdf/Total/Factory.php b/app/code/Magento/Sales/Model/Order/Pdf/Total/Factory.php
index eb48a607c483da08b031984e02520d64b7b7d8df..6915f9d3cffec7c879d1fcdd5a20b8df42393d3b 100644
--- a/app/code/Magento/Sales/Model/Order/Pdf/Total/Factory.php
+++ b/app/code/Magento/Sales/Model/Order/Pdf/Total/Factory.php
@@ -59,7 +59,8 @@ class Factory
         $class = $class ?: $this->_defaultTotalModel;
         if (!is_a($class, 'Magento\Sales\Model\Order\Pdf\Total\DefaultTotal', true)) {
             throw new \Magento\Core\Exception(
-                __("The PDF total model {$class} must be or extend \Magento\Sales\Model\Order\Pdf\Total\Default.")
+                __("The PDF total model {$class} must be or extend "
+                    . "\\Magento\\Sales\\Model\\Order\\Pdf\\Total\\DefaultTotal.")
             );
         }
         return $this->_objectManager->create($class, $arguments);
diff --git a/app/code/Magento/Sales/Model/Order/Total/Config/Base.php b/app/code/Magento/Sales/Model/Order/Total/Config/Base.php
index 4ec581eed7b9cbd94cb9b11805fde5327dbdf395..a47177b1160aa7372fb1468e19a24d3538f2bc2d 100644
--- a/app/code/Magento/Sales/Model/Order/Total/Config/Base.php
+++ b/app/code/Magento/Sales/Model/Order/Total/Config/Base.php
@@ -89,7 +89,7 @@ class Base extends \Magento\Sales\Model\Config\Ordered
         $model = $this->_orderTotalFactory->create($class);
         if (!$model instanceof \Magento\Sales\Model\Order\Total\AbstractTotal) {
             throw new \Magento\Core\Exception(
-                __('The total model should be extended from \Magento\Sales\Model\Order\Total\Abstract.')
+                __('The total model should be extended from \Magento\Sales\Model\Order\Total\AbstractTotal.')
             );
         }
 
diff --git a/app/code/Magento/Sales/Model/Payment/Method/Billing/AbstractAgreement.php b/app/code/Magento/Sales/Model/Payment/Method/Billing/AbstractAgreement.php
index 37a7bea9466806e1fb311a9e5a066b49c47590ae..0c3ebc93583dcc66fc67d8d607c9742184ef000f 100644
--- a/app/code/Magento/Sales/Model/Payment/Method/Billing/AbstractAgreement.php
+++ b/app/code/Magento/Sales/Model/Payment/Method/Billing/AbstractAgreement.php
@@ -54,7 +54,7 @@ abstract class AbstractAgreement
     protected $_agreementFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig
      * @param \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory
@@ -62,7 +62,7 @@ abstract class AbstractAgreement
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Store\ConfigInterface $coreStoreConfig,
         \Magento\Core\Model\Log\AdapterFactory $logAdapterFactory,
diff --git a/app/code/Magento/Sales/Model/Quote.php b/app/code/Magento/Sales/Model/Quote.php
index 581a8b853c263372da90077b3c4fe84cabbee56f..13a50a9c432cc1808149070f36c83331b575d44a 100644
--- a/app/code/Magento/Sales/Model/Quote.php
+++ b/app/code/Magento/Sales/Model/Quote.php
@@ -217,7 +217,7 @@ class Quote extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -294,7 +294,7 @@ class Quote extends \Magento\Core\Model\AbstractModel
     protected $_recurringProfileFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Sales\Helper\Data $salesData
      * @param \Magento\Catalog\Helper\Product $catalogProduct
      * @param \Magento\Core\Helper\Data $coreData
@@ -321,7 +321,7 @@ class Quote extends \Magento\Core\Model\AbstractModel
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Sales\Helper\Data $salesData,
         \Magento\Catalog\Helper\Product $catalogProduct,
         \Magento\Core\Helper\Data $coreData,
diff --git a/app/code/Magento/Sales/Model/Quote/Address.php b/app/code/Magento/Sales/Model/Quote/Address.php
index ca08c70303833cd0f6f199d68ca8b315149f356d..61fe7a91ef9bb58bb89a80eb58bd792f324de405 100644
--- a/app/code/Magento/Sales/Model/Quote/Address.php
+++ b/app/code/Magento/Sales/Model/Quote/Address.php
@@ -258,7 +258,7 @@ class Address extends \Magento\Customer\Model\Address\AbstractAddress
 
     /**
      * @param \Magento\Core\Helper\Data $coreData
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Directory\Helper\Data $directoryData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
@@ -284,7 +284,7 @@ class Address extends \Magento\Customer\Model\Address\AbstractAddress
      */
     public function __construct(
         \Magento\Core\Helper\Data $coreData,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Directory\Helper\Data $directoryData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
diff --git a/app/code/Magento/Sales/Model/Quote/Address/Total/Collector.php b/app/code/Magento/Sales/Model/Quote/Address/Total/Collector.php
index 991bf2706d0d2dd03f12f6f293ab7286254d2999..f5664da02abd24259976fe16f6499288148cdf4f 100644
--- a/app/code/Magento/Sales/Model/Quote/Address/Total/Collector.php
+++ b/app/code/Magento/Sales/Model/Quote/Address/Total/Collector.php
@@ -144,7 +144,7 @@ class Collector extends \Magento\Sales\Model\Config\Ordered
         $model = $this->_totalFactory->create($class);
         if (!$model instanceof \Magento\Sales\Model\Quote\Address\Total\AbstractTotal) {
             throw new \Magento\Core\Exception(
-                __('The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\Abstract.')
+                __('The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\AbstractTotal.')
             );
         }
 
diff --git a/app/code/Magento/Sales/Model/Quote/Address/Total/Discount.php b/app/code/Magento/Sales/Model/Quote/Address/Total/Discount.php
index 93e99bdb1db2ba530c6e1386fc633fb4e7e9a932..5c17421c53eeada1d15eb4d5f31ae861b60fc964 100644
--- a/app/code/Magento/Sales/Model/Quote/Address/Total/Discount.php
+++ b/app/code/Magento/Sales/Model/Quote/Address/Total/Discount.php
@@ -31,7 +31,7 @@ class Discount extends \Magento\Sales\Model\Quote\Address\Total\AbstractTotal
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -41,11 +41,11 @@ class Discount extends \Magento\Sales\Model\Quote\Address\Total\AbstractTotal
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\StoreManagerInterface $storeManager
     ) {
         $this->_eventManager = $eventManager;
diff --git a/app/code/Magento/Sales/Model/Quote/Item.php b/app/code/Magento/Sales/Model/Quote/Item.php
index 646d214148ecbb1a381d58bf19ee258516ddbd23..95199f7377258228155f45a36ab3e897bc8c7063 100644
--- a/app/code/Magento/Sales/Model/Quote/Item.php
+++ b/app/code/Magento/Sales/Model/Quote/Item.php
@@ -193,7 +193,7 @@ class Item extends \Magento\Sales\Model\Quote\Item\AbstractItem
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -208,7 +208,7 @@ class Item extends \Magento\Sales\Model\Quote\Item\AbstractItem
     protected $_itemOptionFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Catalog\Model\ProductFactory $productFactory
@@ -222,7 +222,7 @@ class Item extends \Magento\Sales\Model\Quote\Item\AbstractItem
      * @SuppressWarnings(PHPMD.ExcessiveParameterList)
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Catalog\Model\ProductFactory $productFactory,
diff --git a/app/code/Magento/Sales/Model/Quote/Payment.php b/app/code/Magento/Sales/Model/Quote/Payment.php
index a5d77c7ee53998a64764d7ef1e83e5fa177b7e06..7c0b16344303ae0a2c457b9f334e7fec42bd60cb 100644
--- a/app/code/Magento/Sales/Model/Quote/Payment.php
+++ b/app/code/Magento/Sales/Model/Quote/Payment.php
@@ -80,12 +80,12 @@ class Payment extends \Magento\Payment\Model\Info
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Payment\Helper\Data $paymentData
      * @param \Magento\Core\Model\Context $context
@@ -95,7 +95,7 @@ class Payment extends \Magento\Payment\Model\Info
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Payment\Helper\Data $paymentData,
         \Magento\Core\Model\Context $context,
diff --git a/app/code/Magento/Sales/Model/Resource/Billing/Agreement/Collection.php b/app/code/Magento/Sales/Model/Resource/Billing/Agreement/Collection.php
index 23f7b0698ec5c281f3a7cd2f82c3abce958fa2a5..a35bdbd104daae2ab37bbe150a9a94f0252c1f85 100644
--- a/app/code/Magento/Sales/Model/Resource/Billing/Agreement/Collection.php
+++ b/app/code/Magento/Sales/Model/Resource/Billing/Agreement/Collection.php
@@ -51,7 +51,7 @@ class Collection
     protected $_customerResource;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -59,7 +59,7 @@ class Collection
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Resource/Order/AbstractOrder.php b/app/code/Magento/Sales/Model/Resource/Order/AbstractOrder.php
index 824d1239789f7acc5c15c89d8914e1d0e2dfb19b..4dc27d23f9e0ac5c19ef9beaf0643e866b6aa13c 100644
--- a/app/code/Magento/Sales/Model/Resource/Order/AbstractOrder.php
+++ b/app/code/Magento/Sales/Model/Resource/Order/AbstractOrder.php
@@ -90,7 +90,7 @@ abstract class AbstractOrder extends \Magento\Sales\Model\Resource\AbstractResou
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -100,12 +100,12 @@ abstract class AbstractOrder extends \Magento\Sales\Model\Resource\AbstractResou
     protected $_eavEntityTypeFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Resource $resource
      * @param \Magento\Eav\Model\Entity\TypeFactory $eavEntityTypeFactory
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Resource $resource,
         \Magento\Eav\Model\Entity\TypeFactory $eavEntityTypeFactory
     ) {
diff --git a/app/code/Magento/Sales/Model/Resource/Order/Address.php b/app/code/Magento/Sales/Model/Resource/Order/Address.php
index 3498e0f72ec9a012ee6bb8cadd9a0031258d9a75..2b83f8ddc4b580fb8acabd99cf99685af53f8c2b 100644
--- a/app/code/Magento/Sales/Model/Resource/Order/Address.php
+++ b/app/code/Magento/Sales/Model/Resource/Order/Address.php
@@ -44,13 +44,13 @@ class Address extends \Magento\Sales\Model\Resource\Order\AbstractOrder
     protected $_salesResourceFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Resource $resource
      * @param \Magento\Eav\Model\Entity\TypeFactory $eavEntityTypeFactory
      * @param \Magento\Sales\Model\Resource\Factory $salesResourceFactory
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Resource $resource,
         \Magento\Eav\Model\Entity\TypeFactory $eavEntityTypeFactory,
         \Magento\Sales\Model\Resource\Factory $salesResourceFactory
diff --git a/app/code/Magento/Sales/Model/Resource/Order/Collection.php b/app/code/Magento/Sales/Model/Resource/Order/Collection.php
index 69cfdd0168ca5f37efc03b17606c36f0fd7d9eaa..e80a83337da1c2637f857ca11dd08c99677dc454 100644
--- a/app/code/Magento/Sales/Model/Resource/Order/Collection.php
+++ b/app/code/Magento/Sales/Model/Resource/Order/Collection.php
@@ -56,7 +56,7 @@ class Collection extends \Magento\Sales\Model\Resource\Collection\AbstractCollec
     protected $_coreResourceHelper;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -64,7 +64,7 @@ class Collection extends \Magento\Sales\Model\Resource\Collection\AbstractCollec
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Resource/Order/Payment.php b/app/code/Magento/Sales/Model/Resource/Order/Payment.php
index fdb62b42976b426bdfc35e12ecbacbcd255f273d..b8a4ec6c56f5445959cfb767b687ff0ea343c565 100644
--- a/app/code/Magento/Sales/Model/Resource/Order/Payment.php
+++ b/app/code/Magento/Sales/Model/Resource/Order/Payment.php
@@ -53,13 +53,13 @@ class Payment extends \Magento\Sales\Model\Resource\Order\AbstractOrder
     protected $_paymentConverter;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Resource $resource
      * @param \Magento\Eav\Model\Entity\TypeFactory $eavEntityTypeFactory
      * @param \Magento\Sales\Model\Payment\Method\Converter $paymentConverter
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Resource $resource,
         \Magento\Eav\Model\Entity\TypeFactory $eavEntityTypeFactory,
         \Magento\Sales\Model\Payment\Method\Converter $paymentConverter
diff --git a/app/code/Magento/Sales/Model/Resource/Order/Payment/Collection.php b/app/code/Magento/Sales/Model/Resource/Order/Payment/Collection.php
index 74c3344c7a1ba9d75ddae4a0467ab2af1310ebb4..5af83d740b754908580fb25e14e0588d9d577f8e 100644
--- a/app/code/Magento/Sales/Model/Resource/Order/Payment/Collection.php
+++ b/app/code/Magento/Sales/Model/Resource/Order/Payment/Collection.php
@@ -51,7 +51,7 @@ class Collection extends \Magento\Sales\Model\Resource\Order\Collection\Abstract
     protected $_converter;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -59,7 +59,7 @@ class Collection extends \Magento\Sales\Model\Resource\Order\Collection\Abstract
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Resource/Quote/Item/Collection.php b/app/code/Magento/Sales/Model/Resource/Quote/Item/Collection.php
index 995c558072690fb2a8c6daf5a8e5448e96ec0fc8..fe6db92703668642e4c8f2dd8c7dd552459031db 100644
--- a/app/code/Magento/Sales/Model/Resource/Quote/Item/Collection.php
+++ b/app/code/Magento/Sales/Model/Resource/Quote/Item/Collection.php
@@ -61,7 +61,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_quoteConfig;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -71,7 +71,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Resource/Quote/Payment/Collection.php b/app/code/Magento/Sales/Model/Resource/Quote/Payment/Collection.php
index f03a5046f6536604bc3b17cbdf4d9f17893ecdeb..a278e255c46eb9d9e9ad3664ea7acb03fa8f7498 100644
--- a/app/code/Magento/Sales/Model/Resource/Quote/Payment/Collection.php
+++ b/app/code/Magento/Sales/Model/Resource/Quote/Payment/Collection.php
@@ -37,7 +37,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_converter;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -45,7 +45,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Resource/Report/Bestsellers/Collection.php b/app/code/Magento/Sales/Model/Resource/Report/Bestsellers/Collection.php
index eaf69c68b8265d744c550638f18de222e543de9a..7a3bede3d88d60ff6dbc7c29915ffb5f7acb55a2 100644
--- a/app/code/Magento/Sales/Model/Resource/Report/Bestsellers/Collection.php
+++ b/app/code/Magento/Sales/Model/Resource/Report/Bestsellers/Collection.php
@@ -52,14 +52,14 @@ class Collection
     protected $_selectedColumns    = array();
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Sales\Model\Resource\Report $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Resource/Report/Collection/AbstractCollection.php b/app/code/Magento/Sales/Model/Resource/Report/Collection/AbstractCollection.php
index 9d80f980bd376db10dd928f4e155f0b27000e00f..129d3cd399e2b48f10c85ed63b7bc10300e23ebc 100644
--- a/app/code/Magento/Sales/Model/Resource/Report/Collection/AbstractCollection.php
+++ b/app/code/Magento/Sales/Model/Resource/Report/Collection/AbstractCollection.php
@@ -45,14 +45,14 @@ class AbstractCollection
     protected $_orderStatus        = null;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Sales\Model\Resource\Report $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Resource/Report/Invoiced/Collection/Invoiced.php b/app/code/Magento/Sales/Model/Resource/Report/Invoiced/Collection/Invoiced.php
index 31987c451ed636e392a88d3ccaab45ded54fab40..4e36236bfd479d5ce85e0d341604d6b0782d8092 100644
--- a/app/code/Magento/Sales/Model/Resource/Report/Invoiced/Collection/Invoiced.php
+++ b/app/code/Magento/Sales/Model/Resource/Report/Invoiced/Collection/Invoiced.php
@@ -38,14 +38,14 @@ class Invoiced
     extends \Magento\Sales\Model\Resource\Report\Invoiced\Collection\Order
 {
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Sales\Model\Resource\Report $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Resource/Report/Invoiced/Collection/Order.php b/app/code/Magento/Sales/Model/Resource/Report/Invoiced/Collection/Order.php
index 0c8a5966014b5b0cb6b49bdeee9d791110808134..2d36eaf0ed3ab0f7c2a6055f0aba968a49c3c56e 100644
--- a/app/code/Magento/Sales/Model/Resource/Report/Invoiced/Collection/Order.php
+++ b/app/code/Magento/Sales/Model/Resource/Report/Invoiced/Collection/Order.php
@@ -52,14 +52,14 @@ class Order
     protected $_selectedColumns    = array();
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Sales\Model\Resource\Report $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Resource/Report/Order/Collection.php b/app/code/Magento/Sales/Model/Resource/Report/Order/Collection.php
index bd9e749075afbedc194b5244550acd3f677fadbd..792d5fba8eddddbbcfc37311fe4ee03899565508 100644
--- a/app/code/Magento/Sales/Model/Resource/Report/Order/Collection.php
+++ b/app/code/Magento/Sales/Model/Resource/Report/Order/Collection.php
@@ -58,14 +58,14 @@ class Collection extends \Magento\Sales\Model\Resource\Report\Collection\Abstrac
     protected $_selectedColumns    = array();
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Sales\Model\Resource\Report $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Resource/Report/Refunded/Collection/Order.php b/app/code/Magento/Sales/Model/Resource/Report/Refunded/Collection/Order.php
index 7a56b52862de72853c0110eba73fdf89d5a3f11c..0c83014557652981baca2b502ff6c30199baf16d 100644
--- a/app/code/Magento/Sales/Model/Resource/Report/Refunded/Collection/Order.php
+++ b/app/code/Magento/Sales/Model/Resource/Report/Refunded/Collection/Order.php
@@ -52,14 +52,14 @@ class Order
     protected $_selectedColumns    = array();
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Sales\Model\Resource\Report $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Resource/Report/Refunded/Collection/Refunded.php b/app/code/Magento/Sales/Model/Resource/Report/Refunded/Collection/Refunded.php
index 228c0dd1dec8cf92c5f6198fd38339bc4930ed81..04bdf59eefc69b56c02cfec97cfdc2bcaef8e164 100644
--- a/app/code/Magento/Sales/Model/Resource/Report/Refunded/Collection/Refunded.php
+++ b/app/code/Magento/Sales/Model/Resource/Report/Refunded/Collection/Refunded.php
@@ -38,14 +38,14 @@ class Refunded
     extends \Magento\Sales\Model\Resource\Report\Refunded\Collection\Order
 {
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Sales\Model\Resource\Report $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Resource/Report/Shipping/Collection/Order.php b/app/code/Magento/Sales/Model/Resource/Report/Shipping/Collection/Order.php
index 534c794bfe02dec8052f369ebf5d834fd805bd05..4b9ec8cae717289a021db4327c8f29890c7efaac 100644
--- a/app/code/Magento/Sales/Model/Resource/Report/Shipping/Collection/Order.php
+++ b/app/code/Magento/Sales/Model/Resource/Report/Shipping/Collection/Order.php
@@ -52,14 +52,14 @@ class Order
     protected $_selectedColumns    = array();
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Sales\Model\Resource\Report $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Resource/Report/Shipping/Collection/Shipment.php b/app/code/Magento/Sales/Model/Resource/Report/Shipping/Collection/Shipment.php
index 8b446ebc71e4ff97b3b1a73000a66341f7dc4cd4..06b973e480a3ec6b800952180fd98e8f3603eff6 100644
--- a/app/code/Magento/Sales/Model/Resource/Report/Shipping/Collection/Shipment.php
+++ b/app/code/Magento/Sales/Model/Resource/Report/Shipping/Collection/Shipment.php
@@ -38,14 +38,14 @@ class Shipment
     extends \Magento\Sales\Model\Resource\Report\Shipping\Collection\Order
 {
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Sales\Model\Resource\Report $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Resource/Sale/Collection.php b/app/code/Magento/Sales/Model/Resource/Sale/Collection.php
index 3663ec9150f6523eeb465bc70841ff4fc8e54427..a8a6dbc34aea7ec2a19d84ca7af05deda2203db5 100644
--- a/app/code/Magento/Sales/Model/Resource/Sale/Collection.php
+++ b/app/code/Magento/Sales/Model/Resource/Sale/Collection.php
@@ -67,7 +67,7 @@ class Collection extends \Magento\Data\Collection\Db
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -89,7 +89,7 @@ class Collection extends \Magento\Data\Collection\Db
     /**
      * Set sales order entity and establish read connection
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -98,7 +98,7 @@ class Collection extends \Magento\Data\Collection\Db
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Sales/Model/Service/Quote.php b/app/code/Magento/Sales/Model/Service/Quote.php
index ad3150838a157fd01e7db5eecad92c39204243d7..eead70baac3d3019eb7a99f7c3d630092d8b6719 100644
--- a/app/code/Magento/Sales/Model/Service/Quote.php
+++ b/app/code/Magento/Sales/Model/Service/Quote.php
@@ -76,7 +76,7 @@ class Quote
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -93,14 +93,14 @@ class Quote
     /**
      * Class constructor
      *
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Sales\Model\Quote $quote
      * @param \Magento\Sales\Model\Convert\QuoteFactory $convertQuoteFactory
      * @param \Magento\Customer\Model\Session $customerSession
      * @param \Magento\Core\Model\Resource\TransactionFactory $transactionFactory
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Sales\Model\Quote $quote,
         \Magento\Sales\Model\Convert\QuoteFactory $convertQuoteFactory,
         \Magento\Customer\Model\Session $customerSession,
diff --git a/app/code/Magento/Sales/etc/di.xml b/app/code/Magento/Sales/etc/di.xml
index 524e97cfa0b27c3ddb62bfb3070119da165380cc..713cbb774896172e3cb9d4c9ca7267626bd6aec1 100644
--- a/app/code/Magento/Sales/etc/di.xml
+++ b/app/code/Magento/Sales/etc/di.xml
@@ -25,91 +25,6 @@
 -->
 <config>
     <type name="Magento\Sales\Model\Resource\Report" shared="false" />
-    <type name="Magento\Sales\Model\Convert\Order">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Convert\Quote">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Observer">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Order\Creditmemo">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Order\Invoice">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Order\Item">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Order\Payment\Transaction">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Order\Payment">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Order">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Quote\Address\Total\Discount">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Quote\Config">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Quote\Item">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Quote\Payment">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Quote">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Resource\Order\AbstractOrder">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Resource\Sale\Collection">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Sales\Model\Service\Quote">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Sales\Model\Order\Pdf\Config\Reader">
         <param name="fileName">
             <value>pdf.xml</value>
@@ -141,8 +56,8 @@
             </value>
         </param>
     </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <sales_setup>Magento\Sales\Model\Resource\Setup</sales_setup>
             </value>
diff --git a/app/code/Magento/Sales/i18n/de_DE.csv b/app/code/Magento/Sales/i18n/de_DE.csv
index f806b65693b2c610131b07e053480861ea4b17bd..f907cc1d624d2c280be69a1e164d116a829cffcb 100644
--- a/app/code/Magento/Sales/i18n/de_DE.csv
+++ b/app/code/Magento/Sales/i18n/de_DE.csv
@@ -472,7 +472,7 @@
 "PDF Print-outs","PDF Ausdrucke"
 "PDF object is not specified.","PDF Objekt ist nicht spezifiziert."
 "PDF page object is not specified.","PDF Seitenobjekt ist nicht spezifiziert"
-"PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\Default","PDF Gesamtmodell sollte \Magento\Sales\Model\Order\Pdf\Total\Default erweitern"
+"PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal","PDF Gesamtmodell sollte \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal erweitern"
 "Package","Paket"
 "Package types are disregarded for USPS domestic shipments.","Paket-Typen werden für den USPS Inlandsversand außer Acht gelassen."
 "Packages","Verpackungen"
@@ -723,7 +723,7 @@
 "Tax Percent","Steuer Prozent"
 "Telephone","Telefon"
 "The Order State ""%s"" must not be set manually.","Der Auftragsstatus ""%s"" darf nicht manuell festgelegt werden."
-"The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\Abstract.","Das adresse total model sollte von \Magento\Sales\Model\Quote\Address\Total\Abstract erweitert werden."
+"The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\AbstractTotal.","Das adresse total model sollte von \Magento\Sales\Model\Quote\Address\Total\AbstractTotal erweitert werden."
 "The billing agreement ""%s"" has been canceled.","Die Rechnungsvereinbarung ""%s"" wurde annuliert."
 "The billing agreement ""%s"" has been created.","Die Rechnungsvereinbarung ""%s"" wurde erstellt."
 "The coupon code has been accepted.","Der Gutscheincode ist akzeptiert worden."
@@ -794,7 +794,7 @@
 "Total Shipping Charges","Gesamte Versandkosten"
 "Total Tax","Gesamtsteuern"
 "Total Weight","Gesamtgewicht"
-"Total model should be extended from \Magento\Sales\Model\Order\Total\Abstract.","Das Gesamtmodell ist um \Magento\Sales\Model\Order\Total\Abstract zu erweitern."
+"Total model should be extended from \Magento\Sales\Model\Order\Total\AbstractTotal.","Das Gesamtmodell ist um \Magento\Sales\Model\Order\Total\AbstractTotal zu erweitern."
 "Track Order","Bestellung nachverfolgen"
 "Track all shipment(s)","Alle Sendungen nachverfolgen"
 "Track all shipments","Allen Versand verfolgen"
diff --git a/app/code/Magento/Sales/i18n/en_US.csv b/app/code/Magento/Sales/i18n/en_US.csv
index f45d44effad4a55a5766f917fccddcf1d43508fe..b8f1d6296a0979e181b21df840c75169c937b93a 100644
--- a/app/code/Magento/Sales/i18n/en_US.csv
+++ b/app/code/Magento/Sales/i18n/en_US.csv
@@ -475,7 +475,7 @@
 "PDF Print-outs","PDF Print-outs"
 "PDF object is not specified.","PDF object is not specified."
 "PDF page object is not specified.","PDF page object is not specified."
-"PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\Default","PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\Default"
+"PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal","PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal"
 "Package","Package"
 "Package types are disregarded for USPS domestic shipments.","Package types are disregarded for USPS domestic shipments."
 "Packages","Packages"
@@ -726,7 +726,7 @@
 "Tax Percent","Tax Percent"
 "Telephone","Telephone"
 "The Order State ""%s"" must not be set manually.","The Order State ""%s"" must not be set manually."
-"The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\Abstract.","The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\Abstract."
+"The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\AbstractTotal.","The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\AbstractTotal."
 "The billing agreement ""%s"" has been canceled.","The billing agreement ""%s"" has been canceled."
 "The billing agreement ""%s"" has been created.","The billing agreement ""%s"" has been created."
 "The coupon code has been accepted.","The coupon code has been accepted."
@@ -797,7 +797,7 @@
 "Total Shipping Charges","Total Shipping Charges"
 "Total Tax","Total Tax"
 "Total Weight","Total Weight"
-"Total model should be extended from \Magento\Sales\Model\Order\Total\Abstract.","Total model should be extended from \Magento\Sales\Model\Order\Total\Abstract."
+"Total model should be extended from \Magento\Sales\Model\Order\Total\AbstractTotal.","Total model should be extended from \Magento\Sales\Model\Order\Total\AbstractTotal."
 "Track Order","Track Order"
 "Track all shipment(s)","Track all shipment(s)"
 "Track all shipments","Track all shipments"
diff --git a/app/code/Magento/Sales/i18n/es_ES.csv b/app/code/Magento/Sales/i18n/es_ES.csv
index 44dec421b4a5b4c57558b0fcc3ceae2abefda238..bc1d43e119b9d23dbbf00e720afdb6c19d801fd3 100644
--- a/app/code/Magento/Sales/i18n/es_ES.csv
+++ b/app/code/Magento/Sales/i18n/es_ES.csv
@@ -472,7 +472,7 @@
 "PDF Print-outs","Impresos en PDF"
 "PDF object is not specified.","Objeto en PDF no especificado."
 "PDF page object is not specified.","Objeto de página en PDF no especificado."
-"PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\Default","Módelo total en PDF debería extenderse Gestionar_Ventas_Modelo_Pedido_PDF_Total_Defecto"
+"PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal","Módelo total en PDF debería extenderse \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal"
 "Package","Paquete"
 "Package types are disregarded for USPS domestic shipments.","Los tipos de paquetes no serán tenidos en cuenta por el servicio postal de USA para envíos nacionales."
 "Packages","Paquetes"
@@ -723,7 +723,7 @@
 "Tax Percent","Porcentaje de impuestos"
 "Telephone","Teléfono"
 "The Order State ""%s"" must not be set manually.","El estado del pedido ""%s"" no se debe establecer manualmente."
-"The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\Abstract.","El modelo de dirección total debería extenderse desde \Magento\Sales\Model\Quote\Address\Total\Abstract."
+"The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\AbstractTotal.","El modelo de dirección total debería extenderse desde \Magento\Sales\Model\Quote\Address\Total\AbstractTotal."
 "The billing agreement ""%s"" has been canceled.","El acuerdo de facturación ""%s"" se ha cancelado."
 "The billing agreement ""%s"" has been created.","El acuerdo de facturación ""%s"" se ha creado."
 "The coupon code has been accepted.","El código del cupón se ha aceptado"
@@ -795,7 +795,7 @@ No hay etiquetas de envío para las %s seleccionadas. [[[if %s is feminine]]]"
 "Total Shipping Charges","Total de gastos de envío"
 "Total Tax","Impuesto Total"
 "Total Weight","Peso total"
-"Total model should be extended from \Magento\Sales\Model\Order\Total\Abstract.","El modelo total debe anpliarse desde \Magento\Sales\Model\Order\Total\Abstract"
+"Total model should be extended from \Magento\Sales\Model\Order\Total\AbstractTotal.","El modelo total debe anpliarse desde \Magento\Sales\Model\Order\Total\AbstractTotal"
 "Track Order","Rastrear un Pedido"
 "Track all shipment(s)","Siga su envío(s)"
 "Track all shipments","Seguir todos los envíos"
diff --git a/app/code/Magento/Sales/i18n/fr_FR.csv b/app/code/Magento/Sales/i18n/fr_FR.csv
index 8eb3972913057146a11b5aaa10d55cbc960095ce..8d1e957d987cc442e38c1f2847cb8c821b7e190e 100644
--- a/app/code/Magento/Sales/i18n/fr_FR.csv
+++ b/app/code/Magento/Sales/i18n/fr_FR.csv
@@ -472,7 +472,7 @@
 "PDF Print-outs","Impressions de PDF"
 "PDF object is not specified.","L'objet PDF n'est pas spécifié."
 "PDF page object is not specified.","La page de l'objet PDF n'est pas spécifiée."
-"PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\Default","Modèle total de PDF devrait étendre \Magento\Sales\Model\Order\Pdf\Total\Default"
+"PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal","Modèle total de PDF devrait étendre \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal"
 "Package","Colis"
 "Package types are disregarded for USPS domestic shipments.","Il n'est pas tenu compte du type de paquet  pour les expéditions nationales par UPS."
 "Packages","Paquets"
@@ -723,7 +723,7 @@
 "Tax Percent","Pourcentage de taxe"
 "Telephone","Téléphone"
 "The Order State ""%s"" must not be set manually.","L’État de la commande ""%s"" ne doit pas être défini manuellement."
-"The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\Abstract.","Le modèle total de l'adresse devrait être étendu à partir de \Magento\Sales\Model\Quote\Address\Total\Abstract."
+"The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\AbstractTotal.","Le modèle total de l'adresse devrait être étendu à partir de \Magento\Sales\Model\Quote\Address\Total\AbstractTotal."
 "The billing agreement ""%s"" has been canceled.","L'accord de facturation ""%s"" a été annulé."
 "The billing agreement ""%s"" has been created.","L'accord de facturation ""%s"" a été créé."
 "The coupon code has been accepted.","Le code de coupon a été accepté"
@@ -794,7 +794,7 @@
 "Total Shipping Charges","Charges totales expédition"
 "Total Tax","Taxe totale"
 "Total Weight","Poids total"
-"Total model should be extended from \Magento\Sales\Model\Order\Total\Abstract.","Le modèle complet devrait étendu à partir de Magento_Ventes_Modèle_Commande_Total_Résumé."
+"Total model should be extended from \Magento\Sales\Model\Order\Total\AbstractTotal.","Le modèle complet devrait étendu à partir de \Magento\Sales\Model\Order\Total\AbstractTotal."
 "Track Order","Suivre la commande"
 "Track all shipment(s)","Suivre toutes les commandes"
 "Track all shipments","Suivre toutes les livraisons"
diff --git a/app/code/Magento/Sales/i18n/nl_NL.csv b/app/code/Magento/Sales/i18n/nl_NL.csv
index 954717123520804dce61b33c9615d4666d5c784d..3a3af6ce0188900174033fe5c5c5100ef6fd5cad 100644
--- a/app/code/Magento/Sales/i18n/nl_NL.csv
+++ b/app/code/Magento/Sales/i18n/nl_NL.csv
@@ -472,7 +472,7 @@
 "PDF Print-outs","PDF Print-outs"
 "PDF object is not specified.","PDF-object is niet gespecificeerd."
 "PDF page object is not specified.","PDF-pagina object wordt niet gespecificeerd."
-"PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\Default","PDF totaal model moet het volgende uitbreiden: \Magento\Sales\Model\Order\Pdf\Total\Default"
+"PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal","PDF totaal model moet het volgende uitbreiden: \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal"
 "Package","Pakket"
 "Package types are disregarded for USPS domestic shipments.","Pakketten worden buiten beschouwing gelaten voor binnenlandse zendingen van USPS."
 "Packages","Pakketen"
@@ -723,7 +723,7 @@
 "Tax Percent","Belastingspercentage"
 "Telephone","telefoon"
 "The Order State ""%s"" must not be set manually.","De bestellingsstaat ""%s"" moet niet handmatig ingesteld worden."
-"The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\Abstract.","Het totale adresmodel moet uitgebreid worden van \Magento\Sales\Model\Quote\Address\Total\Abstract."
+"The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\AbstractTotal.","Het totale adresmodel moet uitgebreid worden van \Magento\Sales\Model\Quote\Address\Total\AbstractTotal."
 "The billing agreement ""%s"" has been canceled.","De afrekeningsovereenkomst ""%s"" is geannuleerd."
 "The billing agreement ""%s"" has been created.","De afrekeningsovereenkomst ""%s"" is aangemaakt."
 "The coupon code has been accepted.","De kortingsboncode is geaccepteerd."
@@ -794,7 +794,7 @@
 "Total Shipping Charges","Totaal Verzendkosten"
 "Total Tax","Totale Belasting"
 "Total Weight","Totaal Gewicht"
-"Total model should be extended from \Magento\Sales\Model\Order\Total\Abstract.","Totaal model moet worden uitgebreid van \Magento\Sales\Model\Order\Total\Abstract."
+"Total model should be extended from \Magento\Sales\Model\Order\Total\AbstractTotal.","Totaal model moet worden uitgebreid van \Magento\Sales\Model\Order\Total\AbstractTotal."
 "Track Order","Track zending"
 "Track all shipment(s)","Volg alle zending(en)"
 "Track all shipments","Alle verzendingen volgen"
diff --git a/app/code/Magento/Sales/i18n/pt_BR.csv b/app/code/Magento/Sales/i18n/pt_BR.csv
index 2985ae65175bbcaad101ac9874cf2a1dab724e51..ce8f5786e1fb4a8ac83327c024233277d3fc7a0f 100644
--- a/app/code/Magento/Sales/i18n/pt_BR.csv
+++ b/app/code/Magento/Sales/i18n/pt_BR.csv
@@ -472,7 +472,7 @@
 "PDF Print-outs","Impressões de PDF"
 "PDF object is not specified.","Objeto de PDF não especificado."
 "PDF page object is not specified.","Página do objeto em PDF não especificado."
-"PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\Default","A extensão total do modelo de PDF deve ser \Magento\Sales\Model\Order\Pdf\Total\Default"
+"PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal","A extensão total do modelo de PDF deve ser \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal"
 "Package","Embalagem"
 "Package types are disregarded for USPS domestic shipments.","Desconsidera-se o tipo de encomenda para frete doméstico do correio dos EUA."
 "Packages","Embalagens"
@@ -723,7 +723,7 @@
 "Tax Percent","Porcentagem de Imposto"
 "Telephone","Telefone"
 "The Order State ""%s"" must not be set manually.","O Estado do Pedido ""%s"" não pode ser alterado manualmente"
-"The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\Abstract.","O modelo de endereço total deve ser alargado de \Magento\Sales\Model\Quote\Address\Total\Abstract."
+"The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\AbstractTotal.","O modelo de endereço total deve ser alargado de \Magento\Sales\Model\Quote\Address\Total\AbstractTotal."
 "The billing agreement ""%s"" has been canceled.","O contrato de faturamento ""%s"" foi cancelado."
 "The billing agreement ""%s"" has been created.","O contrato de faturamento ""%s"" foi criado."
 "The coupon code has been accepted.","O código do cupão foi aceite."
@@ -794,7 +794,7 @@
 "Total Shipping Charges","Total dos Gastos de Envio"
 "Total Tax","Total dos Impostos"
 "Total Weight","Peso Total"
-"Total model should be extended from \Magento\Sales\Model\Order\Total\Abstract.","O modelo de total deve ser ampliado a partir de \Magento\Sales\Model\Order\Total\Abstract."
+"Total model should be extended from \Magento\Sales\Model\Order\Total\AbstractTotal.","O modelo de total deve ser ampliado a partir de \Magento\Sales\Model\Order\Total\AbstractTotal."
 "Track Order","Rastrear Ordem"
 "Track all shipment(s)","Rastrear todas as remessas"
 "Track all shipments","Rastrear todos os envios"
diff --git a/app/code/Magento/Sales/i18n/zh_CN.csv b/app/code/Magento/Sales/i18n/zh_CN.csv
index 54750f6ac9236d58b03232e22294429d5c135afa..c74f9e5d29c100a6a0c9deffc6bd018088497107 100644
--- a/app/code/Magento/Sales/i18n/zh_CN.csv
+++ b/app/code/Magento/Sales/i18n/zh_CN.csv
@@ -472,7 +472,7 @@
 "PDF Print-outs","PDF版打印输出"
 "PDF object is not specified.","PDF对象未指定。"
 "PDF page object is not specified.","PDF页面对象未指定。"
-"PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\Default","PDF总模块必须扩展\Magento\Sales\Model\Order\Pdf\Total\Default"
+"PDF total model should extend \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal","PDF总模块必须扩展\Magento\Sales\Model\Order\Pdf\Total\DefaultTotal"
 "Package","包裹"
 "Package types are disregarded for USPS domestic shipments.","USPS国内发货将忽略包装类型。"
 "Packages","包裹"
@@ -723,7 +723,7 @@
 "Tax Percent","税率"
 "Telephone","电话"
 "The Order State ""%s"" must not be set manually.","订单状态 ""%s"" 必须手工设置。"
-"The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\Abstract.","地址总模块应扩展自\Magento\Sales\Model\Quote\Address\Total\Abstract。"
+"The address total model should be extended from \Magento\Sales\Model\Quote\Address\Total\AbstractTotal.","地址总模块应扩展自\Magento\Sales\Model\Quote\Address\Total\AbstractTotal。"
 "The billing agreement ""%s"" has been canceled.","该记账协议 ""%s"" 已被取消。"
 "The billing agreement ""%s"" has been created.","该记账协议 ""%s"" 已被创建。"
 "The coupon code has been accepted.","该代金券代码已被使用。"
@@ -794,7 +794,7 @@
 "Total Shipping Charges","总运费"
 "Total Tax","总税款"
 "Total Weight","总高度"
-"Total model should be extended from \Magento\Sales\Model\Order\Total\Abstract.","总模型应延长自 \Magento\Sales\Model\Order\Total\Abstract。"
+"Total model should be extended from \Magento\Sales\Model\Order\Total\AbstractTotal.","总模型应延长自 \Magento\Sales\Model\Order\Total\AbstractTotal。"
 "Track Order","追踪订单"
 "Track all shipment(s)","追踪所有运送"
 "Track all shipments","追踪所有运单"
diff --git a/app/code/Magento/SalesRule/Model/Quote/Discount.php b/app/code/Magento/SalesRule/Model/Quote/Discount.php
index 70e73090bad4c545be8c3944ee9ea9aae6a27ef8..70c72d1f204965deac6481eeb4ab2cbcd2033a96 100644
--- a/app/code/Magento/SalesRule/Model/Quote/Discount.php
+++ b/app/code/Magento/SalesRule/Model/Quote/Discount.php
@@ -39,7 +39,7 @@ class Discount extends \Magento\Sales\Model\Quote\Address\Total\AbstractTotal
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -49,12 +49,12 @@ class Discount extends \Magento\Sales\Model\Quote\Address\Total\AbstractTotal
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\SalesRule\Model\Validator $validator
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\SalesRule\Model\Validator $validator
     ) {
diff --git a/app/code/Magento/SalesRule/Model/Resource/Report/Collection.php b/app/code/Magento/SalesRule/Model/Resource/Report/Collection.php
index d7e7d12df048c2c808d891c84e64a5d2f1151c6c..ddc9cd413f31e0c9cb9600d9ef0caf1cbaa3e1dc 100644
--- a/app/code/Magento/SalesRule/Model/Resource/Report/Collection.php
+++ b/app/code/Magento/SalesRule/Model/Resource/Report/Collection.php
@@ -66,7 +66,7 @@ class Collection extends \Magento\Sales\Model\Resource\Report\Collection\Abstrac
 
     /**
      * @param \Magento\SalesRule\Model\Resource\Report\RuleFactory $ruleFactory
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -74,7 +74,7 @@ class Collection extends \Magento\Sales\Model\Resource\Report\Collection\Abstrac
      */
     public function __construct(
         \Magento\SalesRule\Model\Resource\Report\RuleFactory $ruleFactory,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/SalesRule/Model/Resource/Rule/Collection.php b/app/code/Magento/SalesRule/Model/Resource/Rule/Collection.php
index 210795e59be2d40f9b1c6d020f30ffa7ef48a9cc..7abb61b1d406c2322843ba03d6dc07caa11aa575 100644
--- a/app/code/Magento/SalesRule/Model/Resource/Rule/Collection.php
+++ b/app/code/Magento/SalesRule/Model/Resource/Rule/Collection.php
@@ -60,7 +60,7 @@ class Collection extends \Magento\Rule\Model\Resource\Rule\Collection\AbstractCo
     protected $_date;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -68,7 +68,7 @@ class Collection extends \Magento\Rule\Model\Resource\Rule\Collection\AbstractCo
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/SalesRule/Model/Rule.php b/app/code/Magento/SalesRule/Model/Rule.php
index 9910d3ffdd8821a64682b97996390c2ec8d358d2..856b6198ee33ad0c0d4abf81010cf90aac599001 100644
--- a/app/code/Magento/SalesRule/Model/Rule.php
+++ b/app/code/Magento/SalesRule/Model/Rule.php
@@ -180,7 +180,7 @@ class Rule extends \Magento\Rule\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -215,7 +215,7 @@ class Rule extends \Magento\Rule\Model\AbstractModel
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Data\Form\Factory $formFactory
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
@@ -231,7 +231,7 @@ class Rule extends \Magento\Rule\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Data\Form\Factory $formFactory,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
diff --git a/app/code/Magento/SalesRule/Model/Rule/Action/Collection.php b/app/code/Magento/SalesRule/Model/Rule/Action/Collection.php
index eb32139217636af9ae34625e0fbf5613a1002cf9..0f3314c01b1d4f3802b2925f782394c9a0b453c1 100644
--- a/app/code/Magento/SalesRule/Model/Rule/Action/Collection.php
+++ b/app/code/Magento/SalesRule/Model/Rule/Action/Collection.php
@@ -32,13 +32,13 @@ class Collection extends \Magento\Rule\Model\Action\Collection
     /**
      * @param \Magento\Core\Model\View\Url $viewUrl
      * @param \Magento\Rule\Model\ActionFactory $actionFactory
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param array $data
      */
     public function __construct(
         \Magento\Core\Model\View\Url $viewUrl,
         \Magento\Rule\Model\ActionFactory $actionFactory,
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         array $data = array()
     ) {
         parent::__construct($viewUrl, $actionFactory, $layout, $data);
diff --git a/app/code/Magento/SalesRule/Model/Rule/Condition/Combine.php b/app/code/Magento/SalesRule/Model/Rule/Condition/Combine.php
index 18a046ad8f2196e9ef9fe32aef0ad1e9d1135eba..ad3d052bac01b93309d5ff5fcf721fbb58937cb9 100644
--- a/app/code/Magento/SalesRule/Model/Rule/Condition/Combine.php
+++ b/app/code/Magento/SalesRule/Model/Rule/Condition/Combine.php
@@ -32,7 +32,7 @@ class Combine extends \Magento\Rule\Model\Condition\Combine
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -42,13 +42,13 @@ class Combine extends \Magento\Rule\Model\Condition\Combine
     protected $_conditionAddress;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Rule\Model\Condition\Context $context
      * @param \Magento\SalesRule\Model\Rule\Condition\Address $conditionAddress
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Rule\Model\Condition\Context $context,
         \Magento\SalesRule\Model\Rule\Condition\Address $conditionAddress,
         array $data = array()
diff --git a/app/code/Magento/SalesRule/Model/Validator.php b/app/code/Magento/SalesRule/Model/Validator.php
index c6990303ddc890f92ed45e5f67c1bfa453e1765e..217433cadc9e77e96830179be637abc5ec49ef6b 100644
--- a/app/code/Magento/SalesRule/Model/Validator.php
+++ b/app/code/Magento/SalesRule/Model/Validator.php
@@ -87,7 +87,7 @@ class Validator extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -113,7 +113,7 @@ class Validator extends \Magento\Core\Model\AbstractModel
     /**
      * @param \Magento\SalesRule\Model\Resource\Coupon\UsageFactory $usageFactory
      * @param \Magento\SalesRule\Model\Resource\Rule\CollectionFactory $collectionFactory
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Tax\Helper\Data $taxData
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
@@ -126,7 +126,7 @@ class Validator extends \Magento\Core\Model\AbstractModel
     public function __construct(
         \Magento\SalesRule\Model\Resource\Coupon\UsageFactory $usageFactory,
         \Magento\SalesRule\Model\Resource\Rule\CollectionFactory $collectionFactory,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Tax\Helper\Data $taxData,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
diff --git a/app/code/Magento/SalesRule/etc/di.xml b/app/code/Magento/SalesRule/etc/di.xml
index 50f59b8a8d918a6d07b0ba49df7cb1988410d415..5b7b9e81705b5a8d8aa6c98eff13e9a64eca5c86 100644
--- a/app/code/Magento/SalesRule/etc/di.xml
+++ b/app/code/Magento/SalesRule/etc/di.xml
@@ -28,33 +28,13 @@
     <type name="Magento\Sales\Model\Quote\Config">
         <plugin name="append_sales_rule_keys_to_quote" type="Magento\SalesRule\Model\Plugin\QuoteConfigProductAttributes"/>
     </type>
-    <type name="Magento\SalesRule\Model\Quote\Discount">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\SalesRule\Model\Rule\Condition\Combine">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\SalesRule\Model\Rule">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\SalesRule\Model\Validator">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
     <type name="Magento\SalesRule\Model\Observer">
         <param name="backendSession">
             <instance type="Magento\Backend\Model\Session\Proxy" />
         </param>
     </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <salesrule_setup>Magento\SalesRule\Model\Resource\Setup</salesrule_setup>
             </value>
diff --git a/app/code/Magento/Sitemap/Model/Sitemap.php b/app/code/Magento/Sitemap/Model/Sitemap.php
index a5f44deca1bd5eb627dd91c2964679b44c064e56..a039fe8e276a3e00e04dd7bbdea2673f66214834 100644
--- a/app/code/Magento/Sitemap/Model/Sitemap.php
+++ b/app/code/Magento/Sitemap/Model/Sitemap.php
@@ -150,7 +150,7 @@ class Sitemap extends \Magento\Core\Model\AbstractModel
     protected $_dateModel;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirModel;
 
@@ -160,7 +160,7 @@ class Sitemap extends \Magento\Core\Model\AbstractModel
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
@@ -174,9 +174,9 @@ class Sitemap extends \Magento\Core\Model\AbstractModel
      * @param \Magento\Sitemap\Model\Resource\Catalog\ProductFactory $productFactory
      * @param \Magento\Sitemap\Model\Resource\Cms\PageFactory $cmsFactory
      * @param \Magento\Core\Model\Date $modelDate
-     * @param \Magento\Core\Model\Dir $dirModel
+     * @param \Magento\App\Dir $dirModel
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param \Magento\Core\Model\Resource\AbstractResource $resource
      * @param \Magento\Data\Collection\Db $resourceCollection
      * @param array $data
@@ -191,9 +191,9 @@ class Sitemap extends \Magento\Core\Model\AbstractModel
         \Magento\Sitemap\Model\Resource\Catalog\ProductFactory $productFactory,
         \Magento\Sitemap\Model\Resource\Cms\PageFactory $cmsFactory,
         \Magento\Core\Model\Date $modelDate,
-        \Magento\Core\Model\Dir $dirModel,
+        \Magento\App\Dir $dirModel,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Controller\Request\Http $request,
+        \Magento\App\RequestInterface $request,
         \Magento\Core\Model\Resource\AbstractResource $resource = null,
         \Magento\Data\Collection\Db $resourceCollection = null,
         array $data = array()
@@ -574,7 +574,7 @@ class Sitemap extends \Magento\Core\Model\AbstractModel
      */
     protected function _getBaseDir()
     {
-        return $this->_dirModel->getDir(\Magento\Core\Model\Dir::ROOT);
+        return $this->_dirModel->getDir(\Magento\App\Dir::ROOT);
     }
 
     /**
diff --git a/app/code/Magento/Tax/Model/Calculation/Rate.php b/app/code/Magento/Tax/Model/Calculation/Rate.php
index 633398e1fc2a262a59aec5ea47b4892c5a3f9876..5f03df955fd166a5e793e9a9c2a6771c7bb2eec7 100644
--- a/app/code/Magento/Tax/Model/Calculation/Rate.php
+++ b/app/code/Magento/Tax/Model/Calculation/Rate.php
@@ -56,7 +56,7 @@ class Rate extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -71,7 +71,7 @@ class Rate extends \Magento\Core\Model\AbstractModel
     protected $_titleFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Directory\Model\RegionFactory $regionFactory
@@ -81,7 +81,7 @@ class Rate extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Directory\Model\RegionFactory $regionFactory,
diff --git a/app/code/Magento/Tax/Model/Calculation/Rule.php b/app/code/Magento/Tax/Model/Calculation/Rule.php
index be5a75deca6c8cc03586e4f0449fb670211fa70b..b47da0fc18d1ecf53ea419aa0bf2338f7a1a82e8 100644
--- a/app/code/Magento/Tax/Model/Calculation/Rule.php
+++ b/app/code/Magento/Tax/Model/Calculation/Rule.php
@@ -72,7 +72,7 @@ class Rule extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -82,7 +82,7 @@ class Rule extends \Magento\Core\Model\AbstractModel
     protected $_calculation;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
      * @param \Magento\Tax\Helper\Data $taxHelper
@@ -93,7 +93,7 @@ class Rule extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
         \Magento\Tax\Helper\Data $taxHelper,
diff --git a/app/code/Magento/Tax/Model/Resource/Calculation/Rate/Collection.php b/app/code/Magento/Tax/Model/Resource/Calculation/Rate/Collection.php
index dc132fff1dadcb7d2511bc0a5c8cf6b276e50b49..9bd5ec15ec5823b0a7cd54123f29415915354665 100644
--- a/app/code/Magento/Tax/Model/Resource/Calculation/Rate/Collection.php
+++ b/app/code/Magento/Tax/Model/Resource/Calculation/Rate/Collection.php
@@ -38,7 +38,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
@@ -46,7 +46,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param \Magento\Core\Model\Resource\Db\AbstractDb $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
diff --git a/app/code/Magento/Tax/Model/Resource/Report/Collection.php b/app/code/Magento/Tax/Model/Resource/Report/Collection.php
index d693f8076f78a203b31ad3200c3fce84a8f8f80e..59befbb9f7680ccd2df6f4bdb3e3bdf35e4d85df 100644
--- a/app/code/Magento/Tax/Model/Resource/Report/Collection.php
+++ b/app/code/Magento/Tax/Model/Resource/Report/Collection.php
@@ -54,14 +54,14 @@ class Collection extends \Magento\Sales\Model\Resource\Report\Collection\Abstrac
     protected $_selectedColumns    = array();
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
      * @param \Magento\Sales\Model\Resource\Report $resource
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Tax/etc/di.xml b/app/code/Magento/Tax/etc/di.xml
index 6d801af8a74778fcff00bd6f344333fc9a298f26..1c1db1c00b2dbc0b4d9237162049fad6e1393d9c 100644
--- a/app/code/Magento/Tax/etc/di.xml
+++ b/app/code/Magento/Tax/etc/di.xml
@@ -29,18 +29,8 @@
             <instance type="Magento\Tax\Model\ConfigProxy" />
         </param>
     </type>
-    <type name="Magento\Tax\Model\Calculation\Rate">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Tax\Model\Calculation\Rule">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <tax_setup>Magento\Tax\Model\Resource\Setup</tax_setup>
             </value>
diff --git a/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit.php b/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit.php
index 1ab169911eedd4e0c5b685facfafe2c82b0bd0d9..05b45b24077554a3f0fbbbf278589637b0c28554 100644
--- a/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit.php
+++ b/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit.php
@@ -69,7 +69,7 @@ class Edit extends \Magento\Backend\Block\Widget\Form\Container
             $this->getLayout()->getBlock('page-title')->setPageTitle($this->getHeaderText());
         }
 
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         $theme = $this->_getCurrentTheme();
         if ($theme) {
             if ($theme->isEditable()) {
@@ -114,7 +114,7 @@ class Edit extends \Magento\Backend\Block\Widget\Form\Container
      */
     public function getHeaderText()
     {
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         $theme = $this->_getCurrentTheme();
         if ($theme->getId()) {
             $header = __('Theme: %1', $theme->getThemeTitle());
diff --git a/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/Form/Element/Image.php b/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/Form/Element/Image.php
index c7cee73b5bfa7c8300c626430bc2f53150a446df..508abefa80f8a12440bfa9ce60eea52be119d2c6 100644
--- a/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/Form/Element/Image.php
+++ b/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/Form/Element/Image.php
@@ -40,7 +40,7 @@ class Image extends \Magento\Data\Form\Element\Image
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Data\Form\Element\Factory $factoryElement
      * @param \Magento\Data\Form\Element\CollectionFactory $factoryCollection
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param \Magento\Core\Model\Theme\Image\Path $imagePath
      * @param array $attributes
      */
@@ -48,7 +48,7 @@ class Image extends \Magento\Data\Form\Element\Image
         \Magento\Core\Helper\Data $coreData,
         \Magento\Data\Form\Element\Factory $factoryElement,
         \Magento\Data\Form\Element\CollectionFactory $factoryCollection,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         \Magento\Core\Model\Theme\Image\Path $imagePath,
         $attributes = array()
     ) {
diff --git a/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/Tab/General.php b/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/Tab/General.php
index d3d923ecb07f99e888e9477c1807c98ee03c0034..7cf6e9486f7a0316bcf9d0ca472a93a7e3f3b039 100644
--- a/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/Tab/General.php
+++ b/app/code/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/Tab/General.php
@@ -140,8 +140,8 @@ class General
             '"', '\'', $helper->jsonEncode($this->_getDefaultsInherited($themesCollections->addDefaultPattern()))
         ));
 
-        /** @var $parentTheme \Magento\Core\Model\Theme */
-        $parentTheme = $this->_objectManager->create('Magento\Core\Model\Theme');
+        /** @var $parentTheme \Magento\View\Design\ThemeInterface */
+        $parentTheme = $this->_objectManager->create('Magento\View\Design\ThemeInterface');
         if (!empty($formData['parent_id'])) {
             $parentTheme->load($formData['parent_id']);
         }
@@ -296,7 +296,7 @@ class General
     {
         $data = array('' => $this->_getDefaults());
 
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($themesCollections as $theme) {
             $theme->load($theme->getThemePath(), 'theme_path');
             if (!$theme->getId()) {
diff --git a/app/code/Magento/Theme/Controller/Adminhtml/System/Design/Theme.php b/app/code/Magento/Theme/Controller/Adminhtml/System/Design/Theme.php
index 7076603b7c5ec03aa4454d90e381c6ac102d42e2..bee1b30b336c5ee38364e85b83e233e7613e8dc1 100644
--- a/app/code/Magento/Theme/Controller/Adminhtml/System/Design/Theme.php
+++ b/app/code/Magento/Theme/Controller/Adminhtml/System/Design/Theme.php
@@ -84,8 +84,8 @@ class Theme extends \Magento\Adminhtml\Controller\Action
     public function editAction()
     {
         $themeId = (int)$this->getRequest()->getParam('id');
-        /** @var $theme \Magento\Core\Model\Theme */
-        $theme = $this->_objectManager->create('Magento\Core\Model\Theme');
+        /** @var $theme \Magento\View\Design\ThemeInterface */
+        $theme = $this->_objectManager->create('Magento\View\Design\ThemeInterface');
         try {
             $theme->setType(\Magento\Core\Model\Theme::TYPE_VIRTUAL);
             if ($themeId && (!$theme->load($themeId)->getId() || !$theme->isVisible())) {
@@ -178,8 +178,8 @@ class Theme extends \Magento\Adminhtml\Controller\Action
         $themeId = $this->getRequest()->getParam('id');
         try {
             if ($themeId) {
-                /** @var $theme \Magento\Core\Model\Theme */
-                $theme = $this->_objectManager->create('Magento\Core\Model\Theme')->load($themeId);
+                /** @var $theme \Magento\View\Design\ThemeInterface */
+                $theme = $this->_objectManager->create('Magento\View\Design\ThemeInterface')->load($themeId);
                 if (!$theme->getId()) {
                     throw new \InvalidArgumentException(sprintf('We cannot find a theme with id "%1".', $themeId));
                 }
@@ -309,8 +309,8 @@ class Theme extends \Magento\Adminhtml\Controller\Action
         $helper = $this->_objectManager->get('Magento\Core\Helper\Theme');
         $fileName = $helper->urlDecode($file);
         try {
-            /** @var $theme \Magento\Core\Model\Theme */
-            $theme = $this->_objectManager->create('Magento\Core\Model\Theme')->load($themeId);
+            /** @var $theme \Magento\View\Design\ThemeInterface */
+            $theme = $this->_objectManager->create('Magento\View\Design\ThemeInterface')->load($themeId);
             if (!$theme->getId()) {
                 throw new \InvalidArgumentException(sprintf('We cannot find a theme with id "%1".', $themeId));
             }
diff --git a/app/code/Magento/Theme/Model/Config.php b/app/code/Magento/Theme/Model/Config.php
index 41f009df2d4f2db5963f8c0cb4f03b5ca5f19d90..45d9a961678079bcb36c7b74f6561bc1335dbffc 100644
--- a/app/code/Magento/Theme/Model/Config.php
+++ b/app/code/Magento/Theme/Model/Config.php
@@ -49,7 +49,7 @@ class Config
     /**
      * Application event manager
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -67,7 +67,7 @@ class Config
      * @param \Magento\Core\Model\Config\Value $configData
      * @param \Magento\Core\Model\Config\Storage\WriterInterface $configWriter
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Cache\FrontendInterface $configCache
      * @param \Magento\Cache\FrontendInterface $layoutCache
      */
@@ -75,7 +75,7 @@ class Config
         \Magento\Core\Model\Config\Value $configData,
         \Magento\Core\Model\Config\Storage\WriterInterface $configWriter,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Cache\FrontendInterface $configCache,
         \Magento\Cache\FrontendInterface $layoutCache
     ) {
@@ -90,7 +90,7 @@ class Config
     /**
      * Assign theme to the stores
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @param array $stores
      * @param string $scope
      * @return $this
diff --git a/app/code/Magento/Theme/Model/Config/Customization.php b/app/code/Magento/Theme/Model/Config/Customization.php
index c488faf17ded2d0dca286d32648b7f74a0c1f304..e86ad5868cbe4a9b2a864ef02292a2824ae0745a 100644
--- a/app/code/Magento/Theme/Model/Config/Customization.php
+++ b/app/code/Magento/Theme/Model/Config/Customization.php
@@ -37,7 +37,7 @@ class Customization
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_design;
 
@@ -64,12 +64,12 @@ class Customization
 
     /**
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager,
-     * @param \Magento\Core\Model\View\DesignInterface $design
+     * @param \Magento\View\DesignInterface $design
      * @param \Magento\Core\Model\Resource\Theme\CollectionFactory $collectionFactory
      */
     public function __construct(
         \Magento\Core\Model\StoreManagerInterface $storeManager,
-        \Magento\Core\Model\View\DesignInterface $design,
+        \Magento\View\DesignInterface $design,
         \Magento\Core\Model\Resource\Theme\CollectionFactory $collectionFactory
     ) {
         $this->_storeManager    = $storeManager;
@@ -128,7 +128,7 @@ class Customization
     /**
      * Check if current theme has assigned to any store
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @param null|\Magento\Core\Model\Store $store
      * @return bool
      */
@@ -154,7 +154,7 @@ class Customization
     /**
      * Is theme assigned to specific store
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @param \Magento\Core\Model\Store $store
      * @return bool
      */
@@ -197,7 +197,7 @@ class Customization
         $this->_assignedTheme = array();
         $this->_unassignedTheme = array();
 
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($themeCollection as $theme) {
             if (isset($assignedThemes[$theme->getId()])) {
                 $theme->setAssignedStores($assignedThemes[$theme->getId()]);
diff --git a/app/code/Magento/Theme/Model/Theme/SingleFile.php b/app/code/Magento/Theme/Model/Theme/SingleFile.php
index e63926c8cec620337719f6c651d81f732b190eb1..7fba79bb64486dbe0bd02d593846fd40e35f7bc9 100644
--- a/app/code/Magento/Theme/Model/Theme/SingleFile.php
+++ b/app/code/Magento/Theme/Model/Theme/SingleFile.php
@@ -47,11 +47,11 @@ class SingleFile
     /**
      * Creates or updates custom single file which belong to a selected theme
      *
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @param string $fileContent
      * @return \Magento\Core\Model\Theme\FileInterface
      */
-    public function update(\Magento\Core\Model\Theme $themeModel, $fileContent)
+    public function update(\Magento\View\Design\ThemeInterface $themeModel, $fileContent)
     {
         $customFiles = $themeModel->getCustomization()->getFilesByType($this->_fileService->getType());
         $customCss = reset($customFiles);
diff --git a/app/code/Magento/Core/Model/Url/Validator.php b/app/code/Magento/Url/Validator.php
similarity index 98%
rename from app/code/Magento/Core/Model/Url/Validator.php
rename to app/code/Magento/Url/Validator.php
index aebca7215ef22b6f1342827b27a228a559061c94..53fc99aeb0328387032260a7f7af44164aa2cab4 100644
--- a/app/code/Magento/Core/Model/Url/Validator.php
+++ b/app/code/Magento/Url/Validator.php
@@ -31,7 +31,7 @@
  * @package    Magento_Core
  * @author     Magento Core Team <core@magentocommerce.com>
  */
-namespace Magento\Core\Model\Url;
+namespace Magento\Url;
 
 class Validator extends \Zend_Validate_Abstract
 {
diff --git a/app/code/Magento/User/Model/User.php b/app/code/Magento/User/Model/User.php
index 04ce6a8df5020c37cf7ef38c38557e862c2aaa0b..2d2f3b918b1543b27946ce4499751b08367782ec 100644
--- a/app/code/Magento/User/Model/User.php
+++ b/app/code/Magento/User/Model/User.php
@@ -124,7 +124,7 @@ class User
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager = null;
 
@@ -161,7 +161,7 @@ class User
      *
      * @param \Magento\Core\Model\Context $context
      * @param \Magento\Core\Model\Registry $registry
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\User\Helper\Data $userData
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Model\Sender $sender
@@ -179,7 +179,7 @@ class User
     public function __construct(
         \Magento\Core\Model\Context $context,
         \Magento\Core\Model\Registry $registry,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\User\Helper\Data $userData,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Model\Sender $sender,
@@ -232,7 +232,7 @@ class User
     {
         parent::__wakeup();
         $objectManager = \Magento\Core\Model\ObjectManager::getInstance();
-        $this->_eventManager    = $objectManager->get('Magento\Core\Model\Event\Manager');
+        $this->_eventManager    = $objectManager->get('Magento\Event\ManagerInterface');
         $this->_sender          = $objectManager->get('Magento\Core\Model\Sender');
         $this->_coreData        = $objectManager->get('Magento\Core\Helper\Data');
         $this->_userData        = $objectManager->get('Magento\User\Helper\Data');
diff --git a/app/code/Magento/User/etc/adminhtml/di.xml b/app/code/Magento/User/etc/adminhtml/di.xml
index 0b52ec3eb002d54ffa7e569fdecc48eed42fa671..3e4b27902840d355d4ae1caaca98aea149af2398 100644
--- a/app/code/Magento/User/etc/adminhtml/di.xml
+++ b/app/code/Magento/User/etc/adminhtml/di.xml
@@ -24,6 +24,7 @@
  */
 -->
 <config>
+    <preference for="Magento\Backend\Model\Auth\Credential\StorageInterface" type="Magento\User\Model\User" />
     <type name="Magento\Acl\Builder">
         <param name="ruleLoader">
             <instance type="Magento\User\Model\Acl\Loader\Rule" />
diff --git a/app/code/Magento/User/etc/di.xml b/app/code/Magento/User/etc/di.xml
index 8c4fd483e26d76caf285738ae1dc8c4772b59ea6..624736d04c89b86b8cfafb2ae56a0ac881c92312 100644
--- a/app/code/Magento/User/etc/di.xml
+++ b/app/code/Magento/User/etc/di.xml
@@ -24,11 +24,6 @@
  */
 -->
 <config>
-    <type name="Magento\User\Model\User" shared="false">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
     <type name="Magento\User\Model\Role" shared="false" />
     <type name="Magento\User\Model\Resource\Rules">
         <param name="rootResource">
@@ -43,18 +38,8 @@
             <instance type="Magento\Core\Model\Acl\Cache\Proxy" />
         </param>
     </type>
-    <type name="Magento\Core\Model\Config">
-        <param name="areas">
-            <value>
-                <adminhtml>
-                    <auth_credential_storage>Magento\User\Model\User</auth_credential_storage>
-                </adminhtml>
-            </value>
-        </param>
-    </type>
-    <preference for="Magento\Backend\Model\Auth\Credential\StorageInterface" type="Magento\User\Model\User" />
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <user_setup>Magento\User\Model\Resource\Setup</user_setup>
             </value>
diff --git a/app/code/Magento/Webapi/Controller/Request.php b/app/code/Magento/Webapi/Controller/Request.php
index 86d50a8e7d95753b2ab3ec30cd741e978efa4d95..0e951a658b3197c73dd5413595be1233e7926c1f 100644
--- a/app/code/Magento/Webapi/Controller/Request.php
+++ b/app/code/Magento/Webapi/Controller/Request.php
@@ -25,20 +25,25 @@
  */
 namespace Magento\Webapi\Controller;
 
-class Request extends \Zend_Controller_Request_Http
+class Request extends \Zend_Controller_Request_Http implements \Magento\App\RequestInterface
 {
     /**
      * Modify pathInfo: strip down the front name and query parameters.
      *
-     * @param \Magento\Core\Model\App $app
-     * @param null|string|Zend_Uri $uri
+     * @param \Magento\App\AreaList $areaList
+     * @param \Magento\Config\ScopeInterface $configScope
+     * @param null|string|\Zend_Uri $uri
      */
-    public function __construct(\Magento\Core\Model\App $app, $uri = null)
-    {
+    public function __construct(
+        \Magento\App\AreaList $areaList,
+        \Magento\Config\ScopeInterface $configScope,
+        $uri = null
+    ) {
         parent::__construct($uri);
+        $areaFrontName = $areaList->getFrontName($configScope->getCurrentScope());
         $this->_pathInfo = $this->_requestUri;
         /** Remove base url and area from path */
-        $this->_pathInfo = preg_replace("#.*?/{$app->getConfig()->getAreaFrontName()}/?#", '/', $this->_pathInfo);
+        $this->_pathInfo = preg_replace("#.*?/{$areaFrontName}/?#", '/', $this->_pathInfo);
         /** Remove GET parameters from path */
         $this->_pathInfo = preg_replace('#\?.*#', '', $this->_pathInfo);
     }
diff --git a/app/code/Magento/Webapi/Controller/Response.php b/app/code/Magento/Webapi/Controller/Response.php
index 2216ac184245a2322bf470f8eeb5c5b40949c769..602b8688d9fb21c1288b249bbf3884ec8421c61f 100644
--- a/app/code/Magento/Webapi/Controller/Response.php
+++ b/app/code/Magento/Webapi/Controller/Response.php
@@ -25,7 +25,7 @@
  */
 namespace Magento\Webapi\Controller;
 
-class Response extends \Zend_Controller_Response_Http
+class Response extends \Zend_Controller_Response_Http implements \Magento\App\ResponseInterface
 {
     /**
      * Character set which must be used in response.
diff --git a/app/code/Magento/Webapi/Controller/Rest.php b/app/code/Magento/Webapi/Controller/Rest.php
index 7cdd4ccb85ac69f8f2785af1494a6ea336da9d88..c90f2a46d9b898ac1926e2c5aeaecdcf551a444e 100644
--- a/app/code/Magento/Webapi/Controller/Rest.php
+++ b/app/code/Magento/Webapi/Controller/Rest.php
@@ -25,7 +25,7 @@
  */
 namespace Magento\Webapi\Controller;
 
-class Rest implements \Magento\Core\Controller\FrontInterface
+class Rest implements \Magento\App\FrontControllerInterface
 {
     /** @var \Magento\Webapi\Controller\Rest\Router */
     protected $_router;
@@ -39,7 +39,7 @@ class Rest implements \Magento\Core\Controller\FrontInterface
     /** @var \Magento\ObjectManager */
     protected $_objectManager;
 
-    /** @var \Magento\Core\Model\App\State */
+    /** @var \Magento\App\State */
     protected $_appState;
 
     /** @var \Magento\Oauth\Service\OauthV1Interface */
@@ -55,7 +55,7 @@ class Rest implements \Magento\Core\Controller\FrontInterface
      * @param \Magento\Webapi\Controller\Rest\Response $response
      * @param \Magento\Webapi\Controller\Rest\Router $router
      * @param \Magento\ObjectManager $objectManager
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Oauth\Service\OauthV1Interface $oauthService
      * @param \Magento\Oauth\Helper\Data $oauthHelper
      */
@@ -64,7 +64,7 @@ class Rest implements \Magento\Core\Controller\FrontInterface
         \Magento\Webapi\Controller\Rest\Response $response,
         \Magento\Webapi\Controller\Rest\Router $router,
         \Magento\ObjectManager $objectManager,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Oauth\Service\OauthV1Interface $oauthService,
         \Magento\Oauth\Helper\Data $oauthHelper
     ) {
@@ -88,12 +88,16 @@ class Rest implements \Magento\Core\Controller\FrontInterface
     }
 
     /**
-     * Handle REST request.
+     * Handle REST request
      *
-     * @return \Magento\Webapi\Controller\Rest
+     * @param \Magento\App\RequestInterface $request
+     * @return $this
      */
-    public function dispatch()
+    public function dispatch(\Magento\App\RequestInterface $request)
     {
+        $pathParts = explode('/', trim($request->getPathInfo(), '/'));
+        array_shift($pathParts);
+        $request->setPathInfo('/' . implode('/', $pathParts));
         try {
             if (!$this->_appState->isInstalled()) {
                 throw new \Magento\Webapi\Exception(__('Magento is not yet installed'));
diff --git a/app/code/Magento/Webapi/Controller/Rest/Request.php b/app/code/Magento/Webapi/Controller/Rest/Request.php
index 43710adcbd8355a3c4c63bf9659133d69396b016..111ac968cac0c7ae0c3eb0066e482fab85f61343 100644
--- a/app/code/Magento/Webapi/Controller/Rest/Request.php
+++ b/app/code/Magento/Webapi/Controller/Rest/Request.php
@@ -47,22 +47,21 @@ class Request extends \Magento\Webapi\Controller\Request
     /** @var \Magento\Webapi\Controller\Rest\Request\Deserializer\Factory */
     protected $_deserializerFactory;
 
-    /** @var \Magento\Core\Model\App */
-    protected $_application;
-
     /**
-     * Initialize dependencies.
+     * Initialize dependencies
      *
-     * @param \Magento\Core\Model\App $application
+     * @param \Magento\App\AreaList $areaList
+     * @param \Magento\Config\ScopeInterface $configScope
      * @param \Magento\Webapi\Controller\Rest\Request\Deserializer\Factory $deserializerFactory
-     * @param string|null $uri
+     * @param null|string $uri
      */
     public function __construct(
-        \Magento\Core\Model\App $application,
+        \Magento\App\AreaList $areaList,
+        \Magento\Config\ScopeInterface $configScope,
         \Magento\Webapi\Controller\Rest\Request\Deserializer\Factory $deserializerFactory,
         $uri = null
     ) {
-        parent::__construct($application, $uri);
+        parent::__construct($areaList, $configScope, $uri);
         $this->_deserializerFactory = $deserializerFactory;
     }
 
diff --git a/app/code/Magento/Webapi/Controller/Soap.php b/app/code/Magento/Webapi/Controller/Soap.php
index 63b1ce8de617c0c093d94a35078f0a59e59c946b..174c12e804fa5374d2b519f2041e9fc2bf2e2908 100644
--- a/app/code/Magento/Webapi/Controller/Soap.php
+++ b/app/code/Magento/Webapi/Controller/Soap.php
@@ -25,7 +25,10 @@
  */
 namespace Magento\Webapi\Controller;
 
-class Soap implements \Magento\Core\Controller\FrontInterface
+/**
+ * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
+ */
+class Soap implements \Magento\App\FrontControllerInterface
 {
     /**#@+
      * Content types used for responses processed by SOAP web API.
@@ -49,7 +52,7 @@ class Soap implements \Magento\Core\Controller\FrontInterface
     /** @var \Magento\Webapi\Controller\ErrorProcessor */
     protected $_errorProcessor;
 
-    /** @var \Magento\Core\Model\App\State */
+    /** @var \Magento\App\State */
     protected $_appState;
 
     /** @var \Magento\Core\Model\App */
@@ -69,7 +72,7 @@ class Soap implements \Magento\Core\Controller\FrontInterface
      * @param \Magento\Webapi\Model\Soap\Wsdl\Generator $wsdlGenerator
      * @param \Magento\Webapi\Model\Soap\Server $soapServer
      * @param \Magento\Webapi\Controller\ErrorProcessor $errorProcessor
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @param \Magento\Core\Model\App $application
      * @param \Magento\Oauth\Service\OauthV1Interface $oauthService
      * @param \Magento\Oauth\Helper\Service $oauthHelper
@@ -80,7 +83,7 @@ class Soap implements \Magento\Core\Controller\FrontInterface
         \Magento\Webapi\Model\Soap\Wsdl\Generator $wsdlGenerator,
         \Magento\Webapi\Model\Soap\Server $soapServer,
         \Magento\Webapi\Controller\ErrorProcessor $errorProcessor,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         \Magento\Core\Model\App $application,
         \Magento\Oauth\Service\OauthV1Interface $oauthService,
         \Magento\Oauth\Helper\Service $oauthHelper
@@ -107,12 +110,14 @@ class Soap implements \Magento\Core\Controller\FrontInterface
     }
 
     /**
-     * Dispatch request to SOAP endpoint.
-     *
-     * @return \Magento\Webapi\Controller\Soap
+     * @param \Magento\App\RequestInterface $request
+     * @return $this
      */
-    public function dispatch()
+    public function dispatch(\Magento\App\RequestInterface $request)
     {
+        $pathParts = explode('/', trim($request->getPathInfo(), '/'));
+        array_shift($pathParts);
+        $request->setPathInfo('/' . implode('/', $pathParts));
         try {
             if (!$this->_appState->isInstalled()) {
                 throw new \Magento\Webapi\Exception(__('Magento is not yet installed'));
diff --git a/app/code/Magento/Webapi/Controller/Soap/Request.php b/app/code/Magento/Webapi/Controller/Soap/Request.php
index 199b8215bc8b32cc5d3d06153e26c26a2d98be7c..20e6e32b799e46857a2fc22706d888b1b449ba5e 100644
--- a/app/code/Magento/Webapi/Controller/Soap/Request.php
+++ b/app/code/Magento/Webapi/Controller/Soap/Request.php
@@ -27,20 +27,6 @@ namespace Magento\Webapi\Controller\Soap;
 
 class Request extends \Magento\Webapi\Controller\Request
 {
-    /** @var \Magento\Core\Model\App */
-    protected $_application;
-
-    /**
-     * Initialize dependencies.
-     *
-     * @param \Magento\Core\Model\App $application
-     * @param string|null $uri
-     */
-    public function __construct(\Magento\Core\Model\App $application, $uri = null)
-    {
-        parent::__construct($application, $uri);
-    }
-
     /**
      * Identify versions of resources that should be used for API configuration generation.
      * TODO : This is getting called twice within a single request. Need to cache.
diff --git a/app/code/Magento/Webapi/Model/Acl/Role/InRoleUserUpdater.php b/app/code/Magento/Webapi/Model/Acl/Role/InRoleUserUpdater.php
index f424c4653da7a593fd8b4fa0ee08674e019962f3..76b6d57ce5b58521960399f49fc6a8e1a0a6f6d2 100644
--- a/app/code/Magento/Webapi/Model/Acl/Role/InRoleUserUpdater.php
+++ b/app/code/Magento/Webapi/Model/Acl/Role/InRoleUserUpdater.php
@@ -40,11 +40,11 @@ class InRoleUserUpdater implements \Magento\Core\Model\Layout\Argument\UpdaterIn
     /**
      * Constructor.
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param \Magento\Webapi\Model\Resource\Acl\User $userResource
      */
     public function __construct(
-        \Magento\Core\Controller\Request\Http $request,
+        \Magento\App\RequestInterface $request,
         \Magento\Webapi\Model\Resource\Acl\User $userResource
     ) {
         $this->_roleId = (int)$request->getParam('role_id');
diff --git a/app/code/Magento/Webapi/Model/Acl/Role/UsersUpdater.php b/app/code/Magento/Webapi/Model/Acl/Role/UsersUpdater.php
index 687706bfdf1167656d5248be3339452db83e19e6..cefc4bfa97039d4e31b802bbc1c349dca2ffd3f7 100644
--- a/app/code/Magento/Webapi/Model/Acl/Role/UsersUpdater.php
+++ b/app/code/Magento/Webapi/Model/Acl/Role/UsersUpdater.php
@@ -46,18 +46,18 @@ class UsersUpdater implements \Magento\Core\Model\Layout\Argument\UpdaterInterfa
     protected $_roleId;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_inRoleUsersFilter;
 
     /**
      * Constructor.
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param \Magento\Backend\Helper\Data $backendHelper
      */
     public function __construct(
-        \Magento\Core\Controller\Request\Http $request,
+        \Magento\App\RequestInterface $request,
         \Magento\Backend\Helper\Data $backendHelper
     ) {
         $this->_roleId = (int)$request->getParam('role_id');
@@ -67,12 +67,12 @@ class UsersUpdater implements \Magento\Core\Model\Layout\Argument\UpdaterInterfa
     /**
      * Parse $_inRoleUsersFilter value from request
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param \Magento\Backend\Helper\Data $backendHelper
      * @return int
      */
     protected function _parseInRoleUsersFilter(
-        \Magento\Core\Controller\Request\Http $request,
+        \Magento\App\RequestInterface $request,
         \Magento\Backend\Helper\Data $backendHelper
     ) {
         $result = self::IN_ROLE_USERS_ANY;
diff --git a/app/code/Magento/Webapi/Model/Acl/User/RoleUpdater.php b/app/code/Magento/Webapi/Model/Acl/User/RoleUpdater.php
index 28ce952be5ea52fd09db42f7f9d1fb3f4972f90b..5e3b3e310098bf66ad1eb225ba636fdf0bb6188d 100644
--- a/app/code/Magento/Webapi/Model/Acl/User/RoleUpdater.php
+++ b/app/code/Magento/Webapi/Model/Acl/User/RoleUpdater.php
@@ -40,11 +40,11 @@ class RoleUpdater implements \Magento\Core\Model\Layout\Argument\UpdaterInterfac
     /**
      * Constructor.
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param \Magento\Webapi\Model\Acl\User\Factory $userFactory
      */
     public function __construct(
-        \Magento\Core\Controller\Request\Http $request,
+        \Magento\App\RequestInterface $request,
         \Magento\Webapi\Model\Acl\User\Factory $userFactory
     ) {
         $this->_userId = (int)$request->getParam('user_id');
diff --git a/app/code/Magento/Webapi/Model/Soap/Config.php b/app/code/Magento/Webapi/Model/Soap/Config.php
index fb72756022e30b21a068c8f035c4f5fcfab1bf61..dc1053dbdcfc70bfbdae1374a1ee902d11414008 100644
--- a/app/code/Magento/Webapi/Model/Soap/Config.php
+++ b/app/code/Magento/Webapi/Model/Soap/Config.php
@@ -39,7 +39,7 @@ class Config
     /** @var \Magento\Filesystem */
     protected $_filesystem;
 
-    /** @var \Magento\Core\Model\Dir */
+    /** @var \Magento\App\Dir */
     protected $_dir;
 
     /** @var \Magento\Webapi\Model\Config */
@@ -66,13 +66,13 @@ class Config
     /**
      * @param \Magento\Core\Model\ObjectManager $objectManager
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $dir
+     * @param \Magento\App\Dir $dir
      * @param \Magento\Webapi\Model\Config $config
      */
     public function __construct(
         \Magento\Core\Model\ObjectManager $objectManager,
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dir,
+        \Magento\App\Dir $dir,
         \Magento\Webapi\Model\Config $config
     ) {
         $this->_filesystem = $filesystem;
@@ -209,7 +209,7 @@ class Config
     public function getServiceSchemaDOM($serviceClass)
     {
          // TODO: Check if Service specific XSD is already cached
-        $modulesDir = $this->_dir->getDir(\Magento\Core\Model\Dir::MODULES);
+        $modulesDir = $this->_dir->getDir(\Magento\App\Dir::MODULES);
 
         // TODO: Change pattern to match interface instead of class. Think about sub-services.
         if (!preg_match(\Magento\Webapi\Model\Config::SERVICE_CLASS_PATTERN, $serviceClass, $matches)) {
diff --git a/app/code/Magento/Webapi/Model/Soap/Server.php b/app/code/Magento/Webapi/Model/Soap/Server.php
index adfeb3159e72ceb8357fadef6e098b741c0f0da6..79d149eaecd4039e67b4bba0dcb855c80a8cd2b1 100644
--- a/app/code/Magento/Webapi/Model/Soap/Server.php
+++ b/app/code/Magento/Webapi/Model/Soap/Server.php
@@ -39,8 +39,15 @@ class Server
     const REQUEST_PARAM_SERVICES = 'services';
     const REQUEST_PARAM_WSDL = 'wsdl';
 
-    /** @var \Magento\Core\Model\Config */
-    protected $_applicationConfig;
+    /**
+     * @var \Magento\App\AreaLIst
+     */
+    protected $_areaList;
+
+    /**
+     * @var \Magento\Config\ScopeInterface
+     */
+    protected $_configScope;
 
     /** @var \Magento\DomDocument\Factory */
     protected $_domDocumentFactory;
@@ -57,15 +64,17 @@ class Server
     /**
      * Initialize dependencies, initialize WSDL cache.
      *
-     * @param \Magento\Core\Model\Config $applicationConfig
+     * @param \Magento\App\AreaList $areaList
+     * @param \Magento\Config\ScopeInterface $configScope
      * @param \Magento\Webapi\Controller\Soap\Request $request
      * @param \Magento\DomDocument\Factory $domDocumentFactory
-     * @param \Magento\Core\Model\StoreManagerInterface
-     * @param \Magento\Webapi\Model\Soap\Server\Factory
-     * @throws \Magento\Webapi\Exception with invalid SOAP extension
+     * @param \Magento\Core\Model\StoreManagerInterface $storeManager
+     * @param \Magento\Webapi\Model\Soap\Server\Factory $soapServerFactory
+     * @throws \Magento\Webapi\Exception
      */
     public function __construct(
-        \Magento\Core\Model\Config $applicationConfig,
+        \Magento\App\AreaList $areaList,
+        \Magento\Config\ScopeInterface $configScope,
         \Magento\Webapi\Controller\Soap\Request $request,
         \Magento\DomDocument\Factory $domDocumentFactory,
         \Magento\Core\Model\StoreManagerInterface $storeManager,
@@ -75,7 +84,8 @@ class Server
             throw new \Magento\Webapi\Exception('SOAP extension is not loaded.', 0,
                 \Magento\Webapi\Exception::HTTP_INTERNAL_ERROR);
         }
-        $this->_applicationConfig = $applicationConfig;
+        $this->_areaList = $areaList;
+        $this->_configScope = $configScope;
         $this->_request = $request;
         $this->_domDocumentFactory = $domDocumentFactory;
         $this->_storeManager = $storeManager;
@@ -144,7 +154,8 @@ class Server
      */
     public function getEndpointUri()
     {
-        return $this->_storeManager->getStore()->getBaseUrl() . $this->_applicationConfig->getAreaFrontName();
+        return $this->_storeManager->getStore()->getBaseUrl()
+            . $this->_areaList->getFrontName($this->_configScope->getCurrentScope());
     }
 
     /**
diff --git a/app/code/Magento/Webapi/etc/di.xml b/app/code/Magento/Webapi/etc/di.xml
index 6272d448a15426002977c4d2ca61dc2233e7b306..f217e427c6bdbb8bb9e06a2b5268a189e1abdeac 100644
--- a/app/code/Magento/Webapi/etc/di.xml
+++ b/app/code/Magento/Webapi/etc/di.xml
@@ -135,18 +135,14 @@
             </value>
         </param>
     </type>
-    <type name="Magento\Core\Model\Config">
+    <type name="Magento\App\AreaList">
         <param name="areas">
             <value>
                 <webapi_rest>
                     <frontName>rest</frontName>
-                    <front_controller>Magento\Webapi\Controller\Rest</front_controller>
-                    <request_object>Magento\Webapi\Controller\Rest\Request</request_object>
                 </webapi_rest>
                 <webapi_soap>
                     <frontName>soap</frontName>
-                    <front_controller>Magento\Webapi\Controller\Soap</front_controller>
-                    <request_object>Magento\Webapi\Controller\Soap\Request</request_object>
                 </webapi_soap>
             </value>
         </param>
diff --git a/app/code/Magento/CurrencySymbol/etc/di.xml b/app/code/Magento/Webapi/etc/webapi_rest/di.xml
similarity index 82%
rename from app/code/Magento/CurrencySymbol/etc/di.xml
rename to app/code/Magento/Webapi/etc/webapi_rest/di.xml
index 30e1df568a5ed9e0c1597260f1c3540561fbecff..82ddb2984fc0c465cfe83be6628fe4feb870f910 100644
--- a/app/code/Magento/CurrencySymbol/etc/di.xml
+++ b/app/code/Magento/Webapi/etc/webapi_rest/di.xml
@@ -24,9 +24,5 @@
  */
 -->
 <config>
-    <type name="Magento\CurrencySymbol\Model\System\Currencysymbol">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
+    <preference for="Magento\App\FrontControllerInterface" type="Magento\Webapi\Controller\Rest" />
 </config>
diff --git a/app/code/Magento/Webapi/etc/webapi_soap/di.xml b/app/code/Magento/Webapi/etc/webapi_soap/di.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1173aa145ee6043b20e52f86c456ea851de27965
--- /dev/null
+++ b/app/code/Magento/Webapi/etc/webapi_soap/di.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<config>
+    <preference for="Magento\App\FrontControllerInterface" type="Magento\Webapi\Controller\Soap" />
+</config>
diff --git a/app/code/Magento/Webhook/Model/Resource/Event/Collection.php b/app/code/Magento/Webhook/Model/Resource/Event/Collection.php
index b521fde05093e05baa5ea9329ca7ef547f3690c2..6c96625c6878dab9471ed4c086bc061b6587fe87 100644
--- a/app/code/Magento/Webhook/Model/Resource/Event/Collection.php
+++ b/app/code/Magento/Webhook/Model/Resource/Event/Collection.php
@@ -43,7 +43,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_timeoutIdling;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -51,7 +51,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param null $timeoutIdling
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Webhook/Model/Resource/Job/Collection.php b/app/code/Magento/Webhook/Model/Resource/Job/Collection.php
index ae805172f7f66af96631d99c0e7156022e49087c..604bad8b35b0e8474de6febd88c394725c1792c1 100644
--- a/app/code/Magento/Webhook/Model/Resource/Job/Collection.php
+++ b/app/code/Magento/Webhook/Model/Resource/Job/Collection.php
@@ -43,7 +43,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     protected $_timeoutIdling;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -51,7 +51,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
      * @param null $timeoutIdling
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Webhook/Model/Resource/Subscription/Collection.php b/app/code/Magento/Webhook/Model/Resource/Subscription/Collection.php
index e1dfc30c33237be60e6769c20f33c07622fc6748..e8511b73377112b0d41e298c3ca31bbeded1a9bb 100644
--- a/app/code/Magento/Webhook/Model/Resource/Subscription/Collection.php
+++ b/app/code/Magento/Webhook/Model/Resource/Subscription/Collection.php
@@ -38,7 +38,7 @@ class Collection
 
     /**
      * @param \Magento\Webhook\Model\Resource\Endpoint $endpointResource
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -46,7 +46,7 @@ class Collection
      */
     public function __construct(
         \Magento\Webhook\Model\Resource\Endpoint $endpointResource,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Webhook/Model/Resource/Subscription/Grid/Collection.php b/app/code/Magento/Webhook/Model/Resource/Subscription/Grid/Collection.php
index 78b0a91fd2df5d4cc5b4e4c082eb3fbfe22e4140..4fae380813b72ca2c44216fa23ce2b8a1b7a63f3 100644
--- a/app/code/Magento/Webhook/Model/Resource/Subscription/Grid/Collection.php
+++ b/app/code/Magento/Webhook/Model/Resource/Subscription/Grid/Collection.php
@@ -33,7 +33,7 @@ class Collection
     /**
      * @param \Magento\Webhook\Model\Subscription\Config $subscriptionConfig
      * @param \Magento\Webhook\Model\Resource\Endpoint $endpointResource
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -42,7 +42,7 @@ class Collection
     public function __construct(
         \Magento\Webhook\Model\Subscription\Config $subscriptionConfig,
         \Magento\Webhook\Model\Resource\Endpoint $endpointResource,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Weee/Model/Observer.php b/app/code/Magento/Weee/Model/Observer.php
index 19dd75fa139128632dc53fc9a91958936c1e47db..bc5b7a1543dc5ea3df9e57faa0acb9e85ccd0176 100644
--- a/app/code/Magento/Weee/Model/Observer.php
+++ b/app/code/Magento/Weee/Model/Observer.php
@@ -46,12 +46,12 @@ class Observer extends \Magento\Core\Model\AbstractModel
     protected $_weeeTax;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
     /**
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
      * @param \Magento\Weee\Model\Tax $weeeTax
      * @param \Magento\Weee\Helper\Data $weeeData
      * @param \Magento\Core\Model\Context $context
@@ -62,7 +62,7 @@ class Observer extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Layout $layout,
+        \Magento\View\LayoutInterface $layout,
         \Magento\Weee\Model\Tax $weeeTax,
         \Magento\Weee\Helper\Data $weeeData,
         \Magento\Core\Model\Context $context,
diff --git a/app/code/Magento/Weee/etc/di.xml b/app/code/Magento/Weee/etc/di.xml
index 2a731efda3261153760a0dc1365fd6a7dc21f474..fb4b4836fa54c04b147769a967123e461ee4e0be 100644
--- a/app/code/Magento/Weee/etc/di.xml
+++ b/app/code/Magento/Weee/etc/di.xml
@@ -40,8 +40,8 @@
             <instance type="Magento\Weee\Helper\Data\Proxy" />
         </param>
     </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <weee_setup>Magento\Sales\Model\Resource\Setup</weee_setup>
             </value>
diff --git a/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/Container.php b/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/Container.php
index 0111d866002d944d15f0224bdb3c3d6d40fda00d..b8a9d8f80bb62b2dd857ce6a34ac5117c623dd23 100644
--- a/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/Container.php
+++ b/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/Container.php
@@ -37,9 +37,9 @@ namespace Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Chooser;
 class Container extends \Magento\Core\Block\Html\Select
 {
     /**
-     * @var \Magento\Core\Model\Layout\MergeFactory
+     * @var \Magento\View\Layout\ProcessorFactory
      */
-    protected $_layoutMergeFactory;
+    protected $_layoutProcessorFactory;
 
     /**
      * @var \Magento\Core\Model\Resource\Theme\CollectionFactory
@@ -48,17 +48,18 @@ class Container extends \Magento\Core\Block\Html\Select
 
     /**
      * @param \Magento\Core\Block\Context $context
-     * @param \Magento\Core\Model\Layout\MergeFactory $layoutMergeFactory
+     * @param \Magento\View\Layout\ProcessorFactory $layoutProcessorFactory
      * @param \Magento\Core\Model\Resource\Theme\CollectionFactory $themesFactory
      * @param array $data
      */
+
     public function __construct(
         \Magento\Core\Block\Context $context,
-        \Magento\Core\Model\Layout\MergeFactory $layoutMergeFactory,
+        \Magento\View\Layout\ProcessorFactory $layoutProcessorFactory,
         \Magento\Core\Model\Resource\Theme\CollectionFactory $themesFactory,
         array $data = array()
     ) {
-        $this->_layoutMergeFactory = $layoutMergeFactory;
+        $this->_layoutProcessorFactory = $layoutProcessorFactory;
         $this->_themesFactory = $themesFactory;
         parent::__construct($context, $data);
     }
@@ -85,12 +86,12 @@ class Container extends \Magento\Core\Block\Html\Select
             $layoutMergeParams = array(
                 'theme' => $this->_getThemeInstance($this->getTheme()),
             );
-            /** @var $layoutMerge \Magento\Core\Model\Layout\Merge */
-            $layoutMerge = $this->_layoutMergeFactory->create($layoutMergeParams);
-            $layoutMerge->addPageHandles(array($this->getLayoutHandle()));
-            $layoutMerge->load();
+            /** @var $layoutProcessor \Magento\View\Layout\ProcessorInterface */
+            $layoutProcessor = $this->_layoutProcessorFactory->create($layoutMergeParams);
+            $layoutProcessor->addPageHandles(array($this->getLayoutHandle()));
+            $layoutProcessor->load();
 
-            $containers = $layoutMerge->getContainers();
+            $containers = $layoutProcessor->getContainers();
             if ($this->getAllowedContainers()) {
                 foreach (array_keys($containers) as $containerName) {
                     if (!in_array($containerName, $this->getAllowedContainers())) {
diff --git a/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/Layout.php b/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/Layout.php
index 5b54f1591565aebe61451b47194999a6b9906070..c0e1f9d9ae61993973a27bc30d9994f74f118d4b 100644
--- a/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/Layout.php
+++ b/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/Layout.php
@@ -35,9 +35,9 @@ namespace Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Chooser;
 class Layout extends \Magento\Core\Block\Html\Select
 {
     /**
-     * @var \Magento\Core\Model\Layout\MergeFactory
+     * @var \Magento\View\Layout\ProcessorFactory
      */
-    protected $_layoutMergeFactory;
+    protected $_layoutProcessorFactory;
 
     /**
      * @var \Magento\Core\Model\Resource\Theme\CollectionFactory
@@ -46,17 +46,17 @@ class Layout extends \Magento\Core\Block\Html\Select
 
     /**
      * @param \Magento\Core\Block\Context $context
-     * @param \Magento\Core\Model\Layout\MergeFactory $layoutMergeFactory
+     * @param \Magento\View\Layout\ProcessorFactory $layoutProcessorFactory
      * @param \Magento\Core\Model\Resource\Theme\CollectionFactory $themesFactory
      * @param array $data
      */
     public function __construct(
         \Magento\Core\Block\Context $context,
-        \Magento\Core\Model\Layout\MergeFactory $layoutMergeFactory,
+        \Magento\View\Layout\ProcessorFactory $layoutProcessorFactory,
         \Magento\Core\Model\Resource\Theme\CollectionFactory $themesFactory,
         array $data = array()
     ) {
-        $this->_layoutMergeFactory = $layoutMergeFactory;
+        $this->_layoutProcessorFactory = $layoutProcessorFactory;
         $this->_themesFactory = $themesFactory;
         parent::__construct($context, $data);
     }
@@ -70,13 +70,13 @@ class Layout extends \Magento\Core\Block\Html\Select
     {
         if (!$this->getOptions()) {
             $this->addOption('', __('-- Please Select --'));
-            $layoutMergeParams = array(
+            $layoutUpdateParams = array(
                 'theme' => $this->_getThemeInstance($this->getTheme()),
             );
             $pageTypes = array();
-            $pageTypesAll = $this->_getLayoutMerge($layoutMergeParams)->getPageHandlesHierarchy();
+            $pageTypesAll = $this->_getLayoutProcessor($layoutUpdateParams)->getPageHandlesHierarchy();
             foreach ($pageTypesAll as $pageTypeName => $pageTypeInfo) {
-                $layoutMerge = $this->_getLayoutMerge($layoutMergeParams);
+                $layoutMerge = $this->_getLayoutProcessor($layoutUpdateParams);
                 $layoutMerge->addPageHandles(array($pageTypeName));
                 $layoutMerge->load();
                 if (!$layoutMerge->getContainers()) {
@@ -106,11 +106,11 @@ class Layout extends \Magento\Core\Block\Html\Select
      * Retrieve new layout merge model instance
      *
      * @param array $arguments
-     * @return \Magento\Core\Model\Layout\Merge
+     * @return \Magento\View\Layout\ProcessorInterface
      */
-    protected function _getLayoutMerge(array $arguments)
+    protected function _getLayoutProcessor(array $arguments)
     {
-        return $this->_layoutMergeFactory->create($arguments);
+        return $this->_layoutProcessorFactory->create($arguments);
     }
 
     /**
diff --git a/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Main.php b/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Main.php
index c1a3c30bc6837b0fe05cf553d6fae3f0ee4e7941..7e3e3c5376d2370c6fd42da52f74fb46fa45127f 100644
--- a/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Main.php
+++ b/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Main.php
@@ -164,14 +164,14 @@ class Main
 
         if ($widgetInstance->getId()) {
             $fieldset->addField('instance_id', 'hidden', array(
-                'name' => 'isntance_id',
+                'name' => 'instance_id',
             ));
         }
 
         $this->_addElementTypes($fieldset);
 
-        $fieldset->addField('instance_type', 'select', array(
-            'name'  => 'instance_type',
+        $fieldset->addField('instance_code', 'select', array(
+            'name'  => 'instance_code',
             'label' => __('Type'),
             'title' => __('Type'),
             'class' => '',
diff --git a/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Settings.php b/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Settings.php
index dbd75cee5183ec675aa83ff33a5662d80e3c5892..32eb1e94cf8e1aa3146bb5de3b80b94d7880f86e 100644
--- a/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Settings.php
+++ b/app/code/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Settings.php
@@ -147,8 +147,8 @@ class Settings
 
         $this->_addElementTypes($fieldset);
 
-        $fieldset->addField('type', 'select', array(
-            'name'     => 'type',
+        $fieldset->addField('code', 'select', array(
+            'name'     => 'code',
             'label'    => __('Type'),
             'title'    => __('Type'),
             'required' => true,
@@ -169,7 +169,7 @@ class Settings
             ->createBlock('Magento\Adminhtml\Block\Widget\Button')
             ->setData(array(
                 'label'     => __('Continue'),
-                'onclick'   => "setSettings('" . $this->getContinueUrl() . "', 'type', 'theme_id')",
+                'onclick'   => "setSettings('" . $this->getContinueUrl() . "', 'code', 'theme_id')",
                 'class'     => 'save'
             ));
         $fieldset->addField('continue_button', 'note', array(
@@ -190,7 +190,7 @@ class Settings
     {
         return $this->getUrl('*/*/*', array(
             '_current' => true,
-            'type'     => '{{type}}',
+            'code'     => '{{code}}',
             'theme_id' => '{{theme_id}}'
         ));
     }
diff --git a/app/code/Magento/Widget/Controller/Adminhtml/Widget/Instance.php b/app/code/Magento/Widget/Controller/Adminhtml/Widget/Instance.php
index 9b5631c80332966538553c15fcb041abba553160..95d97203a253f28c86e08c1cfe10339ad1b913bc 100644
--- a/app/code/Magento/Widget/Controller/Adminhtml/Widget/Instance.php
+++ b/app/code/Magento/Widget/Controller/Adminhtml/Widget/Instance.php
@@ -94,12 +94,12 @@ class Instance extends \Magento\Adminhtml\Controller\Action
         /** @var $widgetInstance \Magento\Widget\Model\Widget\Instance */
         $widgetInstance = $this->_widgetFactory->create();
 
+        $code = $this->getRequest()->getParam('code', null);
         $instanceId = $this->getRequest()->getParam('instance_id', null);
-        $type = $this->getRequest()->getParam('type', null);
-        $themeId = $this->getRequest()->getParam('theme_id', null);
-
         if ($instanceId) {
-            $widgetInstance->load($instanceId);
+            $widgetInstance
+                ->load($instanceId)
+                ->setCode($code);
             if (!$widgetInstance->getId()) {
                 $this->_getSession()->addError(
                     __('Please specify a correct widget.')
@@ -107,7 +107,14 @@ class Instance extends \Magento\Adminhtml\Controller\Action
                 return false;
             }
         } else {
-            $widgetInstance->setType($type)->setThemeId($themeId);
+            // Widget id was not provided on the query-string.  Locate the widget instance
+            // type (namespace\classname) based upon the widget code (aka, widget id).
+            $themeId = $this->getRequest()->getParam('theme_id', null);
+            $type = $code != null ? $widgetInstance->getWidgetReference('code', $code, 'type') : null;
+            $widgetInstance
+                ->setType($type)
+                ->setCode($code)
+                ->setThemeId($themeId);
         }
         $this->_coreRegistry->register('current_widget_instance', $widgetInstance);
         return $widgetInstance;
diff --git a/app/code/Magento/Widget/Model/Config/FileResolver.php b/app/code/Magento/Widget/Model/Config/FileResolver.php
index 8fc1e827b6d7f0a5c9d401f6ba5e8c86fdd819e3..853672872b5295cb1d954d10b3649b82af19c79f 100644
--- a/app/code/Magento/Widget/Model/Config/FileResolver.php
+++ b/app/code/Magento/Widget/Model/Config/FileResolver.php
@@ -35,17 +35,17 @@ class FileResolver implements \Magento\Config\FileResolverInterface
     protected $_moduleReader;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_applicationDirs;
 
     /**
      * @param \Magento\Core\Model\Config\Modules\Reader $moduleReader
-     * @param \Magento\Core\Model\Dir $applicationDirs
+     * @param \Magento\App\Dir $applicationDirs
      */
     public function __construct(
         \Magento\Core\Model\Config\Modules\Reader $moduleReader,
-        \Magento\Core\Model\Dir $applicationDirs
+        \Magento\App\Dir $applicationDirs
     ) {
         $this->_moduleReader = $moduleReader;
         $this->_applicationDirs = $applicationDirs;
@@ -62,7 +62,7 @@ class FileResolver implements \Magento\Config\FileResolverInterface
                 $fileList = $this->_moduleReader->getConfigurationFiles($filename);
                 break;
             case 'design':
-                $fileList = glob($this->_applicationDirs->getDir(\Magento\Core\Model\Dir::THEMES)
+                $fileList = glob($this->_applicationDirs->getDir(\Magento\App\Dir::THEMES)
                 . "/*/*/etc/$filename", GLOB_NOSORT | GLOB_BRACE);
                 break;
             default:
diff --git a/app/code/Magento/Widget/Model/Resource/Widget/Instance/Options/Types.php b/app/code/Magento/Widget/Model/Resource/Widget/Instance/Options/Types.php
index 1b9fa4a5c20210e61895c7de451c1bf14285cd31..f97d5b7ba51e09304bb08302a8ca7b5b4aa63d55 100644
--- a/app/code/Magento/Widget/Model/Resource/Widget/Instance/Options/Types.php
+++ b/app/code/Magento/Widget/Model/Resource/Widget/Instance/Options/Types.php
@@ -51,7 +51,7 @@ class Types implements \Magento\Core\Model\Option\ArrayInterface
     public function toOptionArray()
     {
         $widgets = array();
-        $widgetsOptionsArr = $this->_model->getWidgetsOptionArray();
+        $widgetsOptionsArr = $this->_model->getWidgetsOptionArray('type');
         foreach ($widgetsOptionsArr as $widget) {
             $widgets[$widget['value']] = $widget['label'];
         }
diff --git a/app/code/Magento/Widget/Model/Template/Filter.php b/app/code/Magento/Widget/Model/Template/Filter.php
index 436b6452109073a9d72d7a78acd978bf4b3cac2e..657b599ecace5a164ac696671e7db4fdd2d9373e 100644
--- a/app/code/Magento/Widget/Model/Template/Filter.php
+++ b/app/code/Magento/Widget/Model/Template/Filter.php
@@ -52,11 +52,10 @@ class Filter extends \Magento\Cms\Model\Template\Filter
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\VariableFactory $coreVariableFactory
      * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Model\Layout $layout
+     * @param \Magento\View\LayoutInterface $layout
+     * @param \Magento\View\LayoutFactory $layoutFactory
      * @param \Magento\Widget\Model\Resource\Widget $widgetResource
      * @param \Magento\Widget\Model\Widget $widget
-     * @param \Magento\Core\Model\Layout $layout
-     * @param \Magento\Core\Model\LayoutFactory $layoutFactory
      */
     public function __construct(
         \Magento\Core\Model\Logger $logger,
@@ -65,8 +64,8 @@ class Filter extends \Magento\Cms\Model\Template\Filter
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\VariableFactory $coreVariableFactory,
         \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Model\Layout $layout,
-        \Magento\Core\Model\LayoutFactory $layoutFactory,
+        \Magento\View\LayoutInterface $layout,
+        \Magento\View\LayoutFactory $layoutFactory,
         \Magento\Widget\Model\Resource\Widget $widgetResource,
         \Magento\Widget\Model\Widget $widget
     ) {
diff --git a/app/code/Magento/Widget/Model/Widget/Instance.php b/app/code/Magento/Widget/Model/Widget/Instance.php
index 8d5f513d766795f7c7a941156af1ade3d448c07c..0c961ffa191f7098c2aa2b059360540058a5293c 100644
--- a/app/code/Magento/Widget/Model/Widget/Instance.php
+++ b/app/code/Magento/Widget/Model/Widget/Instance.php
@@ -247,6 +247,35 @@ class Instance extends \Magento\Core\Model\AbstractModel
         return $this->getType() && $this->getThemeId();
     }
 
+    /**
+     * Return widget instance code.  If not set, derive value from type (namespace\class).
+     *
+     * @return string
+     */
+    public function getCode()
+    {
+        $code = $this->_getData('instance_code');
+        if ($code == null) {
+            $code = $this->getWidgetReference('type', $this->getType(), 'code');
+            $this->setData('instance_code', $code);
+        }
+        return $code;
+    }
+
+    /**
+     * Sets the value this widget instance code.
+     * The widget code is the 'id' attribute in the widget node.
+     * 'code' is used in Magento\Widget\Model\Widget->getWidgetsArray when the array of widgets is created.
+     *
+     * @param string $code
+     * @return \Magento\Widget\Model\Widget\Instance
+     */
+    public function setCode($code)
+    {
+        $this->setData('instance_code', $code);
+        return $this;
+    }
+
     /**
      * Setter
      * Prepare widget type
@@ -281,7 +310,7 @@ class Instance extends \Magento\Core\Model\AbstractModel
     {
         //TODO Shouldn't we get "area" from theme model which we can load using "theme_id"?
         if (!$this->_getData('area')) {
-            return \Magento\Core\Model\View\DesignInterface::DEFAULT_AREA;
+            return \Magento\View\DesignInterface::DEFAULT_AREA;
         }
         return $this->_getData('area');
     }
@@ -321,19 +350,40 @@ class Instance extends \Magento\Core\Model\AbstractModel
      *
      * @return array
      */
-    public function getWidgetsOptionArray()
+    public function getWidgetsOptionArray($value = 'code')
     {
         $widgets = array();
         $widgetsArr = $this->_widgetModel->getWidgetsArray();
         foreach ($widgetsArr as $widget) {
             $widgets[] = array(
-                'value' => $widget['type'],
+                'value' => $widget[$value],
                 'label' => $widget['name']
             );
         }
         return $widgets;
     }
 
+    /**
+     * Get the widget reference (code or namespace\class name) for the passed in type or code.
+     *
+     * @param $matchParam
+     * @param $value
+     * @param $requestedParam
+     * @return null
+     */
+    public function getWidgetReference($matchParam, $value, $requestedParam)
+    {
+        $reference = null;
+        $widgetsArr = $this->_widgetModel->getWidgetsArray();
+        foreach ($widgetsArr as $widget) {
+            if ($widget[$matchParam] === $value) {
+                $reference = $widget[$requestedParam];
+                break;
+            }
+        }
+        return $reference;
+    }
+
     /**
      * Load widget XML config and merge with theme widget config
      *
diff --git a/app/code/Magento/Widget/etc/di.xml b/app/code/Magento/Widget/etc/di.xml
index 53a53ddd3cd4db1f0f0611f5fc06b5fd820b3997..6dadc3fe3685a87fa36771d360cabff2bf8dd752 100644
--- a/app/code/Magento/Widget/etc/di.xml
+++ b/app/code/Magento/Widget/etc/di.xml
@@ -51,8 +51,8 @@
             <value>Magento\Widget\Model\Template\Filter</value>
         </param>
     </type>
-    <type name="Magento\Core\Model\Db\Updater">
-        <param name="resourceList">
+    <type name="Magento\App\Updater\SetupFactory">
+        <param name="resourceTypes">
             <value>
                 <widget_setup>Magento\Core\Model\Resource\Setup\Generic</widget_setup>
             </value>
diff --git a/app/code/Magento/Widget/view/adminhtml/instance/js.phtml b/app/code/Magento/Widget/view/adminhtml/instance/js.phtml
index ad6c24ae16cc348cb06582475976cf4166a41679..1cdf71e7ebb991b34cd0f030f64fb98069aa26ee 100644
--- a/app/code/Magento/Widget/view/adminhtml/instance/js.phtml
+++ b/app/code/Magento/Widget/view/adminhtml/instance/js.phtml
@@ -26,15 +26,15 @@
 ?>
 <script type="text/javascript">
 //<![CDATA[
-function setSettings(urlTemplate, typeElement, themeElement) {
+function setSettings(urlTemplate, codeElement, themeElement) {
     if (!jQuery('#edit_form').valid()) {
         return false;
     }
-    typeElement = $F(typeElement);
+    codeElement = $F(codeElement);
     themeElement = $F(themeElement);
 
     setLocation(new Template(urlTemplate, /(^|.|\r|\n)({{(\w+)}})/).evaluate({
-        'type': typeElement,
+        'code': codeElement,
         'theme_id': themeElement
     }));
 }
diff --git a/app/code/Magento/Widget/view/adminhtml/layout/adminhtml_widget_instance_block.xml b/app/code/Magento/Widget/view/adminhtml/layout/adminhtml_widget_instance_block.xml
index ca4cbf48d3b22e8ff635ccc6f73a3eb75afbb8ef..a1e07b91ee39ccd896329c86e9bc49016ce06b30 100644
--- a/app/code/Magento/Widget/view/adminhtml/layout/adminhtml_widget_instance_block.xml
+++ b/app/code/Magento/Widget/view/adminhtml/layout/adminhtml_widget_instance_block.xml
@@ -38,6 +38,7 @@
                         <item name="path" xsi:type="string">*/*/edit</item>
                         <item name="extraParamsTemplate" xsi:type="array">
                             <item name="instance_id" xsi:type="string">getId</item>
+                            <item name="code" xsi:type="string">getCode</item>
                         </item>
                     </argument>
                 </arguments>
diff --git a/app/code/Magento/Wishlist/Controller/Index.php b/app/code/Magento/Wishlist/Controller/Index.php
index 0a7f1caa95b203e10a7abb8310a8e5557fd2761c..39e7e305322036d8bc599b5efb8452dc5a545d78 100644
--- a/app/code/Magento/Wishlist/Controller/Index.php
+++ b/app/code/Magento/Wishlist/Controller/Index.php
@@ -776,7 +776,7 @@ class Index
 
         try {
             $info      = unserialize($option->getValue());
-            $filePath  = $this->_objectManager->get('Magento\Core\Model\Dir')->getDir() . $info['quote_path'];
+            $filePath  = $this->_objectManager->get('Magento\App\Dir')->getDir() . $info['quote_path'];
             $secretKey = $this->getRequest()->getParam('key');
 
             if ($secretKey == $info['secret_key']) {
diff --git a/app/code/Magento/Wishlist/Helper/Data.php b/app/code/Magento/Wishlist/Helper/Data.php
index 15f0f10e748584cb80e3c8777f4aaa0022c56304..176d3dc17d9ac1ff92a023d25a37f7914408605e 100644
--- a/app/code/Magento/Wishlist/Helper/Data.php
+++ b/app/code/Magento/Wishlist/Helper/Data.php
@@ -84,7 +84,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -118,7 +118,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
     protected $_storeManager;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Core\Helper\Context $context
      * @param \Magento\Core\Model\Registry $coreRegistry
@@ -128,7 +128,7 @@ class Data extends \Magento\Core\Helper\AbstractHelper
      * @param \Magento\Core\Model\StoreManagerInterface $storeManager
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Core\Helper\Context $context,
         \Magento\Core\Model\Registry $coreRegistry,
diff --git a/app/code/Magento/Wishlist/Model/Resource/Item/Collection.php b/app/code/Magento/Wishlist/Model/Resource/Item/Collection.php
index 55a726cac8ae3ac420719ff2117f28d4b76493b9..36c0970e0c0a73fb93a59584383f1ce2385d42a7 100644
--- a/app/code/Magento/Wishlist/Model/Resource/Item/Collection.php
+++ b/app/code/Magento/Wishlist/Model/Resource/Item/Collection.php
@@ -154,7 +154,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     /**
      * @param \Magento\CatalogInventory\Helper\Data $catalogInventoryData
      * @param \Magento\Adminhtml\Helper\Sales $adminhtmlSales
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -172,7 +172,7 @@ class Collection extends \Magento\Core\Model\Resource\Db\Collection\AbstractColl
     public function __construct(
         \Magento\CatalogInventory\Helper\Data $catalogInventoryData,
         \Magento\Adminhtml\Helper\Sales $adminhtmlSales,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Wishlist/Model/Resource/Item/Collection/Grid.php b/app/code/Magento/Wishlist/Model/Resource/Item/Collection/Grid.php
index e6814cfb6f8edc7e6ce973a3d0100faf77121262..810277748c7d4e06a641cf5e7b02ea5a6b7746e9 100644
--- a/app/code/Magento/Wishlist/Model/Resource/Item/Collection/Grid.php
+++ b/app/code/Magento/Wishlist/Model/Resource/Item/Collection/Grid.php
@@ -39,7 +39,7 @@ class Grid extends \Magento\Wishlist\Model\Resource\Item\Collection
     /**
      * @param \Magento\CatalogInventory\Helper\Data $catalogInventoryData
      * @param \Magento\Adminhtml\Helper\Sales $adminhtmlSales
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Core\Model\Logger $logger
      * @param \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
      * @param \Magento\Core\Model\EntityFactory $entityFactory
@@ -58,7 +58,7 @@ class Grid extends \Magento\Wishlist\Model\Resource\Item\Collection
     public function __construct(
         \Magento\CatalogInventory\Helper\Data $catalogInventoryData,
         \Magento\Adminhtml\Helper\Sales $adminhtmlSales,
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Core\Model\Logger $logger,
         \Magento\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
         \Magento\Core\Model\EntityFactory $entityFactory,
diff --git a/app/code/Magento/Wishlist/Model/Wishlist.php b/app/code/Magento/Wishlist/Model/Wishlist.php
index f34f280c2014e490ad0108dd1fd45cfba143aed4..d038a145a20c3a4ba64a714882a1f643cbf9c68a 100644
--- a/app/code/Magento/Wishlist/Model/Wishlist.php
+++ b/app/code/Magento/Wishlist/Model/Wishlist.php
@@ -96,7 +96,7 @@ class Wishlist extends \Magento\Core\Model\AbstractModel
     /**
      * Core event manager proxy
      *
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     protected $_eventManager;
 
@@ -126,7 +126,7 @@ class Wishlist extends \Magento\Core\Model\AbstractModel
     protected $_productFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\Manager $eventManager
+     * @param \Magento\Event\ManagerInterface $eventManager
      * @param \Magento\Catalog\Helper\Product $catalogProduct
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Wishlist\Helper\Data $wishlistData
@@ -142,7 +142,7 @@ class Wishlist extends \Magento\Core\Model\AbstractModel
      * @param array $data
      */
     public function __construct(
-        \Magento\Core\Model\Event\Manager $eventManager,
+        \Magento\Event\ManagerInterface $eventManager,
         \Magento\Catalog\Helper\Product $catalogProduct,
         \Magento\Core\Helper\Data $coreData,
         \Magento\Wishlist\Helper\Data $wishlistData,
diff --git a/app/code/Magento/Wishlist/etc/di.xml b/app/code/Magento/Wishlist/etc/di.xml
index 3994db0f01f972defcf06684d06ee7b926d5d958..819382ec7bab6152f41e664e441aa4130fb7ecfd 100644
--- a/app/code/Magento/Wishlist/etc/di.xml
+++ b/app/code/Magento/Wishlist/etc/di.xml
@@ -30,16 +30,8 @@
         </param>
     </type>
     <type name="Magento\Wishlist\Helper\Data">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
         <param name="customerSession">
             <instance type="Magento\Customer\Model\Session\Proxy" />
         </param>
     </type>
-    <type name="Magento\Wishlist\Model\Wishlist">
-        <param name="eventManager">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
 </config>
diff --git a/app/design/adminhtml/magento_backend/css/admin.css b/app/design/adminhtml/magento_backend/css/admin.css
index c137e9cd79230f4be4e4bb88a72919291e11d22f..3b3f5e9747580c20d5d4ea4d3dd11947dd596a72 100644
--- a/app/design/adminhtml/magento_backend/css/admin.css
+++ b/app/design/adminhtml/magento_backend/css/admin.css
@@ -1340,14 +1340,14 @@ fieldset.field [class^='fields-group-'] .field .control {
     box-sizing: border-box;
     float: left;
     width: 20%;
-    padding: 6px 0 0 15px;
-    font-size: 10px;
+    padding: 7px 0 0 15px;
+    color: #999;
+    font-size: 12px;
+    letter-spacing: 0.05em;
 }
 
 .form-inline .field-service[value-scope]:before {
     content: attr(value-scope) !important;
-    font-size: 10px;
-    color: #6F8992;
     white-space: nowrap;
     display: block;
     margin-bottom: 5px;
@@ -2407,7 +2407,8 @@ table tbody tr:nth-child(odd):hover th {
     z-index: 999;
 }
 
-.loading-old {
+.loading-old,
+.loading-mask {
     position: fixed;
     left: 0;
     top: 0;
@@ -3661,15 +3662,6 @@ table tbody tr:nth-child(odd):hover th {
     z-index: 2;
 }
 
-.adminhtml-dashboard-index .side-col {
-    width: 38%;
-    padding: 1%;
-}
-
-.adminhtml-dashboard-index .main-col {
-    width: 60%;
-}
-
 /* Sidebar and main column vertical separator */
 .main-col:after,
 .side-col:after {
@@ -4605,7 +4597,7 @@ table tbody tr:nth-child(odd):hover th {
     min-width: 121px;
 }
 
-.grid .filter .range input {
+.grid .filter .range .date input {
     margin-top: 0;
     vertical-align: middle;
     width: 80%;
@@ -4636,9 +4628,9 @@ table tbody tr:nth-child(odd):hover th {
 
 .grid .filter .date:before {
     position: absolute;
-    left: 85%;
+    left: 80%;
     top: 1px;
-    margin-top: 0;
+    margin-left: 5px;
     text-shadow: none;
     width: 16px;
     height: 16px;
@@ -4706,9 +4698,7 @@ table tbody tr:nth-child(odd):hover th {
 
 .massaction .entry-edit fieldset select {
     border-radius: 2px;
-    padding: 3px;
     margin: 0;
-    vertical-align: middle;
 }
 
 .massaction .entry-edit fieldset select.validation-failed {
@@ -4860,6 +4850,7 @@ tr.dynamic-grid input.input-text {
     white-space: normal;
 }
 
+/* will be deleted after checking entire back-end
 table .col-draggable {
     width: 1%;
 }
@@ -4897,34 +4888,34 @@ table .col-frontend_label {
     width: 25%;
 }
 
+.ui-dialog .selection-search table .col-select {
+    width: 25%;
+}
+*/
+
 table .col-draggable .draggable-handle {
     position: relative;
     top: 0;
     float: left;
 }
 
-.grid table .col-id,
-.grid table thead th.col-price,
-.grid table thead th.col-qty,
-.grid table thead th.col-number {
+.grid table .col-id {
     text-align: left;
 }
 
-.ui-dialog .selection-search table .col-select {
-    width: 25px;
-}
-
 /*
     Data table
 -------------------------------------- */
 .data-table {
-    border-collapse: inherit; /* do not remove this! without this rule in FF when table has only 1 row bottom and side borders disappear*/
+    border-collapse: separate; /* do not remove this! without this rule in FF when table has only 1 row bottom and side borders disappear*/
     width: 100%;
 }
 
 .data-table thead,
 .data-table tfoot,
-.data-table th {
+.data-table th,
+.accordion .config .data-table thead th,
+.accordion .config .data-table tfoot td {
     background: #fff;
     color: #666;
 }
@@ -4936,7 +4927,8 @@ table .col-draggable .draggable-handle {
 }
 
 .data-table td,
-.data-table tbody tr td {
+.data-table tbody tr td,
+.accordion .config .data-table td {
     background: #fff;
     padding: 5px 7px;
     font-size: 12px;
@@ -4962,7 +4954,8 @@ table .col-draggable .draggable-handle {
 }
 
 .data-table tbody tr:nth-child(odd) td,
-.data-table tbody tr:nth-child(odd):hover td {
+.data-table tbody tr:nth-child(odd):hover td,
+.accordion .config .data-table tbody tr:nth-child(odd) td {
     background: #fbfaf6;
 }
 
@@ -4971,7 +4964,8 @@ table .col-draggable .draggable-handle {
 }
 
 .data-table tfoot tr:last-child td,
-.data-table tfoot tr:last-child th {
+.data-table tfoot tr:last-child th,
+.accordion .config .data-table tfoot tr:last-child td {
     border: 0;
 }
 
@@ -5159,16 +5153,16 @@ table .col-draggable .draggable-handle {
 .col-color,
 .col-size,
 .col-product,
-.col-comment {
+.col-comment,
+.col-actions,
+.col-status {
     text-align: left;
 }
 
 /* center */
 .col-include,
-.col-price,
 .col-display,
 .col-image,
-.col-price,
 .col-no-records,
 .col-select,
 .col-default,
@@ -5179,7 +5173,6 @@ table .col-draggable .draggable-handle {
 /* right */
 .col-qty,
 .col-weight,
-.col-actions,
 .col-price,
 .col-price > input,
 .col-id,
@@ -5330,6 +5323,11 @@ table .col-draggable .draggable-handle {
     top: 2px;
 }
 
+.tree-store-scope .field .addafter {
+    display: inline-block;
+    padding-top: 6px;
+}
+
 .tree-store-scope .tooltip .help {
     margin-top: 11px;
 }
@@ -5543,6 +5541,14 @@ table .col-draggable .draggable-handle {
     margin: 10px 0;
 }
 
+#catalog-wysiwyg-editor .buttons-set {
+    margin-bottom: 9px;
+}
+
+#catalog-wysiwyg-editor .buttons-set button {
+    margin-right: 4px;
+}
+
 /*
     System Messages
 -------------------------------------- */
diff --git a/app/design/adminhtml/magento_backend/css/debug.css b/app/design/adminhtml/magento_backend/css/debug.css
index dae2e9384369720ecc6f4f68fe73c944f7c4b78a..02f37c864b69868971db37531189f6f966eeab26 100644
--- a/app/design/adminhtml/magento_backend/css/debug.css
+++ b/app/design/adminhtml/magento_backend/css/debug.css
@@ -384,18 +384,6 @@ ul.messages li.success-msg li:before {
     height: 100px;
 }
 
-.dashboard-container {
-    border-radius: 0;
-}
-
-.dashboard-container.col-2-left-layout:before {
-    left: 40%;
-}
-
-.dashboard-container #diagram_tab {
-    margin: 20px 20px 0;
-}
-
 /* TODO: arrange configuration tables */
 .accordion .collapseable.disabled {
     background: #f1f1f1;
@@ -438,6 +426,16 @@ ul.messages li.success-msg li:before {
     text-align: right;
 }
 
+.accordion .config .value .label {
+    padding: 6px 5px 0 15px;
+    vertical-align: top;
+    width: auto;
+}
+
+.accordion .config .value .label:first-child {
+    padding-left: 0;
+}
+
 .accordion .config .label label {
     padding-top: 6px;
 }
@@ -462,12 +460,15 @@ ul.messages li.success-msg li:before {
 .accordion .config select,
 .accordion .config textarea {
     width: 100%;
-    border-radius: 3px;
     -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
     -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
     box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
 }
 
+.accordion .config input.input-file {
+    margin-top: 4px;
+}
+
 .accordion .config select.select-date {
     width: 20%;
 }
@@ -526,11 +527,11 @@ ul.messages li.success-msg li:before {
     margin:0;
 }
 
-
-
 .accordion .config .scope-label {
     color: #999;
     font-size: 12px;
+    letter-spacing: 0.05em;
+    padding: 15px 15px 0 0;
 }
 
 .accordion .config .note {
diff --git a/app/design/adminhtml/magento_backend/css/pages.css b/app/design/adminhtml/magento_backend/css/pages.css
index d20fb55a56791d14a92e07b37468c1d86cc3d234..2d3f4fc45bbcc3cae9bb2570162d0063e31eb5b2 100644
--- a/app/design/adminhtml/magento_backend/css/pages.css
+++ b/app/design/adminhtml/magento_backend/css/pages.css
@@ -302,6 +302,20 @@
     margin: 0 10px;
 }
 
+/*
+    Configuration -> Design
+-------------------------------------- */
+#row_design_theme_ua_regexp .design_theme_ua_regexp {
+    float: left;
+    width: 100%;
+}
+#row_design_theme_ua_regexp .tooltip {
+    margin-top: 8px;
+}
+#row_design_theme_ua_regexp .note {
+    clear: both;
+}
+
 /*
     CMS -> Banners
 -------------------------------------- */
@@ -378,6 +392,10 @@
     top: 6px;
 }
 
+.cms-hierarchy-node .form-inline .label {
+    width: 30%;
+}
+
 /*
     CMS -> Widgets
 -------------------------------------- */
@@ -975,18 +993,10 @@
     width: 10%;
 }
 
-.adminhtml-report-product-lowstock .range {
-    white-space: nowrap;
-}
-
 .adminhtml-report-product-lowstock .range-line {
     display: inline-block;
 }
 
-.adminhtml-report-product-lowstock .range-line:first-child {
-    margin-right: 5px;
-}
-
 .adminhtml-report-product-lowstock .col-product {
     width: 65%;
 }
@@ -999,6 +1009,14 @@
     Reports - PayPal Settlement Reports
 -------------------------------------- */
 
+.adminhtml-paypal-reports-index .grid tr.headings th > span {
+    white-space: normal;
+}
+
+.adminhtml-paypal-reports-index .col-transaction_event_code {
+    max-width: 150px;
+}
+
 .adminhtml-paypal-reports-index .col-amount,
 .adminhtml-paypal-reports-index .col-fee-amount {
     text-align: right;
@@ -1216,8 +1234,73 @@
     border: 1px solid #ccc;
 }
 
-.dashboard-container .dashboard-diagram {
-    margin: 20px;
+.adminhtml-dashboard-index .col-2-left-layout,
+.adminhtml-dashboard-index .col-1-layout {
+    min-width: 0;
+}
+
+.adminhtml-dashboard-index .side-col {
+    width: 38%;
+    padding: 1%;
+}
+
+.adminhtml-dashboard-index .col-2-left-layout .main-col {
+    min-width: 0;
+    width: 60%;
+}
+
+.dashboard-container {
+    border-radius: 0;
+}
+
+.dashboard-container.col-2-left-layout:before {
+    left: 40%;
+}
+
+.dashboard-container .dashboard-inner {
+    padding: 20px;
+}
+
+.dashboard-inner .tabs-horiz > li a {
+    padding-left: 14px;
+    padding-right: 14px;
+}
+
+.dashboard-container #diagram_tab_content {
+    background: #fff;
+    border: 1px solid #eae6e0;
+    border-radius: 5px;
+    border-top-left-radius: 0;
+    margin: 0 0 20px;
+    padding: 18px;
+    position: relative;
+}
+
+.dashboard-container .dashboard-diagram .store-switcher + div { /* loader under a diagram */
+    background: url(../mui/images/ajax-loader-small.gif) no-repeat 50% 50%;
+    min-height: 75px;
+    text-align: center;
+}
+
+.dashboard-container .dashboard-diagram .store-switcher + div img {
+    max-width: 100%;
+}
+
+.dashboard-container .dashboard-diagram .store-switcher + div.dashboard-diagram-nodata { /* when there is no data to display the diagram */
+    background-image: none;
+    min-height: 15px;
+}
+
+.dashboard-container #grid_tab_content {
+    background: #fff url(../mui/images/ajax-loader-small.gif) no-repeat 50% 50%;
+    border: 1px solid #eae6e0;
+    border-radius: 5px;
+    border-top-left-radius: 0;
+    min-height: 50px;
+}
+
+.dashboard-container #grid_tab_content .grid {
+    padding: 0;
 }
 
 .dashboard-container .store-switcher {
@@ -1784,7 +1867,6 @@
     width: 35px;
 }
 
-[class^=" adminhtml-sales-order-"] .col-status,
 [class^=" adminhtml-sales-order-"] .col-price-original,
 [class^=" adminhtml-sales-order-"] .col-tax-amount,
 [class^=" adminhtml-sales-order-"] .col-tax-percent,
@@ -2661,6 +2743,25 @@ table.items-to-invoice tbody tr:hover td {
     width: 100%;
 }
 
+/*
+    Cache Management
+-------------------------------------- */
+.additional-cache-management .label {
+    margin-top: 5px;
+}
+
+/*
+    Currency Symbols
+-------------------------------------- */
+.adminhtml-system-currencysymbol-index th.col-symbol .required:after {
+    content: '*';
+    margin-left: 3px;
+}
+
+.adminhtml-system-currencysymbol-index td.col-currency .label {
+    margin-top: 5px;
+}
+
 /*
     Clearfix
 -------------------------------------- */
diff --git a/app/design/adminhtml/magento_backend/mui/form.css b/app/design/adminhtml/magento_backend/mui/form.css
index 98dfa188c8cb6a10cdbcffb6de1cb594dfc3ecfb..1bd9394ab5bc1b0cb238a24a9f96b370cdd8b960 100644
--- a/app/design/adminhtml/magento_backend/mui/form.css
+++ b/app/design/adminhtml/magento_backend/mui/form.css
@@ -94,6 +94,7 @@ span.required {
 .field.required > .label:after {
     content: '*';
     color: red;
+    margin-left: 3px;
 }
 
 .field.alternative {
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/backbutton.phtml b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/backbutton.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..cb76e318b8ce8efca2daf396ced8c3a0bd3a7461
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/backbutton.phtml
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<button type="button" class="action back customization"><span><?php echo __('Go back to product details') ?></span></button>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/customize.phtml b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/customize.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..4b08a51a035a0e444bd71019e80c48a1369d97d6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/customize.phtml
@@ -0,0 +1,32 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+
+<?php $_product = $this->getProduct() ?>
+<?php if ($_product->isSaleable() && $this->hasOptions()):?>
+    <div class="actions bundle">
+        <button id="bundle-slide" class="action primary customize" type="button"><span><?php echo __('Customize and Add to Cart'); ?></span></button>
+    </div>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/summary.phtml b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/summary.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..e2c3b5c3ad7bd311ba55e693a35d4650c3672dfc
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/summary.phtml
@@ -0,0 +1,91 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+
+<?php
+    $_product = $this->getProduct();
+?>
+<?php if ($_product->isSaleable() && $this->hasOptions()): ?>
+<div id="bundleSummary" class="block bundle summary">
+    <div class="title">
+        <strong><?php echo __('Your Customization'); ?></strong>
+    </div>
+    <div class="content">
+        <div class="bundle info">
+            <?php echo $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image')->init($_product, 'bundled_product_customization_page')->toHtml() ?>
+            <div class="product details">
+                <strong class="product name"><?php echo $this->escapeHtml($_product->getName()) ?></strong>
+                <?php if($_product->getIsSalable()): ?>
+                    <p class="available stock" title="<?php echo __('Availability') ?>"><span><?php echo __('In stock') ?></span></p>
+                <?php else: ?>
+                    <p class="unavailable stock" title="<?php echo __('Availability') ?>"><span><?php echo __('Out of stock') ?></span></p>
+                <?php endif; ?>
+                <?php echo $this->getChildHtml('', true);?>
+            </div>
+        </div>
+        <div class="bundle summary">
+            <strong class="subtitle"><?php echo __('Summary'); ?></strong>
+            <div id="bundle-summary" data-container="product-summary">
+                <ul data-mage-init='{productSummary: []}'></ul>
+                <script data-template="bundle-summary" type="text/x-jQuery-tmpl">
+                    <li>
+                        <strong class="label">${_label_}:</strong>
+                        <div data-container="options"></div>
+                    </li>
+                </script>
+                <script data-template="bundle-option" type="text/x-jQuery-tmpl">
+                    <div><?php echo __('%1 x %2', '${_quantity_}', '${_label_}') ?></div>
+                </script>
+            </div>
+        </div>
+    </div>
+</div>
+<script>
+    (function ($) {
+        head.js("<?php echo $this->getViewFileUrl('js/sticky.js') ?>",function() {
+            $('#bundleSummary').sticky({
+                container: '.product.add.form'
+            });
+        });
+    })(jQuery);
+</script>
+<script type="text/javascript">
+    (function($) {
+        head.js("<?php echo $this->getViewFileUrl('Magento_Bundle::js/slide.js')?>", function() {
+            $('.product.add.form').slide({
+                slideSpeed: 1500,
+                slideSelector: '#bundle-slide',
+                slideBackSelector: '.action.customization.back',
+                bundleProductSelector: '#bundleProduct',
+                bundleOptionsContainer: '.product.add.form',
+                <?php if ($this->isStartCustomization()): ?>
+                    autostart: true
+                <?php endif;?>
+                }
+            );
+        });
+    })(jQuery);
+</script>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/title.phtml b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/title.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..63eb6350d4590917f9b71744321e9d2d926bd830
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/title.phtml
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+
+<?php $_product = $this->getProduct() ?>
+<div id="customizeTitle" class="page-title title-buttons">
+    <h1><?php echo __('Customize %1', $_helper->productAttribute($_product, $_product->getName(), 'name')) ?></h1>
+    <a href="#" class="bundle-slide-back"><small>&lsaquo;</small> Go back to product detail</a>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle.phtml b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..6874d318387082eb129661c16b5aa68dc787fca0
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle.phtml
@@ -0,0 +1,59 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/* @var $this \Magento\Bundle\Block\Catalog\Product\View\Type\Bundle */
+?>
+<?php $_product = $this->getProduct() ?>
+<?php if($_product->isSaleable()): ?>
+<script type="text/javascript">
+    (function ($) {
+        head.js("<?php echo $this->getViewFileUrl('Magento_Bundle::/bundle.js') ?>", function() {
+            $('#product_addtocart_form').bundleOption({
+                bundleConfig: <?php echo $this->getJsonConfig() ?>,
+                bundleOptionQtyPrefix: "#bundle-option-",
+                bundleOptionQtySuffix: "-qty-input",
+                priceSelectors: {
+                    "product-price": "#product-price-<?php echo $_product->getId()?>",
+                    "bundle-price": "#bundle-price-<?php echo $_product->getId()?>",
+                    "price-including-tax": "#price-including-tax-<?php echo $_product->getId()?>",
+                    "price-excluding-tax": "#price-excluding-tax-<?php echo $_product->getId()?>"
+                }
+            });
+        });
+    })(jQuery);
+</script>
+<?php endif; ?>
+<?php if ($this->displayProductStockStatus()): ?>
+    <?php if ($_product->isAvailable()): ?>
+        <p class="stock available" title="<?php echo __('Availability:') ?>">
+            <span><?php echo __('In stock') ?></span>
+        </p>
+    <?php else: ?>
+        <p class="stock unavailable" title="<?php echo __('Availability:') ?>">
+            <span><?php echo __('Out of stock') ?></span>
+        </p>
+    <?php endif; ?>
+<?php endif; ?>
+<?php echo $this->getChildHtml('bundle_prices') ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/option/checkbox.phtml b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/option/checkbox.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..56646524696b60a54a19192188c175ce227a12e7
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/option/checkbox.phtml
@@ -0,0 +1,53 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+?>
+
+<?php /* @var $this \Magento\Bundle\Block\Catalog\Product\View\Type\Bundle\Option_Checkbox */ ?>
+<?php $_option = $this->getOption() ?>
+<?php $_selections = $_option->getSelections() ?>
+<div class="field option <?php echo ($_option->getRequired()) ? ' required': ''; ?>">
+    <label class="label">
+        <span><?php echo $this->escapeHtml($_option->getTitle()) ?></span>
+    </label>
+    <div class="control">
+        <div class="nested options-list">
+        <?php if (count($_selections) == 1 && $_option->getRequired()): ?>
+            <?php echo $this->getSelectionQtyTitlePrice($_selections[0]) ?>
+            <input type="hidden" name="bundle_option[<?php echo $_option->getId() ?>]" value="<?php echo $_selections[0]->getSelectionId() ?>"/>
+        <?php else:?>
+            <?php foreach($_selections as $_selection): ?>
+                <div class="field choice">
+                    <input class="change-container-classname checkbox bundle-option-<?php echo $_option->getId() ?> product-bundle-option" id="bundle-option-<?php echo $_option->getId() ?>-<?php echo $_selection->getSelectionId() ?>" type="checkbox" <?php if ($_option->getRequired()) echo 'data-validate="{\'validate-one-required-by-name\':true}"'?>  name="bundle_option[<?php echo $_option->getId() ?>][]"<?php if ($this->isSelected($_selection)) echo ' checked="checked"' ?><?php if (!$_selection->isSaleable()) echo ' disabled="disabled"' ?> value="<?php echo $_selection->getSelectionId() ?>"/>
+                    <label class="label" for="bundle-option-<?php echo $_option->getId() ?>-<?php echo $_selection->getSelectionId() ?>">
+                        <span><?php echo $this->getSelectionQtyTitlePrice($_selection) ?></span>
+                    </label>
+                </div>
+            <?php endforeach; ?>
+            <div id="bundle-option-<?php echo $_option->getId() ?>-container"></div>
+        <?php endif; ?>
+        </div>
+    </div>
+</div>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/option/multi.phtml b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/option/multi.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..50e74d9111e9bbf2dbb6a0979b89ef0bc370b438
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/option/multi.phtml
@@ -0,0 +1,50 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+?>
+
+<?php /* @var $this \Magento\Bundle\Block\Catalog\Product\View\Type\Bundle\Option_Multi */ ?>
+<?php $_option = $this->getOption() ?>
+<?php $_selections = $_option->getSelections() ?>
+<div class="field option <?php echo ($_option->getRequired()) ? ' required': ''; ?>">
+    <label class="label">
+        <span><?php echo $this->escapeHtml($_option->getTitle()) ?></span>
+    </label>
+    <div class="control">
+    <?php if (count($_selections) == 1 && $_option->getRequired()): ?>
+        <?php echo $this->getSelectionQtyTitlePrice($_selections[0]) ?>
+        <input type="hidden" name="bundle_option[<?php echo $_option->getId() ?>]" value="<?php echo $_selections[0]->getSelectionId() ?>"/>
+    <?php else: ?>
+        <select multiple="multiple" size="5" id="bundle-option-<?php echo $_option->getId() ?>" name="bundle_option[<?php echo $_option->getId() ?>][]" class="bundle-option-<?php echo $_option->getId() ?> multiselect change-container-classname product-bundle-option" <?php if ($_option->getRequired()) echo 'data-validate={required:true}' ?>>
+        <?php if(!$_option->getRequired()): ?>
+            <option value=""><?php echo __('None') ?></option>
+        <?php endif; ?>
+        <?php foreach ($_selections as $_selection): ?>
+            <option value="<?php echo $_selection->getSelectionId() ?>"<?php if ($this->isSelected($_selection)) echo ' selected="selected"' ?><?php if (!$_selection->isSaleable()) echo ' disabled="disabled"' ?>><?php echo $this->getSelectionQtyTitlePrice($_selection, false) ?></option>
+        <?php endforeach; ?>
+        </select>
+    <?php endif; ?>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/option/radio.phtml b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/option/radio.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..5c9b0991dba6739cfdaa724dfa5ac0b337f4f8d8
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/option/radio.phtml
@@ -0,0 +1,70 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+?>
+
+<?php /* @var $this \Magento\Bundle\Block\Catalog\Product\View\Type\Bundle\Option_Radio */ ?>
+<?php $_option = $this->getOption(); ?>
+<?php $_selections  = $_option->getSelections(); ?>
+<?php $_default     = $_option->getDefaultSelection(); ?>
+<?php list($_defaultQty, $_canChangeQty) = $this->getDefaultValues(); ?>
+
+<div class="field option <?php echo ($_option->getRequired()) ? ' required': ''; ?>">
+    <label class="label">
+        <span><?php echo $this->escapeHtml($_option->getTitle()) ?></span>
+    </label>
+    <div class="control">
+        <div class="nested options-list">
+        <?php if ($this->showSingle()): ?>
+            <?php echo $this->getSelectionTitlePrice($_selections[0]) ?>
+            <input type="hidden" name="bundle_option[<?php echo $_option->getId() ?>]" value="<?php echo $_selections[0]->getSelectionId() ?>" />
+        <?php else:?>
+            <?php if (!$_option->getRequired()): ?>
+                <div class="field choice">
+                    <input type="radio" class="radio product-bundle-option" id="bundle-option-<?php echo $_option->getId() ?>" name="bundle_option[<?php echo $_option->getId() ?>]"<?php echo ($_default && $_default->isSalable())?'':' checked="checked" ' ?> value=""/>
+                    <label class="label" for="bundle-option-<?php echo $_option->getId() ?>"><span><?php echo __('None') ?></span></label>
+                </div>
+            <?php endif; ?>
+            <?php foreach ($_selections as $_selection): ?>
+                <div class="field choice">
+                    <input type="radio" class="radio change-container-classname product-bundle-option" id="bundle-option-<?php echo $_option->getId() ?>-<?php echo $_selection->getSelectionId() ?>" <?php if ($_option->getRequired()) echo 'data-validate="{\'validate-one-required-by-name\':true}"'?>  name="bundle_option[<?php echo $_option->getId() ?>]"<?php if ($this->isSelected($_selection)) echo ' checked="checked"' ?><?php if (!$_selection->isSaleable()) echo ' disabled="disabled"' ?> value="<?php echo $_selection->getSelectionId() ?>"/>
+                    <label class="label" for="bundle-option-<?php echo $_option->getId() ?>-<?php echo $_selection->getSelectionId() ?>">
+                        <span><?php echo $this->getSelectionTitlePrice($_selection) ?></span>
+                    </label>
+                </div>
+            <?php endforeach; ?>
+                <div id="bundle-option-<?php echo $_option->getId() ?>-container"></div>
+        <?php endif; ?>
+            <div class="field qty qty-holder">
+                <label class="label" for="bundle-option-<?php echo $_option->getId() ?>-qty-input">
+                    <span><?php echo __('Qty') ?></span>
+                </label>
+                <div class="control">
+                    <input <?php if (!$_canChangeQty) echo ' disabled="disabled"' ?> id="bundle-option-<?php echo $_option->getId() ?>-qty-input" class="input-text qty<?php if (!$_canChangeQty) echo ' qty-disabled' ?>" type="text" name="bundle_option_qty[<?php echo $_option->getId() ?>]" value="<?php echo $_defaultQty ?>"/>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/option/select.phtml b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/option/select.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..30109f6040619451df27d3d8da1a045b911631c2
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/option/select.phtml
@@ -0,0 +1,61 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+?>
+
+<?php /* @var $this \Magento\Bundle\Block\Catalog\Product\View\Type\Bundle\Option_Select */ ?>
+<?php $_option      = $this->getOption(); ?>
+<?php $_selections  = $_option->getSelections(); ?>
+<?php $_default     = $_option->getDefaultSelection(); ?>
+<?php list($_defaultQty, $_canChangeQty) = $this->getDefaultValues(); ?>
+
+<div class="field option <?php echo ($_option->getRequired()) ? ' required': ''; ?>">
+    <label class="label">
+        <span><?php echo $this->escapeHtml($_option->getTitle()) ?></span>
+    </label>
+    <div class="control">
+    <?php if ($this->showSingle()): ?>
+        <?php echo $this->getSelectionTitlePrice($_selections[0]) ?>
+        <input type="hidden" name="bundle_option[<?php echo $_option->getId() ?>]" value="<?php echo $_selections[0]->getSelectionId() ?>"/>
+    <?php else:?>
+        <select id="bundle-option-<?php echo $_option->getId() ?>" name="bundle_option[<?php echo $_option->getId() ?>]" class="bundle-option-<?php echo $_option->getId() ?> bundle-option-select product-bundle-option change-container-classname" <?php if ($_option->getRequired()) echo 'data-validate = {required:true}' ?>>
+            <option value=""><?php echo __('Choose a selection...') ?></option>
+        <?php foreach ($_selections as $_selection): ?>
+            <option value="<?php echo $_selection->getSelectionId() ?>"<?php if ($this->isSelected($_selection)) echo ' selected="selected"' ?><?php if (!$_selection->isSaleable()) echo ' disabled="disabled"' ?>><?php echo $this->getSelectionTitlePrice($_selection, false) ?></option>
+        <?php endforeach; ?>
+        </select>
+    <?php endif; ?>
+        <div class="nested">
+            <div class="field qty qty-holder">
+                <label class="label" for="bundle-option-<?php echo $_option->getId() ?>-qty-input">
+                    <span><?php echo __('Qty') ?></span>
+                </label>
+                <div class="control">
+                    <input <?php if (!$_canChangeQty) echo ' disabled="disabled"' ?> id="bundle-option-<?php echo $_option->getId() ?>-qty-input" class="input-text qty<?php if (!$_canChangeQty) echo ' qty-disabled' ?>" type="text" name="bundle_option_qty[<?php echo $_option->getId() ?>]" value="<?php echo $_defaultQty ?>"/>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/options.phtml b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/options.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..f11c5e3a2f0a02af713a09e5fd22ec4e829b77f2
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/catalog/product/view/type/bundle/options.phtml
@@ -0,0 +1,55 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+
+<?php 
+$_product = $this->getProduct();
+$_helper = $this->helper('Magento\Catalog\Helper\Output');
+?>
+<?php $_options = $this->helper('Magento\Core\Helper\Data')->decorateArray($this->getOptions()); ?>
+<?php if ($_product->isSaleable()):?>
+    <?php if (count($_options)): ?>
+    <script type="text/javascript">
+        (function ($) {
+            head.js("<?php echo $this->getViewFileUrl('Magento_Bundle::bundle.js') ?>", function () {
+                $('#product_addtocart_form').bundleOption({'optionConfig':<?php echo $this->getJsonConfig()?>}).trigger('changeSelection');
+            });
+        })(jQuery);
+    </script>
+        <fieldset class="fieldset bundle options">
+            <legend id="customizeTitle" class="legend">
+                <span><?php echo __('Customize %1', $_helper->productAttribute($_product, $_product->getName(), 'name')) ?></span>
+            </legend><br />
+        <?php foreach ($_options as $_option): ?>
+            <?php if (!$_option->getSelections()): ?>
+                <?php continue; ?>
+            <?php endif; ?>
+            <?php echo $this->getOptionHtml($_option) ?>
+        <?php endforeach; ?>
+        </fieldset>
+    <?php else: ?>
+        <p><?php echo __('No options of this product are available.') ?></p>
+    <?php endif; ?>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/js/slide.js b/app/design/frontend/magento_plushe/Magento_Bundle/js/slide.js
new file mode 100644
index 0000000000000000000000000000000000000000..69e8678d33937c5f914cd6b4c7f3f42fc3f8b659
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/js/slide.js
@@ -0,0 +1,99 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    frontend bundle product slide
+ * @package     mage
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/*jshint browser:true jquery:true expr:true*/
+(function($) {
+    $.widget('mage.slide', {
+        options: {
+            slideSpeed: 1500,
+            slideSelector: '#bundle-slide',
+            slideBackSelector: '.bundle-slide-back',
+            bundleProductSelector: '#bundleProduct',
+            bundleOptionsContainer: '#options-container',
+            productViewContainer: '#productView',
+            slidedown: true
+
+        },
+
+        _create: function() {
+            if(this.options.slidedown === true) {
+                $(this.options.slideSelector).on('click', $.proxy(this._show, this));
+                $(this.options.slideBackSelector).on('click', $.proxy(this._hide, this));
+                this.options.autostart && this._show();
+            } else {
+                $(this.options.slideSelector).on('click', $.proxy(this._slide, this));
+                $(this.options.slideBackSelector).on('click', $.proxy(this._slideBack, this));
+                this.options.autostart && this._slide();
+            }
+        },
+
+        /**
+         * slide bundleOptionsContainer over to the main view area
+         * @private
+         */
+        _slide: function() {
+            $(this.options.bundleProductSelector).css('top', '0px');
+            $(this.options.bundleOptionsContainer).show();
+            this.element.css('height',$(this.options.productViewContainer).height() + 'px');
+            $(this.options.bundleProductSelector).css('left', '0px').animate(
+                {'left': '-' + this.element.width() + 'px'},
+                this.options.slideSpeed,
+                $.proxy(function() {
+                    this.element.css('height','auto');
+                    $(this.options.productViewContainer).hide();
+                }, this)
+            );
+        },
+
+        /**
+         * slideback productViewContainer to main view area
+         * @private
+         */
+        _slideBack: function() {
+            $(this.options.bundleProductSelector).css('top', '0px');
+            $(this.options.productViewContainer).show();
+            this.element.css('height', $(this.options.bundleOptionsContainer).height() + 'px');
+            $(this.options.bundleProductSelector).animate(
+                {'left': '0px'},
+                this.options.slideSpeed,
+                $.proxy(function() {
+                    $(this.options.bundleOptionsContainer).hide();
+                    this.element.css('height','auto');
+                }, this)
+            );
+        },
+        _show: function  () {
+            $(this.options.bundleOptionsContainer).slideDown(800);
+            $('html, body').animate({
+                scrollTop: $(this.options.bundleOptionsContainer).offset().top
+            }, 600);
+        },
+        _hide: function  () {
+            $('html, body').animate({
+                scrollTop: 0
+            }, 600);
+            $(this.options.bundleOptionsContainer).slideUp(function(){800});
+        }
+    });
+}(jQuery));
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/layout/override/catalog_product_view_type_bundle.xml b/app/design/frontend/magento_plushe/Magento_Bundle/layout/override/catalog_product_view_type_bundle.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fef09fb09da9becc47e6c731565543e01c06225b
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/layout/override/catalog_product_view_type_bundle.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Catalog Product View (Bundle)" type="page" parent="catalog_product_view">
+    <referenceBlock name="head">
+        <block class="Magento\Page\Block\Html\Head\Script" name="magento-bundle-bundle-js">
+            <arguments>
+                <argument name="file" xsi:type="string">Magento_Bundle::bundle.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="magento-bundle-js-product-summary-js">
+            <arguments>
+                <argument name="file" xsi:type="string">Magento_Bundle::js/product-summary.js</argument>
+            </arguments>
+        </block>
+    </referenceBlock>
+    <referenceBlock name="root">
+        <action method="addBodyClass">
+            <argument name="value" xsi:type="string">type-bundle</argument>
+        </action>
+    </referenceBlock>
+    <referenceBlock name="product.info">
+        <block class="Magento\Bundle\Block\Catalog\Product\View" name="bundle.summary" as="form_top" template="catalog/product/view/summary.phtml">
+            <block class="Magento\Bundle\Block\Catalog\Product\Price" name="bundle.prices" as="bundle_prices" template="catalog/product/view/price.phtml">
+                <action method="setMAPTemplate">
+                    <argument name="tmpl" xsi:type="string">Magento_Catalog::product/price_msrp_item.phtml</argument>
+                </action>
+            </block>
+            <block class="Magento\Catalog\Block\Product\View" name="product.info.addtocart.bundle" as="addtocart" template="product/view/addtocart.phtml"/>
+            <block class="Magento\Catalog\Block\Product\View" name="product.info.addto.bundle" as="addto" template="product/view/addto.phtml"/>
+        </block>
+    </referenceBlock>
+    <referenceBlock name="product.info.options.wrapper">
+        <block class="Magento\Catalog\Block\Product\View" name="bundle.product.view.options.notice" template="Magento_Bundle::catalog/product/view/options/notice.phtml"/>
+        <block class="Magento\Bundle\Block\Catalog\Product\View\Type\Bundle" name="product.info.bundle.options" as="type_bundle_options" template="catalog/product/view/type/bundle/options.phtml" before="-">
+            <action method="addRenderer">
+                <argument name="type" xsi:type="string">select</argument>
+                <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\View\Type\Bundle\Option\Select</argument>
+            </action>
+            <action method="addRenderer">
+                <argument name="type" xsi:type="string">multi</argument>
+                <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\View\Type\Bundle\Option\Multi</argument>
+            </action>
+            <action method="addRenderer">
+                <argument name="type" xsi:type="string">radio</argument>
+                <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\View\Type\Bundle\Option\Radio</argument>
+            </action>
+            <action method="addRenderer">
+                <argument name="type" xsi:type="string">checkbox</argument>
+                <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\View\Type\Bundle\Option\Checkbox</argument>
+            </action>
+        </block>
+    </referenceBlock>
+    <referenceBlock name="product.info.options.wrapper.bottom">
+        <remove name="product.tierprices"/>
+        <block class="Magento\Bundle\Block\Catalog\Product\View" name="bundle.tierprices" as="tierprices" before="-" template="Magento_Bundle::catalog/product/view/tierprices.phtml"/>
+        <block class="Magento\CatalogInventory\Block\Qtyincrements" name="product.info.qtyincrements" before="-" template="qtyincrements.phtml"/>
+        <block class="Magento\Bundle\Block\Catalog\Product\View" name="bundle.back.button" as="backButton" after="-" template="catalog/product/view/backbutton.phtml"/>
+        <action method="unsetChild">
+            <argument name="block" xsi:type="string">product.info.addtocart</argument>
+        </action>
+        <action method="setHideRequiredNotice">
+            <argument name="flag" xsi:type="string">1</argument>
+        </action>
+        <action method="unsetChild">
+            <argument name="block" xsi:type="string">product.info.addto</argument>
+        </action>
+    </referenceBlock>
+    <referenceContainer name="content">
+        <container name="bundle.options.container" label="invisible" htmlTag="div" htmlClass="bundle options container" after="product.info.media"/>
+        <move element="product.info" destination="bundle.options.container" before="-"/>
+    </referenceContainer>
+    <referenceContainer name="product.info.type">
+        <block class="Magento\Bundle\Block\Catalog\Product\View\Type\Bundle" name="product.info.bundle" as="product_type_data" template="catalog/product/view/type/bundle.phtml">
+            <action method="addPriceBlockType">
+                <argument name="type" xsi:type="string">bundle</argument>
+                <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\Price</argument>
+                <argument name="template" xsi:type="string">catalog/product/view/price.phtml</argument>
+            </action>
+        </block>
+        <container name="product.info.bundle.extra" after="product.info.bundle" as="product_type_data_extra" label="Product Extra Info"/>
+        <block class="Magento\Bundle\Block\Catalog\Product\View" name="customize.button" as="customize_button" template="catalog/product/view/customize.phtml"/>
+    </referenceContainer>
+    <referenceBlock name="product.clone_prices">
+        <action method="addPriceBlockType">
+            <argument name="type" xsi:type="string">bundle</argument>
+            <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\Price</argument>
+            <argument name="template" xsi:type="string">catalog/product/view/price.phtml</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/layout/override/checkout_cart_index.xml b/app/design/frontend/magento_plushe/Magento_Bundle/layout/override/checkout_cart_index.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f56f9a2b65b5b449cf0c2ce2281116761fe5abcb
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/layout/override/checkout_cart_index.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="checkout.cart.form">
+        <block class="Magento\Bundle\Block\Checkout\Cart\Item\Renderer" as="bundle" template="Magento_Checkout::cart/item/default.phtml"/>
+    </referenceBlock>
+    <referenceBlock name="checkout.cart.crosssell">
+        <action method="addPriceBlockType">
+            <argument name="type" xsi:type="string">bundle</argument>
+            <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\Price</argument>
+            <argument name="template" xsi:type="string">catalog/product/price.phtml</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/layout/override/default.xml b/app/design/frontend/magento_plushe/Magento_Bundle/layout/override/default.xml
new file mode 100644
index 0000000000000000000000000000000000000000..30de3dbeb470c1527c2183e718d662dcde3ca0d4
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/layout/override/default.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="wishlist_sidebar">
+        <action method="addPriceBlockType">
+            <argument name="type" xsi:type="string">bundle</argument>
+            <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\Price</argument>
+            <argument name="template" xsi:type="string">catalog/product/price.phtml</argument>
+        </action>
+    </referenceBlock>
+    <referenceBlock name="catalog_product_price_template">
+        <action method="addPriceBlockType">
+            <argument name="type" xsi:type="string">bundle</argument>
+            <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\Price</argument>
+            <argument name="template" xsi:type="string">catalog/product/price.phtml</argument>
+        </action>
+    </referenceBlock>
+    <referenceBlock name="minicart">
+        <block class="Magento\Bundle\Block\Checkout\Cart\Item\Renderer" as="bundle" template="Magento_Checkout::cart/sidebar/default.phtml"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/layout/review_product_list.xml b/app/design/frontend/magento_plushe/Magento_Bundle/layout/review_product_list.xml
new file mode 100644
index 0000000000000000000000000000000000000000..db29516ed066db65ec89958b86f21dc0a5534529
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/layout/review_product_list.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <remove name="customize.button"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/sales/order/creditmemo/items/renderer.phtml b/app/design/frontend/magento_plushe/Magento_Bundle/sales/order/creditmemo/items/renderer.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..23199f3a6a5473297ca7ee455b8b35e2b18426a8
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/sales/order/creditmemo/items/renderer.phtml
@@ -0,0 +1,314 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $parentItem = $this->getItem() ?>
+
+<?php $items = $this->getChilds($parentItem) ?>
+<?php $_order = $this->getItem()->getOrderItem()->getOrder() ?>
+<?php $_count = count ($items) ?>
+<?php $_index = 0 ?>
+
+<?php $_prevOptionId = '' ?>
+
+<?php foreach ($items as $_item): ?>
+
+<?php if($this->getItemOptions() || $parentItem->getDescription() || $this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $parentItem) && $parentItem->getGiftMessageId()): ?>
+    <?php $_showlastRow = true ?>
+<?php else: ?>
+    <?php $_showlastRow = false ?>
+<?php endif; ?>
+
+<?php if ($_item->getOrderItem()->getParentItem()): ?>
+    <?php $attributes = $this->getSelectionAttributes($_item) ?>
+    <?php if ($_prevOptionId != $attributes['option_id']): ?>
+    <tr>
+        <td class="col label" colspan="7"><div class="option label"><?php echo $attributes['option_label'] ?></div></td>
+    </tr>
+    <?php $_prevOptionId = $attributes['option_id'] ?>
+    <?php endif; ?>
+<?php endif; ?>
+<tr<?php echo (++$_index==$_count && !$_showlastRow)?' class="border"':'' ?> id="order-item-row-<?php echo $_item->getId() ?>">
+    <?php if (!$_item->getOrderItem()->getParentItem()): ?>
+    <td class="col name">
+        <strong class="product name"><?php echo $this->escapeHtml($_item->getName()) ?></strong>
+    </td>
+    <?php else: ?>
+    <td><div class="option-value"><?php echo $this->getValueHtml($_item) ?></div></td>
+    <?php endif; ?>
+    <td class="col sku"><?php echo $this->escapeHtml($_item->getSku()) ?></td>
+    <td class="col price">
+        <?php if ($this->canShowPriceInfo($_item)): ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxDisposition()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="unit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total Incl. Tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+        <?php endif; ?>
+        <?php else: ?>
+            &nbsp;
+        <?php endif; ?>
+    </td>
+    <td class="col qty">
+        <?php if ($this->canShowPriceInfo($_item)): ?>
+            <?php echo $_item->getQty()*1 ?>
+        <?php else: ?>
+            &nbsp;
+        <?php endif; ?>
+    </td>
+    <td class="col subtotal">
+        <?php if ($this->canShowPriceInfo($_item)): ?>
+            <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+                <span class="price-excl-tax">
+                    <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                        <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <span class="cart-price">
+                        <?php endif; ?>
+                            <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                        <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            </span>
+                        <?php endif; ?>
+                    <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                    <?php else: ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?>
+                        <?php else: ?>
+                            <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()) ?>
+                        <?php endif; ?>
+
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                        <span class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                                <small>
+                                <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                    <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                                <?php endforeach; ?>
+                                </small>
+                            <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                                <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                    <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                                <?php endforeach; ?>
+                            <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                                <small>
+                                <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                    <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                                <?php endforeach; ?>
+                                </small>
+                            <?php endif; ?>
+                        </span>
+
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                                <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?></span>
+                            </span>
+                        <?php endif; ?>
+                    <?php endif; ?>
+                </span>
+                <br />
+            <?php endif; ?>
+            <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+                <span class="price-incl-tax">
+                    <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                       <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <span class="cart-price">
+                        <?php endif; ?>
+                            <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                        <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            </span>
+                        <?php endif; ?>
+                        <?php echo $this->getOrder()->formatPrice($this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($_item)); ?>
+                    <?php endif; ?>
+                 </span>
+            <?php else: ?>
+                &nbsp;
+            <?php endif; ?>
+        <?php else: ?>
+            &nbsp;
+        <?php endif; ?>
+    </td>
+    <td class="col discount">
+        <?php if ($this->canShowPriceInfo($_item)): ?>
+            <?php echo $this->getOrder()->formatPrice(-$_item->getDiscountAmount()) ?>
+        <?php else: ?>
+            &nbsp;
+        <?php endif; ?>
+   </td>
+    <td class="col rowtotal">
+        <?php if ($this->canShowPriceInfo($_item)): ?>
+            <?php echo $this->getOrder()->formatPrice($_item->getRowTotal()-$_item->getDiscountAmount()+$_item->getTaxAmount()+$_item->getWeeeTaxAppliedRowAmount()) ?>
+        <?php else: ?>
+            &nbsp;
+        <?php endif; ?>
+    </td>
+</tr>
+<?php endforeach; ?>
+
+<?php if ($_showlastRow): ?>
+<tr>
+    <td class="col options" colspan="7">
+        <?php if($_options = $this->getItemOptions()): ?>
+        <dl class="item options">
+        <?php foreach ($_options as $_option) : ?>
+            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+            <?php if (!$this->getPrintStatus()): ?>
+                <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+                <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>>
+                    <?php echo $_formatedOptionValue['value'] ?>
+                    <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                    <div class="truncated_full_value">
+                        <dl class="item options">
+                            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                            <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                        </dl>
+                    </div>
+                    <?php endif; ?>
+                </dd>
+            <?php else: ?>
+                <dd><?php echo $this->escapeHtml( (isset($_option['print_value']) ? $_option['print_value'] : $_option['value']) ) ?></dd>
+            <?php endif; ?>
+        <?php endforeach; ?>
+        </dl>
+        <?php endif; ?>
+        <?php echo $this->escapeHtml($_item->getDescription()) ?>
+        <?php if ($this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $parentItem) && $parentItem->getGiftMessageId()): ?>
+            <a href="#" id="order-item-gift-message-link-<?php echo $parentItem->getId() ?>" class="gift-message-link" aria-controls="order-item-gift-message-<?php echo $parentItem->getId()?>" data-item-id="<?php echo $parentItem->getId() ?>"><?php echo __('Gift Message') ?></a>
+        <?php endif; ?>
+    </td>
+</tr>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/sales/order/invoice/items/renderer.phtml b/app/design/frontend/magento_plushe/Magento_Bundle/sales/order/invoice/items/renderer.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..49fe7219b4a2d73fee110599f5499b6381d0c640
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/sales/order/invoice/items/renderer.phtml
@@ -0,0 +1,330 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $parentItem = $this->getItem() ?>
+<?php $_order = $this->getItem()->getOrderItem()->getOrder() ?>
+
+<?php $items = $this->getChilds($parentItem) ?>
+<?php $_count = count ($items) ?>
+<?php $_index = 0 ?>
+
+<?php $_prevOptionId = '' ?>
+
+<?php foreach ($items as $_item): ?>
+
+<?php if($this->getItemOptions() || $parentItem->getDescription() || $this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $parentItem) && $parentItem->getGiftMessageId()): ?>
+    <?php $_showlastRow = true ?>
+<?php else: ?>
+    <?php $_showlastRow = false ?>
+<?php endif; ?>
+
+<?php if ($_item->getOrderItem()->getParentItem()): ?>
+    <?php $attributes = $this->getSelectionAttributes($_item) ?>
+    <?php if ($_prevOptionId != $attributes['option_id']): ?>
+    <tr>
+        <td class="col label" colspan="5"><div class="option label"><?php echo $attributes['option_label'] ?></div></td>
+    </tr>
+    <?php $_prevOptionId = $attributes['option_id'] ?>
+    <?php endif; ?>
+<?php endif; ?>
+<tr<?php echo (++$_index==$_count && !$_showlastRow)?' class="border"':'' ?> id="order-item-row-<?php echo $_item->getId() ?>">
+    <?php if (!$_item->getOrderItem()->getParentItem()): ?>
+    <td class="col name">
+        <strong class="product name"><?php echo $this->escapeHtml($_item->getName()) ?></strong>
+    </td>
+    <?php else: ?>
+    <td class="col value"><div class="option value"><?php echo $this->getValueHtml($_item) ?></div></td>
+    <?php endif; ?>
+    <td class="col sku"><?php echo $this->escapeHtml($_item->getSku()) ?></td>
+    <td class="col price">
+        <?php if ($this->canShowPriceInfo($_item)): ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()) ?>
+                    <?php endif; ?>
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+                    <span class="cart-tax-info" id="eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxDisposition()) ?>
+                    <?php endif; ?>
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+                    <span class="cart-tax-info" id="unit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+        <?php endif; ?>
+        <?php else: ?>
+            &nbsp;
+        <?php endif; ?>
+    </td>
+    <td class="col qty">
+        <?php if ($this->canShowPriceInfo($_item)): ?>
+            <?php echo $_item->getQty()*1 ?>
+        <?php else: ?>
+            &nbsp;
+        <?php endif; ?>
+    </td>
+    <td class="col subtotal">
+        <?php if ($this->canShowPriceInfo($_item)): ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()) ?>
+                    <?php endif; ?>
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+                    <span class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxRowDisposition()) ?>
+                    <?php endif; ?>
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+                    <span class="cart-tax-info" id="subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+
+            </span>
+        <?php endif; ?>
+        <?php else: ?>
+            &nbsp;
+        <?php endif; ?>
+    </td>
+</tr>
+<?php endforeach; ?>
+
+<?php if ($_showlastRow): ?>
+<tr>
+    <td class="col options" colspan="5">
+        <?php if($_options = $this->getItemOptions()): ?>
+        <dl class="item options">
+        <?php foreach ($_options as $_option) : ?>
+            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+            <?php if (!$this->getPrintStatus()): ?>
+                <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+                <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>>
+                    <?php echo $_formatedOptionValue['value'] ?>
+                    <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                    <div class="truncated_full_value">
+                        <dl class="item options">
+                            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                            <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                        </dl>
+                    </div>
+                    <?php endif; ?>
+                </dd>
+            <?php else: ?>
+                <dd><?php echo $this->escapeHtml( (isset($_option['print_value']) ? $_option['print_value'] : $_option['value']) ) ?></dd>
+            <?php endif; ?>
+        <?php endforeach; ?>
+        </dl>
+        <?php endif; ?>
+        <?php echo $this->escapeHtml($_item->getDescription()) ?>
+        <?php if ($this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $parentItem) && $parentItem->getGiftMessageId()): ?>
+            <a href="#" id="order-item-gift-message-link-<?php echo $parentItem->getId() ?>" class="gift-message-link" aria-controls="order-item-gift-message-<?php echo $parentItem->getId()?>" data-item-id="<?php echo $parentItem->getId() ?>"><?php echo __('Gift Message') ?></a>
+        <?php endif; ?>
+    </td>
+</tr>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/sales/order/items/renderer.phtml b/app/design/frontend/magento_plushe/Magento_Bundle/sales/order/items/renderer.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..3692830fff3e057ce52814818fe1d04359a30de4
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/sales/order/items/renderer.phtml
@@ -0,0 +1,354 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $parentItem = $this->getItem() ?>
+<?php $items = array_merge(array($parentItem), $parentItem->getChildrenItems()); ?>
+<?php $_count = count ($items) ?>
+<?php $_index = 0 ?>
+
+<?php $_prevOptionId = '' ?>
+
+<?php foreach ($items as $_item): ?>
+
+<?php if($this->getItemOptions() || $parentItem->getDescription() || $this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $parentItem) && $parentItem->getGiftMessageId()): ?>
+    <?php $_showlastRow = true ?>
+<?php else: ?>
+    <?php $_showlastRow = false ?>
+<?php endif; ?>
+
+<?php if ($_item->getParentItem()): ?>
+    <?php $attributes = $this->getSelectionAttributes($_item) ?>
+    <?php if ($_prevOptionId != $attributes['option_id']): ?>
+    <tr<?php if ($_item->getLastRow()) echo 'class="last"'; ?>>
+        <td class="col label" colspan="5"><div class="option label"><?php echo $attributes['option_label'] ?></div></td>
+    </tr>
+    <?php $_prevOptionId = $attributes['option_id'] ?>
+    <?php endif; ?>
+<?php endif; ?>
+<tr<?php echo (++$_index==$_count && !$_showlastRow)?' class="border"':'' ?> id="order-item-row-<?php echo $_item->getId() ?>">
+    <?php if (!$_item->getParentItem()): ?>
+        <td class="col name">
+            <strong class="product name"><?php echo $this->escapeHtml($_item->getName()) ?></strong>
+        </td>
+    <?php else: ?>
+        <td class="col value"><div class="option value"><?php echo $this->getValueHtml($_item)?></div></td>
+    <?php endif; ?>
+    <td class="col sku"><?php echo $this->escapeHtml($this->helper('Magento\Core\Helper\String')->splitInjection($_item->getSku())) ?></td>
+    <td class="col price">
+        <?php if (!$_item->getParentItem()): ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()) ?>
+                    <?php endif; ?>
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+                    <span class="cart-tax-info" id="eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxDisposition()) ?>
+                    <?php endif; ?>
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+                    <span class="cart-tax-info" id="unit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+        <?php endif; ?>
+        <?php else: ?>
+            &nbsp;
+        <?php endif; ?>
+    </td>
+    <td class="col qty">
+        <?php if (($_item->getParentItem() && $this->isChildCalculated()) ||
+                (!$_item->getParentItem() && !$this->isChildCalculated())): ?>
+            <span class="nobr">
+            <?php if ($_item->getQtyOrdered() > 0): ?>
+                <?php echo __('Ordered'); ?>: <strong><?php echo $_item->getQtyOrdered()*1 ?></strong><br />
+            <?php endif; ?>
+            <?php if ($_item->getQtyShipped() > 0 && !$this->isShipmentSeparately()): ?>
+                <?php echo __('Shipped'); ?>: <strong><?php echo $_item->getQtyShipped()*1 ?></strong><br />
+            <?php endif; ?>
+            <?php if ($_item->getQtyCanceled() > 0): ?>
+                <?php echo __('Canceled'); ?>: <strong><?php echo $_item->getQtyCanceled()*1 ?></strong><br />
+            <?php endif; ?>
+            <?php if ($_item->getQtyRefunded() > 0): ?>
+                <?php echo __('Refunded'); ?>: <strong><?php echo $_item->getQtyRefunded()*1 ?></strong>
+            <?php endif; ?>
+            </span>
+        <?php elseif ($_item->getQtyShipped() > 0 && $_item->getParentItem() && $this->isShipmentSeparately()): ?>
+            <span class="nobr"><?php echo __('Shipped'); ?>: <strong><?php echo $_item->getQtyShipped()*1 ?></strong></span>
+        <?php else: ?>
+            &nbsp;
+        <?php endif; ?>
+    </td>
+    <td class="col subtotal">
+        <?php if (!$_item->getParentItem()): ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxRowDisposition()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total Incl. Tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+
+            </span>
+        <?php endif; ?>
+        <?php else: ?>
+            &nbsp;
+        <?php endif; ?>
+    </td>
+    <!--
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+    <th class="a-right"><?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()) ?></th>
+    <?php endif; ?>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+    <th class="a-right"><?php echo $this->getOrder()->formatPrice($this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($this->getItem())); ?></th>
+    <?php endif; ?>
+    -->
+</tr>
+<?php endforeach; ?>
+<?php if ($_showlastRow): ?>
+<tr>
+    <td class="col options" colspan="5">
+        <?php if($_options = $this->getItemOptions()): ?>
+        <dl class="item options">
+        <?php foreach ($_options as $_option) : ?>
+            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+            <?php if (!$this->getPrintStatus()): ?>
+                <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+                <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>>
+                    <?php echo $_formatedOptionValue['value'] ?>
+                    <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                    <div class="truncated_full_value">
+                        <dl class="item options">
+                            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                            <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                        </dl>
+                    </div>
+                    <?php endif; ?>
+                </dd>
+            <?php else: ?>
+                <dd><?php echo $this->escapeHtml( (isset($_option['print_value']) ? $_option['print_value'] : $_option['value']) ) ?></dd>
+            <?php endif; ?>
+        <?php endforeach; ?>
+        </dl>
+        <?php endif; ?>
+        <?php echo $this->escapeHtml($_item->getDescription()) ?>
+        <?php if ($this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $parentItem) && $parentItem->getGiftMessageId()): ?>
+            <a href="#" id="order-item-gift-message-link-<?php echo $parentItem->getId() ?>" class="gift-message-link" aria-controls="order-item-gift-message-<?php echo $parentItem->getId()?>" data-item-id="<?php echo $parentItem->getId()?>"><?php echo __('Gift Message') ?></a>
+        <?php endif; ?>
+    </td>
+</tr>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Bundle/sales/order/shipment/items/renderer.phtml b/app/design/frontend/magento_plushe/Magento_Bundle/sales/order/shipment/items/renderer.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..b7867220326051c1ac437b8467e2d4b04861a846
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Bundle/sales/order/shipment/items/renderer.phtml
@@ -0,0 +1,109 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $parentItem = $this->getItem() ?>
+<?php $items = array_merge(array($parentItem->getOrderItem()), $parentItem->getOrderItem()->getChildrenItems()) ?>
+<?php $shipItems = $this->getChilds($parentItem) ?>
+<?php $_count = count ($items) ?>
+<?php $_index = 0 ?>
+
+<?php $_prevOptionId = '' ?>
+
+<?php foreach ($items as $_item): ?>
+
+<?php if($this->getItemOptions() || $parentItem->getDescription() || $this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $parentItem) && $parentItem->getGiftMessageId()): ?>
+    <?php $_showlastRow = true ?>
+<?php else: ?>
+    <?php $_showlastRow = false ?>
+<?php endif; ?>
+
+<?php if ($_item->getParentItem()): ?>
+    <?php $attributes = $this->getSelectionAttributes($_item) ?>
+    <?php if ($_prevOptionId != $attributes['option_id']): ?>
+    <tr>
+        <td colspan="3" class="col label"><div class="option label"><?php echo $attributes['option_label'] ?></div></td>
+    </tr>
+    <?php $_prevOptionId = $attributes['option_id'] ?>
+    <?php endif; ?>
+<?php endif; ?>
+<tr<?php echo (++$_index==$_count && !$_showlastRow)?' class="border"':'' ?> id="order-item-row-<?php echo $_item->getId() ?>">
+    <?php if (!$_item->getParentItem()): ?>
+    <td class="col name">
+        <strong class="product name"><?php echo $this->escapeHtml($_item->getName()) ?></strong>
+    </td>
+    <?php else: ?>
+    <td class="col value"><div class="option value"><?php echo $this->getValueHtml($_item) ?></div></td>
+    <?php endif; ?>
+    <td class="col sku"><?php echo $this->escapeHtml($_item->getSku()) ?></td>
+    <td class="col price">
+        <?php if (($this->isShipmentSeparately() && $_item->getParentItem()) || (!$this->isShipmentSeparately() && !$_item->getParentItem())): ?>
+            <?php if (isset($shipItems[$_item->getId()])): ?>
+                <?php echo $shipItems[$_item->getId()]->getQty()*1 ?>
+            <?php elseif ($_item->getIsVirtual()): ?>
+                <?php echo __('N/A') ?>
+            <?php else: ?>
+                0
+            <?php endif; ?>
+        <?php else: ?>
+        &nbsp;
+        <?php endif; ?>
+    </td>
+</tr>
+<?php endforeach; ?>
+
+<?php if ($_showlastRow): ?>
+<tr>
+    <td class="col options" colspan="3">
+        <?php if($_options = $this->getItemOptions()): ?>
+        <dl class="item options">
+        <?php foreach ($_options as $_option) : ?>
+            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+            <?php if (!$this->getPrintStatus()): ?>
+                <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+                <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>>
+                    <?php echo $_formatedOptionValue['value'] ?>
+                    <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                    <div class="truncated_full_value">
+                        <dl class="item options">
+                            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                            <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                        </dl>
+                    </div>
+                    <?php endif; ?>
+                </dd>
+            <?php else: ?>
+                <dd><?php echo $this->escapeHtml( (isset($_option['print_value']) ? $_option['print_value'] : $_option['value']) ) ?></dd>
+            <?php endif; ?>
+        <?php endforeach; ?>
+        </dl>
+        <?php endif; ?>
+        <?php echo $this->escapeHtml($_item->getDescription()) ?>
+        <?php if ($this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $parentItem) && $parentItem->getGiftMessageId()): ?>
+            <a href="#" id="order-item-gift-message-link-<?php echo $parentItem->getId() ?>" class="gift-message-link" aria-controls="order-item-gift-message-<?php echo $parentItem->getId()?>" data-item-id="<?php echo $parentItem->getId() ?>"><?php echo __('Gift Message') ?></a>
+        <?php endif; ?>
+    </td>
+</tr>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Captcha/captcha.js b/app/design/frontend/magento_plushe/Magento_Captcha/captcha.js
new file mode 100644
index 0000000000000000000000000000000000000000..dd6ef9edd81b5c94c59c88535642286c1cc33bb1
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Captcha/captcha.js
@@ -0,0 +1,70 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    mage
+ * @package     captcha
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/*jshint browser:true jquery:true*/
+(function($, undefined) {
+    "use strict";
+    $.widget('mage.captcha', {
+        options: {
+            refreshClass: 'refreshing',
+            reloadSelector: '.captcha-reload',
+            imageSelector: '.captcha-img'
+        },
+
+        /**
+         * Method binds click event to reload image
+         * @private
+         */
+        _create: function() {
+            this.element.on('click', this.options.reloadSelector, $.proxy(this.refresh, this));
+        },
+
+        /**
+         * Method triggeres an AJAX request to refresh the CAPTCHA image
+         * @param e - Event
+         */
+        refresh: function(e) {
+            var reloadImage = $(e.currentTarget);
+            reloadImage.addClass(this.options.refreshClass);
+            $.ajax({
+                url: this.options.url,
+                type: 'post',
+                dataType: 'json',
+                context: this,
+                data: {
+                    'formId': this.options.type
+                },
+                success: function (response) {
+                    if (response.imgSrc) {
+                        this.element.find(this.options.imageSelector).attr('src', response.imgSrc);
+                    }
+                },
+                complete: function() {
+                    reloadImage.removeClass(this.options.refreshClass);
+                }
+            });
+        }
+    });
+})(jQuery);
+
diff --git a/app/design/frontend/magento_plushe/Magento_Captcha/default.phtml b/app/design/frontend/magento_plushe/Magento_Captcha/default.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..7c9d351bfaf57b150357cc895e30eddcf5f59b09
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Captcha/default.phtml
@@ -0,0 +1,59 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    Mage
+ * @package     Magento_Captcha
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /* @var $this \Magento\Core\Block\Captcha\DefaultCaptcha */ ?>
+
+<?php /* @var $captcha \Magento\Core\Model\Captcha\DefaultCaptcha */ ?>
+<?php $captcha = $this->getCaptchaModel() ?>
+<div class="field captcha required" role="<?php echo $this->getFormId()?>">
+    <label for="captcha_<?php echo $this->getFormId() ?>" class="label"><span><?php echo __('Please type the letters below')?></span></label>
+    <div class="control captcha">
+        <input name="<?php echo \Magento\Captcha\Helper\Data::INPUT_NAME_FIELD_VALUE ?>[<?php echo $this->getFormId()?>]" type="text" class="input-text required-entry" data-validate="{required:true}" id="captcha_<?php echo $this->getFormId() ?>" />
+        <div class="nested">
+            <div class="field captcha no-label" role="<?php echo $this->getFormId()?>" id="captcha-container-<?php echo $this->getFormId()?>">
+                <div class="control captcha-image">
+                    <button type="button" class="action reload captcha-reload" title="<?php echo __('Reload captcha') ?>"><span><?php echo __('Reload captcha') ?></span></button>
+                    <img alt="<?php echo __('Please type the letters below')?>" class="captcha-img" height="<?php echo $this->getImgHeight() ?>" src="<?php echo $captcha->getImgSrc() ?>"/>
+                    <?php if (!$captcha->isCaseSensitive()) :?>
+                    <div class="captcha-note note">
+                        <?php echo __('<strong>Attention</strong>: Captcha is case sensitive.') ?>
+                    </div>
+                    <?php endif; ?>
+                </div>
+                <script type="text/javascript">//<![CDATA[
+                (function ($) {
+                    head.js("<?php echo $this->getViewFileUrl('Magento_Captcha::captcha.js') ?>",function() {
+                        $('#captcha-container-<?php echo $this->getFormId()?>').captcha({
+                            url: '<?php echo $this->getRefreshUrl()?>',
+                            type: '<?php echo $this->getFormId() ?>'
+                        });
+                    });
+                })(jQuery);
+                //]]></script>
+            </div>
+        </div>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Captcha/layout/override/checkout_onepage_index.xml b/app/design/frontend/magento_plushe/Magento_Captcha/layout/override/checkout_onepage_index.xml
new file mode 100644
index 0000000000000000000000000000000000000000..86dfd2318b84db908601285d1ad49aa4cd062b47
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Captcha/layout/override/checkout_onepage_index.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="form.login.additional.info">
+        <block class="Magento\Captcha\Block\Captcha" name="captcha" after="-">
+            <action method="setFormId">
+                <argument name="formId" xsi:type="string">user_login</argument>
+            </action>
+            <action method="setImgWidth">
+                <argument name="width" xsi:type="string">230</argument>
+            </action>
+            <action method="setImgHeight">
+                <argument name="width" xsi:type="string">50</argument>
+            </action>
+        </block>
+    </referenceContainer>
+    <referenceContainer name="form.billing.additional.info">
+        <block class="Magento\Captcha\Block\Captcha" name="captcha.guest.checkout">
+            <referenceBlock name="head">
+                <block class="Magento\Page\Block\Html\Head\Script" name="magento-captcha-onepage-js">
+                    <arguments>
+                        <argument name="file" xsi:type="string">Magento_Captcha::onepage.js</argument>
+                    </arguments>
+                </block>
+            </referenceBlock>
+            <action method="setFormId">
+                <argument name="formId" xsi:type="string">guest_checkout</argument>
+            </action>
+            <action method="setImgWidth">
+                <argument name="width" xsi:type="string">230</argument>
+            </action>
+            <action method="setImgHeight">
+                <argument name="width" xsi:type="string">50</argument>
+            </action>
+        </block>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Captcha/layout/override/customer_account_create.xml b/app/design/frontend/magento_plushe/Magento_Captcha/layout/override/customer_account_create.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8a497d5df2d2cedb6e7a0aeb6f8328a43e7d9aad
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Captcha/layout/override/customer_account_create.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="form.additional.info">
+        <block class="Magento\Captcha\Block\Captcha" name="captcha" after="-">
+            <action method="setFormId">
+                <argument name="formId" xsi:type="string">user_create</argument>
+            </action>
+            <action method="setImgWidth">
+                <argument name="width" xsi:type="string">230</argument>
+            </action>
+            <action method="setImgHeight">
+                <argument name="width" xsi:type="string">50</argument>
+            </action>
+        </block>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Captcha/layout/override/customer_account_forgotpassword.xml b/app/design/frontend/magento_plushe/Magento_Captcha/layout/override/customer_account_forgotpassword.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c61719c3ff9463904a2e4795e11c8583da01d643
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Captcha/layout/override/customer_account_forgotpassword.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="form.additional.info">
+        <block class="Magento\Captcha\Block\Captcha" name="captcha" after="-">
+            <action method="setFormId">
+                <argument name="formId" xsi:type="string">user_forgotpassword</argument>
+            </action>
+            <action method="setImgWidth">
+                <argument name="width" xsi:type="string">230</argument>
+            </action>
+            <action method="setImgHeight">
+                <argument name="width" xsi:type="string">50</argument>
+            </action>
+        </block>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Captcha/layout/override/customer_account_login.xml b/app/design/frontend/magento_plushe/Magento_Captcha/layout/override/customer_account_login.xml
new file mode 100644
index 0000000000000000000000000000000000000000..95dff1a4b3fe4992fcd3d5ae1dd74882e7631e42
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Captcha/layout/override/customer_account_login.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="form.additional.info">
+        <block class="Magento\Captcha\Block\Captcha" name="captcha" after="-">
+            <action method="setFormId">
+                <argument name="formId" xsi:type="string">user_login</argument>
+            </action>
+            <action method="setImgWidth">
+                <argument name="width" xsi:type="string">230</argument>
+            </action>
+            <action method="setImgHeight">
+                <argument name="width" xsi:type="string">50</argument>
+            </action>
+        </block>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Captcha/onepage.js b/app/design/frontend/magento_plushe/Magento_Captcha/onepage.js
new file mode 100644
index 0000000000000000000000000000000000000000..42e01875c09660b5c5fa27b333345083914ee6ec
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Captcha/onepage.js
@@ -0,0 +1,40 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    mage
+ * @package     captcha
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/*jshint browser:true jquery:true*/
+(function($, window, document, undefined) {
+    "use strict";
+
+    $(document).on("login:setMethod", function() {
+        $("[role='guest_checkout'], [role='register_during_checkout']").hide();
+        var type = ($("#login\\:guest").is(':checked')) ? 'guest_checkout' : 'register_during_checkout';
+        $("[role='" + type + "']").show();
+    });
+
+    $(document).on('billing-request:completed', function() {
+        if (typeof window.checkout !== 'undefined') {
+            $(".captcha-reload:visible").trigger("click");
+        }
+    });
+})(jQuery, window, document);
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/category/title.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/category/title.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..ac3fc02f0b8c3494a279486c069743d6e71fa159
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/category/title.phtml
@@ -0,0 +1,42 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Category title template
+ *
+ * @see \Magento\Catalog\Block\Category\View
+ */
+?>
+<?php
+    $_helper    = $this->helper('Magento\Catalog\Helper\Output');
+    $_category  = $this->getCurrentCategory();
+?>
+<hgroup class="page category title yyy">
+    <h1 class="title"><?php echo $_helper->categoryAttribute($_category, $this->getCurrentCategory()->getName(), 'name') ?></h1>
+    <?php if($this->IsRssCatalogEnable()): ?>
+        <a href="<?php echo $this->getRssLink() ?>" title="<?php echo __('Subscribe to RSS Feed') ?>" class="action rss"><?php echo __('Subscribe to RSS Feed') ?></a>
+    <?php endif; ?>
+</hgroup>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/category/view.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/category/view.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..4d40df3d1f65dff31de319812694a45db987e799
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/category/view.phtml
@@ -0,0 +1,63 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Category view template
+ *
+ * @see \Magento\Catalog\Block\Category\View
+ */
+?>
+<?php
+    $_helper    = $this->helper('Magento\Catalog\Helper\Output');
+    $_category  = $this->getCurrentCategory();
+    $_imgHtml   = '';
+    if ($_imgUrl = $_category->getImageUrl()) {
+        $_imgHtml = '<p class="category-image"><img src="'.$_imgUrl.'" alt="'.$this->escapeHtml($_category->getName()).'" title="'.$this->escapeHtml($_category->getName()).'" /></p>';
+        $_imgHtml = $_helper->categoryAttribute($_category, $_imgHtml, 'image');
+    }
+?>
+<div class="category-view">
+    <?php if($_imgUrl): ?>
+        <?php echo $_imgHtml ?>
+    <?php endif; ?>
+
+    <?php if($_description=$this->getCurrentCategory()->getDescription()): ?>
+        <div class="category description std">
+            <?php echo $_helper->categoryAttribute($_category, $_description, 'description') ?>
+        </div>
+    <?php endif; ?>
+
+    <?php if($this->isContentMode()): ?>
+        <?php echo $this->getCmsBlockHtml() ?>
+
+    <?php elseif($this->isMixedMode()): ?>
+        <?php echo $this->getCmsBlockHtml() ?>
+        <?php echo $this->getProductListHtml() ?>
+
+    <?php else: ?>
+        <?php echo $this->getProductListHtml() ?>
+    <?php endif; ?>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/category/widget/link/link_block.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/category/widget/link/link_block.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..f57a72063c9a6ce3b5a9e7c0ed9637bff337330d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/category/widget/link/link_block.phtml
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="widget category link"><a <?php echo $this->getLinkAttributes() ?>><span><?php echo $this->escapeHtml($this->getAnchorText()) ?></span></a></div>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/category/widget/link/link_inline.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/category/widget/link/link_inline.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..4d36857a8510719416877b58df0ef739ba7f03f0
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/category/widget/link/link_inline.phtml
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<span class="widget category link"><a <?php echo $this->getLinkAttributes() ?>><span><?php echo $this->escapeHtml($this->getAnchorText()) ?></span></a></span>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/js/list.js b/app/design/frontend/magento_plushe/Magento_Catalog/js/list.js
new file mode 100644
index 0000000000000000000000000000000000000000..1ed2bc052077107496523c986854f1a83d72ef0d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/js/list.js
@@ -0,0 +1,74 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    mage compare list
+ * @package     mage
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/*jshint browser:true jquery:true*/
+(function ($, window) {
+    $.widget('mage.compareList', {
+        _create: function() {
+
+            var elem = this.element,
+                products = $('thead td', elem);
+
+            if (products.length > this.options.productsInRow) {
+                var headings = $('<table/>')
+                    .addClass('comparison headings data table')
+                    .insertBefore(elem.closest('.container'));
+                elem.addClass('scroll');
+
+                $('th', elem).each(function(){
+                    var th = $(this),
+                        thCopy = th.clone();
+
+                    th.animate({
+                        top: '+=0'
+                    }, 50, function(){
+                        var height;
+                        if ($.browser.mozilla && $.browser.version <= '11.0') {
+                            height = th.outerHeight();
+                        }
+                        else {
+                            height = th.height();
+                        }
+                        thCopy.css('height', height)
+                            .appendTo(headings)
+                            .wrap('<tr />');
+                    });
+                });
+            }
+
+            $(this.options.windowPrintSelector).on('click', function(e) {
+                e.preventDefault();
+                window.print();
+            });
+
+            $.each(this.options.selectors, function(i, selector) {
+                $(selector).on('click', function(e) {
+                    e.preventDefault();
+                    window.location.href = $(this).data('url');
+                });
+            });
+
+        }
+    });
+})(jQuery, window);
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layer/filter.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/layer/filter.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..4a504db5622552e70a0dd189f2ebf7253db30142
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layer/filter.phtml
@@ -0,0 +1,46 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Template for filter items block
+ *
+ * @see \Magento\Catalog\Block\Layer\Filter
+ */
+?>
+
+<ol class="items">
+<?php foreach ($this->getItems() as $_item): ?>
+    <li class="item">
+        <?php if ($_item->getCount() > 0): ?>
+        <a href="<?php echo $this->escapeUrl($_item->getUrl()) ?>"><?php echo $_item->getLabel() ?></a>
+        <?php else: echo $_item->getLabel() ?>
+        <?php endif; ?>
+        <?php if ($this->shouldDisplayProductCount()): ?>
+        <span class="count"><?php echo $_item->getCount() ?></span>
+        <?php endif; ?>
+    </li>
+<?php endforeach ?>
+</ol>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layer/state.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/layer/state.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..5a896c8ce712562370d3030c2c23e2869c45ed3d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layer/state.phtml
@@ -0,0 +1,61 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Category layered navigation state
+ *
+ * @see \Magento\Catalog\Block\Layer\State
+ */
+?>
+<?php $_filters = $this->getActiveFilters() ?>
+<?php if(!empty($_filters)): ?>
+<div class="filtered">
+    <strong class="subtitle"><?php echo __('Currently Shopping by:') ?></strong>
+    <ol class="items">
+    <?php foreach ($_filters as $_filter): ?>
+        <li class="item">
+            <span class="label"><?php echo __($_filter->getName()) ?>:</span>
+            <span class="value"><?php echo $this->stripTags($_filter->getLabel()) ?></span>
+            <?php
+                $clearLinkUrl = $_filter->getClearLinkUrl();
+                if ($clearLinkUrl):
+            ?>
+                <a  class="action previous" href="<?php echo $_filter->getRemoveUrl() ?>" title="<?php echo __('Previous') ?>">
+                    <span><?php echo __('Previous') ?></span>
+                </a>
+                <a  class="action remove" title="<?php echo $this->escapeHtml($_filter->getFilter()->getClearLinkText()) ?>" href="<?php echo $clearLinkUrl ?>">
+                    <span><?php echo $this->escapeHtml($_filter->getFilter()->getClearLinkText()) ?></span>
+                </a>
+            <?php else: ?>
+                <a  class="action remove" href="<?php echo $_filter->getRemoveUrl() ?>" title="<?php echo __('Remove This Item') ?>">
+                    <span><?php echo __('Remove This Item') ?></span>
+                </a>
+            <?php endif; ?>
+        </li>
+    <?php endforeach; ?>
+    </ol>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layer/view.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/layer/view.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..6216489ee8b5891ef808d44e84819fcc12cc57c7
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layer/view.phtml
@@ -0,0 +1,57 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright  Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Category layered navigation
+ *
+ * @deprecated since 1.12.0.0
+ */
+?>
+<?php if($this->canShowBlock()): ?>
+<div class="block filter">
+    <div class="title">
+        <strong><?php echo __('Shop By') ?></strong>
+    </div>
+    <div class="content">
+        <?php echo $this->getStateHtml() ?>
+        <?php if ($this->getLayer()->getState()->getFilters()): ?>
+        <div class="actions">
+            <a href="<?php echo $this->getClearUrl() ?>" class="action reset"><?php echo __('Clear All') ?></a>
+        </div>
+        <?php endif; ?>
+        <strong class="subtitle"><?php echo __('Shopping Options') ?></strong>
+        <dl class="options" id="narrow-by-list">
+            <?php $_filters = $this->getFilters() ?>
+            <?php foreach ($_filters as $_filter): ?>
+            <?php if($_filter->getItemsCount()): ?>
+                <dt><?php echo __($_filter->getName()) ?></dt>
+                <dd><?php echo $_filter->getHtml() ?></dd>
+            <?php endif; ?>
+            <?php endforeach; ?>
+        </dl>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/catalog_category_view.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/catalog_category_view.xml
new file mode 100644
index 0000000000000000000000000000000000000000..204dba582da7e4e36e761e572bbe7acba5e07bb9
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/catalog_category_view.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="product_list">
+        <arguments>
+            <!-- If position of argument is depend on image size changable in VDE:
+                positions:list-secondary,grid-secondary,list-actions,grid-actions,list-primary,grid-primary<
+            -->
+            <argument name="positioned" xsi:type="string">positions:list-secondary</argument>
+        </arguments>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/catalog_product_compare_index.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/catalog_product_compare_index.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b40295454ee0ac27d2fb11d8cc3c2f212cd28191
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/catalog_product_compare_index.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="page_one_column"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="page_title" xsi:type="string">Compare Products</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/catalog_product_view.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/catalog_product_view.xml
new file mode 100644
index 0000000000000000000000000000000000000000..16e0c3b2030881fa324e45238631ab5fa3caf812
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/catalog_product_view.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="product.info.overview">
+        <arguments>
+            <argument name="at_label" xsi:type="string">none</argument>
+            <argument name="title" translate="true" xsi:type="string">Overview</argument>
+        </arguments>
+        <action method="addToParentGroup">
+            <argument name="group" xsi:type="string">detailed_info</argument>
+        </action>
+    </referenceBlock>
+    <move element="product.info" destination="product.info.main" after="product.tierprices"/>
+    <move element="page.main.title" destination="product.info.main" before="-"/>
+    <!-- <remove name="product.info.sku"/> -->
+    <move element="product.info.overview" destination="product.info.details" before="-" as="product_overview"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/catalog_product_view_type_grouped.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/catalog_product_view_type_grouped.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6ee5a363eadc0836dd20546da184878c6a27d14e
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/catalog_product_view_type_grouped.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+</layout>
diff --git a/app/code/Magento/PageCache/etc/di.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/default.xml
similarity index 67%
rename from app/code/Magento/PageCache/etc/di.xml
rename to app/design/frontend/magento_plushe/Magento_Catalog/layout/default.xml
index 8de7f62d82fc069be731b34a8a123f9707be36f3..6268243ca28ffcf264267f07a409a7b0b848c337 100644
--- a/app/code/Magento/PageCache/etc/di.xml
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/default.xml
@@ -23,19 +23,9 @@
  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
  */
 -->
-<config>
-    <type name="Magento\PageCache\Helper\Data">
-        <param name="cacheControls">
-            <value>
-                <zendPageCache>
-                    <class>
-                       \Magento\PageCache\Model\Control\Zend
-                    </class>
-                    <label>
-                        Zend Full Page Cache
-                    </label>
-                </zendPageCache>
-            </value>
-        </param>
-    </type>
-</config>
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <!-- <block class="Magento\Catalog\Block\Product\Compare\Sidebar" name="catalog.compare.link" template="Magento_Catalog::product/compare/link.phtml"/> -->
+    <referenceBlock name="header.links">
+        <block class="Magento\Core\Block\Template" name="catalog.compare.link" before="-" template="Magento_Catalog::product/compare/link.phtml"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_category_view.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_category_view.xml
new file mode 100644
index 0000000000000000000000000000000000000000..34ec89d16c394c6e968699bf4040c8aa89d10e70
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_category_view.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Catalog Category" type="page" parent="default">
+    <referenceBlock name="root">
+        <action method="setTemplate">
+            <argument name="template" xsi:type="string">2columns-left.phtml</argument>
+        </action>
+    </referenceBlock>
+    <referenceContainer name="content">
+        <block class="Magento\Catalog\Block\Category\View" name="category.products" template="category/view.phtml">
+            <block class="Magento\Catalog\Block\Product\ListProduct" name="product_list" template="product/list.phtml">
+                <block class="Magento\Catalog\Block\Product\ProductList\Toolbar" name="product_list_toolbar" template="product/list/toolbar.phtml">
+                    <block class="Magento\Page\Block\Html\Pager" name="product_list_toolbar_pager"/>
+                    <!-- The following code shows how to set your own pager increments -->
+                    <!--
+                        <action method="setDefaultListPerPage">
+                        <argument name="limit" xsi:type="string">4</argument>
+                    </action>
+                    <action method="setDefaultGridPerPage">
+                        <argument name="limit" xsi:type="string">3</argument>
+                    </action>
+                    <action method="addPagerLimit">
+                        <argument name="mode" xsi:type="string">list</argument>
+                        <argument name="limit" xsi:type="string">2</argument>
+                    </action>
+                    <action method="addPagerLimit">
+                        <argument name="mode" xsi:type="string">list</argument>
+                        <argument name="limit" xsi:type="string">4</argument>
+                    </action>
+                    <action method="addPagerLimit">
+                        <argument name="mode" xsi:type="string">list</argument>
+                        <argument name="limit" xsi:type="string">6</argument>
+                    </action>
+                    <action method="addPagerLimit">
+                        <argument name="mode" xsi:type="string">list</argument>
+                        <argument name="limit" xsi:type="string">8</argument>
+                    </action>
+                    <action method="addPagerLimit" translate="label">
+                        <argument name="mode" xsi:type="string">list</argument>
+                        <argument name="limit" xsi:type="string">all</argument>
+                        <argument name="label" xsi:type="string">All</argument>
+                    </action>
+                    <action method="addPagerLimit">
+                        <argument name="mode" xsi:type="string">grid</argument>
+                        <argument name="limit" xsi:type="string">3</argument>
+                    </action>
+                    <action method="addPagerLimit">
+                        <argument name="mode" xsi:type="string">grid</argument>
+                        <argument name="limit" xsi:type="string">6</argument>
+                    </action>
+                    <action method="addPagerLimit">
+                        <argument name="mode" xsi:type="string">grid</argument>
+                        <argument name="limit" xsi:type="string">9</argument>
+                    </action>
+                    <action method="addPagerLimit" translate="label">
+                        <argument name="mode" xsi:type="string">grid</argument>
+                        <argument name="limit" xsi:type="string">all</argument>
+                        <argument name="label" xsi:type="string">All</argument>
+                    </action>
+                    -->
+                </block>
+                <action method="setToolbarBlockName">
+                    <argument name="name" xsi:type="string">product_list_toolbar</argument>
+                </action>
+            </block>
+        </block>
+    </referenceContainer>
+    <update handle="MAP_popup"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_category_view_type_default.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_category_view_type_default.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fd6d078f24f5b161794573b51559c01f20230b6b
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_category_view_type_default.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Non Anchor Catalog Category" type="page" parent="catalog_category_view">
+    <referenceContainer name="left">
+        <block class="Magento\Catalog\Block\Navigation" name="catalog.leftnav" before="-" template="navigation/left.phtml"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_category_view_type_layered.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_category_view_type_layered.xml
new file mode 100644
index 0000000000000000000000000000000000000000..288770e392f2a52ef5539b6e4043b62dfdad2500
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_category_view_type_layered.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Anchor Catalog Category" type="page" parent="catalog_category_view">
+    <referenceContainer name="left">
+        <block class="Magento\Catalog\Block\Layer\View" name="catalog.leftnav" before="-" template="layer/view.phtml"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_compare_index.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_compare_index.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3a704346d3d296b3dcb517fe0ab6b974b1445e4d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_compare_index.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Catalog Product Compare List" type="page" parent="default">
+    <referenceContainer name="content">
+        <block class="Magento\Catalog\Block\Product\Compare\ListCompare" name="catalog.compare.list" template="product/compare/list.phtml"/>
+    </referenceContainer>
+    <update handle="MAP_popup"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view.xml
new file mode 100644
index 0000000000000000000000000000000000000000..508164ddc257ac456cc3323f23ec33224d2d1663
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view.xml
@@ -0,0 +1,145 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Catalog Product View (Any)" type="page" parent="default">
+    <referenceBlock name="root">
+        <action method="setTemplate">
+            <argument name="template" xsi:type="string">1column.phtml</argument>
+        </action>
+    </referenceBlock>
+    <referenceBlock name="page.main.title">
+        <arguments>
+            <argument name="css_class" xsi:type="string">product</argument>
+        </arguments>
+    </referenceBlock>
+    <referenceBlock name="head">
+        <block class="Magento\Page\Block\Html\Head\Script" name="mage-zoom-js">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/zoom.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Css" name="mage-gallery-css">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/gallery.css</argument>
+            </arguments>
+        </block>
+    </referenceBlock>
+    <update handle="page_calendar"/>
+    <block class="Magento\Catalog\Block\Product\View" name="product.info" template="product/view/form.phtml">
+        <container name="product.info.form.content" label="invisible" as="product_info_form_content">
+            <block class="Magento\Catalog\Block\Product\View" name="product.info.addtocart" as="addtocart" template="product/view/addtocart.phtml"/>
+        </container>
+        <block class="Magento\Core\Block\Template" name="product.info.form.options" as="options_container">
+            <block class="Magento\Catalog\Block\Product\View" name="product.info.options.wrapper" as="product_options_wrapper" template="product/view/options/wrapper.phtml">
+                <block class="Magento\Catalog\Block\Product\View\Options" name="product.info.options" as="product_options" template="product/view/options.phtml">
+                    <block class="Magento\Catalog\Block\Product\View\Options\Type\DefaultType" as="default" template="product/view/options/type/default.phtml"/>
+                    <block class="Magento\Catalog\Block\Product\View\Options\Type\Text" as="text" template="product/view/options/type/text.phtml"/>
+                    <block class="Magento\Catalog\Block\Product\View\Options\Type\File" as="file" template="product/view/options/type/file.phtml"/>
+                    <block class="Magento\Catalog\Block\Product\View\Options\Type\Select" as="select" template="product/view/options/type/select.phtml"/>
+                    <block class="Magento\Catalog\Block\Product\View\Options\Type\Date" as="date" template="product/view/options/type/date.phtml"/>
+                </block>
+                <block class="Magento\Core\Block\Html\Calendar" name="html_calendar" as="html_calendar" template="Magento_Page::js/calendar.phtml"/>
+            </block>
+            <block class="Magento\Catalog\Block\Product\View" name="product.info.options.wrapper.bottom" as="product_options_wrapper_bottom" template="product/view/options/wrapper/bottom.phtml">
+                <block class="Magento\Catalog\Block\Product\View" name="product.info.addtocart.additional" as="product.info.addtocart" template="product/view/addtocart.phtml"/>
+                <block class="Magento\Catalog\Block\Product\View" name="product.clone_prices" as="prices" template="product/view/price_clone.phtml"/>
+            </block>
+        </block>
+    </block>
+    <referenceContainer name="content">
+        <container name="product.info.main" label="invisible" htmlTag="div" htmlClass="product info main" before="-">
+            <block class="Magento\Catalog\Block\Product\View" name="product.price" template="product/view/price.phtml"/>
+            <block class="Magento\Catalog\Block\Product\View\Description" name="product.info.sku" template="product/view/attribute.phtml">
+                <arguments>
+                    <argument name="at_call" xsi:type="string">getSku</argument>
+                    <argument name="at_code" xsi:type="string">sku</argument>
+                    <argument name="css_class" xsi:type="string">sku</argument>
+                    <argument name="at_label" xsi:type="string">default</argument>
+                </arguments>
+            </block>
+            <block class="Magento\Catalog\Block\Product\View" name="product.info.rating" template="product/view/rating.phtml"/>
+            <block class="Magento\Catalog\Block\Product\View\Description" name="product.info.overview" template="product/view/attribute.phtml">
+                <arguments>
+                    <argument name="at_call" xsi:type="string">getShortDescription</argument>
+                    <argument name="at_code" xsi:type="string">short_description</argument>
+                    <argument name="css_class" xsi:type="string">overview</argument>
+                    <argument name="at_label" translate="true" xsi:type="string">Overview</argument>
+                    <argument name="title" translate="true" xsi:type="string">Details</argument>
+                </arguments>
+            </block>
+            <container name="alert.urls" as="alert_urls" label="Alert Urls"/>
+            <container name="product.info.type" label="invisible"/>
+            <block class="Magento\Catalog\Block\Product\View" name="product.tierprices" as="tierprices" template="product/view/tierprices.phtml"/>
+            <container name="product.info.extrahint" as="extrahint" label="Product View Extra Hint"/>
+            <block class="Magento\Catalog\Block\Product\View" name="product.info.addto" as="addto" template="product/view/addto.phtml"/>
+            <container name="product.info.social" label="Product social links container" htmlTag="div" htmlClass="social links product">
+                <block class="Magento\Catalog\Block\Product\View" name="product.info.mailto" template="product/view/mailto.phtml"/>
+            </container>
+        </container>
+        <container name="product.info.media" label="invisible" htmlTag="div" htmlClass="product media" after="product.info.main">
+            <block class="Magento\Catalog\Block\Product\View\Gallery" name="product.info.media.image" template="product/view/base-image.phtml">
+                <block class="Magento\Catalog\Block\Product\Image" name="product.image.main"/>
+                <block class="Magento\Catalog\Block\Product\Image" name="product.image.thumbs"/>
+            </block>
+        </container>
+        <block class="Magento\Catalog\Block\Product\View\Description" name="product.info.details" template="product/view/details.phtml">
+            <block class="Magento\Catalog\Block\Product\View\Description" name="product.info.description" template="product/view/attribute.phtml">
+                <arguments>
+                    <argument name="at_call" xsi:type="string">getDescription</argument>
+                    <argument name="at_code" xsi:type="string">description</argument>
+                    <argument name="css_class" xsi:type="string">description</argument>
+                    <argument name="at_label" xsi:type="string">none</argument>
+                    <argument name="title" translate="true" xsi:type="string">Details</argument>
+                </arguments>
+                <action method="addToParentGroup">
+                    <argument name="group" xsi:type="string">detailed_info</argument>
+                </action>
+            </block>
+            <block class="Magento\Catalog\Block\Product\View\Attributes" name="product.attributes" as="additional" template="product/view/attributes.phtml">
+                <arguments>
+                    <argument translate="true" name="title" xsi:type="string">Additional Information</argument>
+                </arguments>
+                <action method="addToParentGroup">
+                    <argument name="group" xsi:type="string">detailed_info</argument>
+                </action>
+            </block>
+        </block>
+    </referenceContainer>
+    <referenceContainer name="content.aside">
+        <block class="Magento\Catalog\Block\Product\ProductList\Related" name="catalog.product.related" template="Magento_Catalog::product/list/items.phtml">
+            <arguments>
+                <argument name="type" xsi:type="string">related</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Catalog\Block\Product\ProductList\Upsell" name="product.info.upsell" template="Magento_Catalog::product/list/items.phtml">
+            <arguments>
+                <argument name="type" xsi:type="string">upsell</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Catalog\Block\Product\View\Additional" name="product.info.additional" as="product_additional_data"/>
+    </referenceContainer>
+    <update handle="MAP_popup"/>
+    <update handle="MAP_price_msrp_item"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view_type_configurable.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view_type_configurable.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c17f71b4eb1c110b3dcf9cbd3d2e8ae3ef740ef0
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view_type_configurable.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Catalog Product View (Configurable)" type="page" parent="catalog_product_view">
+    <referenceBlock name="root">
+        <action method="addBodyClass">
+            <argument name="value" xsi:type="string">type-configurable</argument>
+        </action>
+    </referenceBlock>
+    <referenceContainer name="product.info.type">
+        <block class="Magento\Catalog\Block\Product\View\Type\Configurable" name="product.info.configurable" as="product_type_data" template="product/view/type/default.phtml"/>
+        <container name="product.info.configurable.extra" after="product.info.configurable" as="product_type_data_extra" label="Product Extra Info"/>
+    </referenceContainer>
+    <referenceBlock name="product.info.options.wrapper">
+        <block class="Magento\Catalog\Block\Product\View\Type\Configurable" name="product.info.options.configurable" as="options_configurable" before="-" template="product/view/type/options/configurable.phtml"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view_type_grouped.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view_type_grouped.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c72de82bdac78f81d5666e7d3643a03455a933ff
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view_type_grouped.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Catalog Product View (Grouped)" type="page" parent="catalog_product_view">
+    <referenceContainer name="product.info.form.content">
+        <block class="Magento\Catalog\Block\Product\View\Type\Grouped" name="product.info.grouped" before="product.info.addtocart" template="product/view/type/grouped.phtml"/>
+        <container name="product.info.grouped.extra" after="product.info.grouped" before="product.info.grouped" as="product_type_data_extra" label="Product Extra Info"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view_type_simple.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view_type_simple.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7ed2cfd91318a97717b3f44134d97748c52df476
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view_type_simple.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Catalog Product View (Simple)" type="page" parent="catalog_product_view">
+    <referenceContainer name="product.info.type">
+        <block class="Magento\Catalog\Block\Product\View\Type\Simple" name="product.info.simple" as="product_type_data" template="product/view/type/default.phtml"/>
+        <container name="product.info.simple.extra" after="product.info.simple" as="product_type_data_extra" label="Product Extra Info"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view_type_virtual.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view_type_virtual.xml
new file mode 100644
index 0000000000000000000000000000000000000000..29c391803b63ca02df7345994aa303d3d80c7736
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/catalog_product_view_type_virtual.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Catalog Product View (Virtual)" type="page" parent="catalog_product_view">
+    <referenceContainer name="product.info.type">
+        <block class="Magento\Catalog\Block\Product\View\Type\Virtual" name="product.info.virtual" as="product_type_data" template="product/view/type/default.phtml"/>
+        <container name="product.info.virtual.extra" after="product.info.virtual" as="product_type_data_extra" label="Product Extra Info"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/default.xml b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/default.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c22c8528c0d924b27d81112f3be9daadecc2498d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/layout/override/default.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="right">
+        <block class="Magento\Catalog\Block\Product\Compare\Sidebar" name="catalog.compare.sidebar" template="product/compare/sidebar.phtml"/>
+    </referenceContainer>
+    <block class="Magento\Catalog\Block\Product\Price\Template" name="catalog_product_price_template"/>
+    <referenceBlock name="catalog_product_price_template">
+        <action method="addPriceBlockType">
+            <argument name="type" xsi:type="string">msrp</argument>
+            <argument name="block" xsi:type="string">Magento\Catalog\Block\Product\Price</argument>
+            <argument name="template" xsi:type="string">product/price_msrp.phtml</argument>
+        </action>
+        <action method="addPriceBlockType">
+            <argument name="type" xsi:type="string">msrp_item</argument>
+            <argument name="block" xsi:type="string">Magento\Catalog\Block\Product\Price</argument>
+            <argument name="template" xsi:type="string">product/price_msrp_item.phtml</argument>
+        </action>
+        <action method="addPriceBlockType">
+            <argument name="type" xsi:type="string">msrp_noform</argument>
+            <argument name="block" xsi:type="string">Magento\Catalog\Block\Product\Price</argument>
+            <argument name="template" xsi:type="string">product/price_msrp_noform.phtml</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/navigation/left.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/navigation/left.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..200d38687e64e0b0a218af543241aa2a7d1f0b56
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/navigation/left.phtml
@@ -0,0 +1,59 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+ * Category left navigation
+ *
+ * @see \Magento\Catalog\Block\Navigation
+ */
+?>
+<?php if (!$this->getCategory()) return ?>
+<?php $_categories = $this->getCurrentChildCategories() ?>
+<?php $_count = is_array($_categories)?count($_categories):$_categories->count(); ?>
+<?php if($_count): ?>
+<div class="block filter">
+    <div class="title">
+        <strong><?php echo __('Shop By') ?></strong>
+    </div>
+    <div class="content">
+        <strong class="subtitle"><?php echo __('Shopping Options') ?></strong>
+        <dl class="options" id="narrow-by-list2">
+            <dt><?php echo __('Category') ?></dt>
+            <dd>
+                <ol class="items">
+                <?php foreach ($_categories as $_category): ?>
+                    <?php if($_category->getIsActive()): ?>
+                    <li class="item">
+                        <a href="<?php echo $this->getCategoryUrl($_category) ?>"<?php if ($this->isCategoryActive($_category)): ?> class="current"<?php endif; ?>><?php echo $this->escapeHtml($_category->getName()) ?></a>
+                        <span class="count"><?php echo $_category->getProductCount() ?></span>
+                    </li>
+                    <?php endif; ?>
+                <?php endforeach ?>
+                </ol>
+            </dd>
+        </dl>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/compare/link.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/compare/link.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..288e5ce1f9abd7d0e619c04c6b5f55924a4ed683
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/compare/link.phtml
@@ -0,0 +1,39 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/* @var $this \Magento\Catalog\Block\Product\Compare\Sidebar */
+?>
+<?php
+$_helper = $this->helper('Magento\Catalog\Helper\Product\Compare');
+$_items = $_helper->getItemCount() > 0 ? $_helper->getItemCollection() : null;
+?>
+<?php if($_helper->getItemCount() > 0): ?>
+    <li class="item link compare">
+        <a class="action compare" href="<?php echo $_helper->getListUrl() ?>" title="<?php echo __('Compare Products') ?>">
+            <span>
+                <?php echo __('Compare Products') ?><span class="qty"><?php echo __('%1', $_helper->getItemCount()) ?></span>
+            </span>
+        </a>
+    </li>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/compare/list.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/compare/list.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..f959e3087b402e6e44f431edcc64f601a0f452d4
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/compare/list.phtml
@@ -0,0 +1,150 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_total=$this->getItems()->getSize() ?>
+<?php if($_total): ?>
+<a href="#" class="action print" title="<?php echo __('Print This Page') ?>">
+    <span><?php echo __('Print This Page') ?></span>
+</a>
+<?php $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image'); ?>
+<div class="comparison wrapper">
+<div class="comparison container">
+    <table class="data-table data table comparison" id="product-comparison">
+        <thead>
+            <tr>
+            <?php $_i=0 ?>
+            <?php foreach($this->getItems() as $_item): ?>
+                <?php if($_i++==0): ?>
+                    <th class="cell label remove">&nbsp;</th>
+                <?php endif; ?>
+                <td class="cell remove product">
+                    <a href="<?php echo $this->helper('Magento\Catalog\Helper\Product\Compare')->getRemoveUrl($_item) ?>" class="action delete" title="<?php echo __('Remove Product') ?>">
+                        <span><?php echo __('Remove Product') ?></span>
+                    </a>
+                </td>
+            <?php endforeach; ?>
+            </tr>
+        </thead>
+        <tbody>
+            <tr>
+            <?php $_i = 0; ?>
+            <?php $_helper = $this->helper('Magento\Catalog\Helper\Output'); ?>
+            <?php foreach($this->getItems() as $_item): ?>
+                <?php if($_i++==0): ?>
+                    <th class="cell label product">&nbsp;</th>
+                <?php endif; ?>
+                <td class="cell product info">
+                    <a class="product photo" href="<?php echo $this->getProductUrl($_item) ?>" title="<?php echo $this->stripTags($_item->getName(), null, true) ?>">
+                        <!-- product_comparison_list -->
+                        <?php echo $imageBlock->init($_item, 'product_comparison_list')->toHtml() ?>
+                    </a>
+                    <strong class="product name">
+                        <a href="<?php echo $this->getProductUrl($_item) ?>" title="<?php echo $this->stripTags($_item->getName(), null, true) ?>">
+                            <?php echo $_helper->productAttribute($_item, $_item->getName(), 'name') ?>
+                        </a>
+                    </strong>
+                    <?php echo $this->getReviewsSummaryHtml($_item, 'short') ?>
+                    <?php echo $this->getPriceHtml($_item, true, '-compare-list-top') ?>
+                    <div class="product actions">
+                        <div class="primary">
+                    <?php if($_item->isSaleable()): ?>
+                        <button type="button" class="action tocart" data-url="<?php echo $this->helper('Magento\Catalog\Helper\Product\Compare')->getAddToCartUrl($_item) ?>">
+                            <span><?php echo __('Add to Cart') ?></span>
+                        </button>
+                    <?php else: ?>
+                        <?php if ($_item->getIsSalable()): ?>
+                            <p class="stock available"><span><?php echo __('In stock') ?></span></p>
+                        <?php else: ?>
+                            <p class="stock unavailable"><span><?php echo __('Out of stock') ?></span></p>
+                        <?php endif; ?>
+                    <?php endif; ?>
+                        </div>
+                    <?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllow()) : ?>
+                        <div class="secondary addto links">
+                            <a href="<?php echo $this->helper('Magento\Catalog\Helper\Product\Compare')->getAddToWishlistUrl($_item) ?>" class="action towishlist" data-action="add-to-wishlist">
+                                <span><?php echo __('Add to Wishlist') ?></span>
+                            </a>
+                        </div>
+                    <?php endif; ?>
+                    </div>
+                </td>
+            <?php endforeach; ?>
+            </tr>
+        </tbody>
+        <tbody>
+        <?php foreach ($this->getAttributes() as $_attribute): ?>
+            <tr>
+                <?php $_i = 0 ?>
+                <?php foreach($this->getItems() as $_item): ?>
+                <?php if($_i++==0): ?>
+                <th class="cell label">
+                    <span class="attribute label">
+                        <?php echo $_attribute->getStoreLabel() ? $_attribute->getStoreLabel() : __($_attribute->getFrontendLabel()) ?>
+                    </span>
+                </th>
+                <?php endif; ?>
+                <td class="cell product attribute">
+                    <div class="attibute value">
+                    <?php switch ($_attribute->getAttributeCode()) {
+                        case "price": ?>
+                            <?php echo $this->getPriceHtml($_item, true, '-compare-list-' . $_attribute->getCode()) ?>
+                            <?php break;
+                        case "small_image": ?>
+                            <img src="<?php echo $this->getSmallImageUrl($_item); ?>" width="<?php echo $this->getSmallImageSize()?>" height="<?php echo $this->getSmallImageSize()?>" alt="<?php echo $this->stripTags($_item->getName(), null, true) ?>" />
+                            <?php break;
+                        default: ?>
+                            <?php echo $_helper->productAttribute($_item, $this->getProductAttributeValue($_item, $_attribute), $_attribute->getAttributeCode()) ?>
+                            <?php break;
+                    } ?>
+                    </div>
+                </td>
+                <?php endforeach; ?>
+            </tr>
+        <?php endforeach; ?>
+        </tbody>
+    </table>
+</div>
+</div>
+<?php else: ?>
+    <p class="empty"><?php echo __('You have no items to compare.') ?></p>
+<?php endif; ?>
+
+<script type="text/javascript">
+    (function($, window) {
+    <?php if ($_total): ?>
+        head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/list.js')?>", function() {
+            $('#product-comparison').compareList({
+                windowPrintSelector: '.action.print',
+                productsInRow: 5,
+                selectors: {
+                    productAddToCartSelector: 'button.action.tocart'
+                }
+            });
+        });
+    <?php endif; ?>
+    })(jQuery, window);
+</script>
+
+
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/compare/sidebar.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/compare/sidebar.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..1b873ba6d41d46c55c06de771c8e2c8581d307f9
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/compare/sidebar.phtml
@@ -0,0 +1,79 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/* @var $this \Magento\Catalog\Block\Product\Compare\Sidebar */
+?>
+<?php
+$_helper = $this->helper('Magento\Catalog\Helper\Product\Compare');
+$_items = $_helper->getItemCount() > 0 ? $_helper->getItemCollection() : null;
+?>
+<div class="block compare">
+    <div class="title">
+        <strong>
+            <span class="text"><?php echo __('Compare Products') ?></span>
+            <?php if($_helper->getItemCount() > 0): ?>
+                <span class="qty"><?php echo __('%1', $_helper->getItemCount()) ?></span>
+            <?php endif; ?>
+        </strong>
+    </div>
+    <div class="content">
+        <?php if($_helper->getItemCount() > 0): ?>
+        <ol id="compare-items" class="items compare">
+            <?php foreach($_items as $_index => $_item): ?>
+            <li class="item">
+                <input type="hidden" class="compare-item-id" value="<?php echo $_item->getId() ?>" />
+                <strong class="product name">
+                    <a href="<?php echo $this->getProductUrl($_item) ?>"><?php echo $this->helper('Magento\Catalog\Helper\Output')->productAttribute($_item, $_item->getName(), 'name') ?></a>
+                </strong>
+                <a href="<?php echo $_helper->getRemoveUrl($_item) ?>" title="<?php echo __('Remove This Item') ?>" class="action delete"><span><?php echo __('Remove This Item') ?></span></a>
+            </li>
+            <?php endforeach; ?>
+        </ol>
+        <div class="actions">
+            <div class="primary">
+                <a href="<?php echo $_helper->getListUrl() ?>" class="action compare"><span><?php echo __('Compare') ?></span></a>
+            </div>
+            <div class="secondary">
+                <a id='compare-clear-all' href="<?php echo $_helper->getClearListUrl() ?>" class="action clear"><span><?php echo __('Clear All') ?></span></a>
+            </div>
+        </div>
+        <script type="text/javascript">
+            (function($) {
+                head.js("<?php echo $this->getViewFileUrl('jquery/jquery.popupwindow.js') ?>",
+                    "<?php echo $this->getViewFileUrl('mage/popup-window.js') ?>",
+                    "<?php echo $this->getViewFileUrl('Magento_Catalog::js/compare.js') ?>", function() {
+                        $('#compare-items').compareItems({
+                            removeConfirmMessage: '<?php echo __('Are you sure you would like to remove this item from the compare products?') ?>',
+                            removeSelector: '#compare-items a.action.delete',
+                            clearAllConfirmMessage: '<?php echo __('Are you sure you would like to remove all products from your comparison?') ?>',
+                            clearAllSelector: '#compare-clear-all'
+                        });
+                    });
+            })(jQuery);
+        </script>
+        <?php else: ?>
+        <p class="empty"><?php echo __('You have no items to compare.') ?></p>
+        <?php endif; ?>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/image.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/image.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..363f3e4b4bb365e727ca58df03b248dfd258a426
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/image.phtml
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /** @var $this \Magento\Catalog\Block\Product\Image */ ?>
+
+<img class="photo image" style="width:<?php echo $this->getProductImageView()->getWidth()?>px;
+     height:<?php echo $this->getProductImageView()->getHeight()?>px;"
+     src="<?php echo $this->getProductImageView()->getUrl() ?>"
+     alt="<?php echo $this->stripTags($this->getProductImageView()->getLabel(), null, true) ?>"/>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/image_with_borders.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/image_with_borders.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..1aa7f4e151f553df41a32e4450ba393205b10aa7
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/image_with_borders.phtml
@@ -0,0 +1,32 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /** @var $this \Magento\Catalog\Block\Product\Image */ ?>
+
+<span class="img photo container" style="width:<?php echo $this->getProductImageView()->getWidth()?>px;
+    height:<?php echo $this->getProductImageView()->getHeight()?>px; display: block; position: relative;
+    overflow: hidden"><img class="photo image" style="display: block; position: absolute; top: 0; bottom: 0; left: 0; right: 0;
+    margin: auto;" src="<?php echo $this->getProductImageView()->getUrl() ?>"
+    alt="<?php echo $this->stripTags($this->getProductImageView()->getLabel(), null, true) ?>"/></span>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/list.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/list.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..c5cec832a6e92c1abf422fa8241349b35510b976
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/list.phtml
@@ -0,0 +1,126 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Product list template
+ *
+ * @see \Magento\Catalog\Block\Product\ListProduct
+ */
+?>
+<?php
+$_productCollection = $this->getLoadedProductCollection();
+$_helper = $this->helper('Magento\Catalog\Helper\Output');
+$imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+?>
+<?php if (!$_productCollection->count()): ?>
+<p class="message note"><?php echo __('There are no products matching the selection.') ?></p>
+<?php else: ?>
+<?php echo $this->getToolbarHtml() ?>
+<?php echo $this->getAdditionalHtml() ?>
+<?php if ($this->getMode() == 'grid') {
+    $viewMode ='grid';
+    $image = 'category_page_grid';
+    $showDescription = false;
+    $rating = 'short';
+} else {
+    $viewMode ='list';
+    $image = 'category_page_list';
+    $showDescription = true;
+    $rating = 'full';
+}
+/**
+* Position for actions regarding image size changing in vde if needed
+*/
+$pos = $this->getPositioned();
+$position = '';
+if ($pos != null) {
+    $position = ' style="left:' . $this->getVar("{$image}:width") . 'px;'
+                .'top:' . $this->getVar("{$image}:height") . 'px;"';
+}
+?>
+<div class="products wrapper <?php echo $viewMode; ?>">
+    <?php $iterator = 1; ?>
+    <ol class="products list items">
+        <?php foreach ($_productCollection as $_product): ?>
+        <?php echo ($iterator++==1) ? '<li class="item product">' : '</li><li class="item product">' ?>
+            <div class="product">
+                <?php // Product Image ?>
+                <a href="<?php echo $_product->getProductUrl() ?>" class="product photo">
+                    <?php echo $imageBlock->init($_product, $image)->toHtml() ?>
+                </a>
+                <div class="product details">
+                    <?php $_productNameStripped = $this->stripTags($_product->getName(), null, true); ?>
+                    <strong class="product name">
+                        <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $_productNameStripped; ?>">
+                            <?php echo $_helper->productAttribute($_product, $_product->getName(), 'name'); ?>
+                        </a>
+                    </strong>
+                    <?php echo $this->getPriceHtml($_product, true) ?>
+                    <?php if ($_product->getRatingSummary()): ?>
+                    <?php echo $this->getReviewsSummaryHtml($_product,$rating) ?>
+                    <?php endif; ?>
+                    <?php if ($showDescription):?>
+                    <div class="product description">
+                        <?php echo $_helper->productAttribute($_product, $_product->getShortDescription(), 'short_description') ?>
+                        <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $_productNameStripped ?>"
+                           class="action more"><?php echo __('Learn More') ?></a>
+                    </div>
+                    <?php endif; ?>
+                    <div class="product actions"<?php echo strpos($pos, $viewMode . '-actions') ? $position : ''; ?>>
+                        <div class="primary"<?php echo strpos($pos, $viewMode . '-primary') ? $position: ''; ?>>
+                            <?php if ($_product->isSaleable()): ?>
+                            <button type="button" title="<?php echo __('Add to Cart') ?>" class="action tocart"
+                                    data-mage-init="{redirectUrl: {url: '<?php echo $this->getAddToCartUrl($_product) ?>'}}">
+                                <span><?php echo __('Add to Cart') ?></span>
+                            </button>
+                            <?php else: ?>
+                            <?php if ($_product->getIsSalable()): ?>
+                                <p class="stock available"><span><?php echo __('In stock') ?></span></p>
+                                <?php else: ?>
+                                <p class="stock unavailable"><span><?php echo __('Out of stock') ?></span></p>
+                                <?php endif; ?>
+                            <?php endif; ?>
+                        </div>
+                        <div class="secondary"<?php echo strpos($pos, $viewMode . '-secondary') ? $position : ''; ?>>
+                            <a href="<?php echo $this->helper('Magento\Wishlist\Helper\Data')->getAddUrl($_product) ?>"
+                               class="action towishlist" data-action="add-to-wishlist">
+                               <span><?php echo __('Add to Wishlist') ?></span>
+                           </a>
+                            <a href="<?php echo $this->getAddToCompareUrl($_product) ?>" class="action tocompare">
+                                <span><?php echo __('Add to Compare') ?></span>
+                            </a>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        <?php echo ($iterator==count($_productCollection)+1) ? '</li>' : '' ?>
+        <?php endforeach; ?>
+    </ol>
+</div>
+<div class="toolbar bottom">
+    <?php echo $this->getToolbarHtml() ?>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/list/items.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/list/items.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..5ff16b20042bac1ace91f3cb3cf7920021424788
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/list/items.phtml
@@ -0,0 +1,272 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/* @var $this \Magento\Catalog\Block\Product\AbstractProduct */
+?>
+
+<?php
+switch($type=$this->getType()) {
+
+    case 'related-rule':
+    if ($exist = $this->hasItems()) {
+        $type = 'related';
+        $class = $type;
+
+        $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+        $image ='related_products_list';
+        $title = __('Related Products');
+        $items = $this->getItemCollection();
+
+        $showWishlist = true;
+        $showCompare = true;
+        $showCart = false;
+        $rating = false;
+        $description = false;
+    }
+    break;
+
+    case 'related':
+    if ($exist = $this->getItems()->getSize()) {
+        $type = 'related';
+        $class = $type;
+
+        $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+        $image ='related_products_list';
+        $title = __('Related Products');
+        $items = $this->getItems();
+
+        $showWishlist = true;
+        $showCompare = true;
+        $showCart = false;
+        $rating = false;
+        $description = false;
+    }
+    break;
+
+    case 'upsell-rule':
+    if ($exist = $this->hasItems()) {
+        $type = 'upsell';
+        $class = $type;
+
+        $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+        $image ='upsell_products_list';
+        $title = __('You may also be interested in the following product(s)');
+        $items = $this->getItemCollection();
+
+        $showWishlist = false;
+        $showCompare = false;
+        $showCart = false;
+        $rating = false;
+        $description = false;
+    }
+    break;
+
+    case 'upsell':
+    if ($exist = count($this->getItemCollection()->getItems())) {
+        $type = 'upsell';
+        $class = $type;
+
+        $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+        $image ='upsell_products_list';
+        $title = __('You may also be interested in the following product(s)');
+        $items = $this->getItemCollection()->getItems();
+
+        $showWishlist = false;
+        $showCompare = false;
+        $showCart = false;
+        $rating = false;
+        $description = false;
+    }
+    break;
+
+    case 'crosssell-rule':
+    if ($exist = $this->hasItems()) {
+        $type = 'crosssell';
+        $class = $type;
+
+        $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+        $image ='cart_cross_sell_products';
+        $title = __('More Choices:');
+        $items = $this->getItemCollection();
+
+        $showWishlist = true;
+        $showCompare = true;
+        $showCart = true;
+        $rating = 'short';
+        $description = false;
+    }
+    break;
+
+    case 'crosssell':
+    if ($exist = $this->getItemCount()) {
+        $type = 'crosssell';
+        $class = $type;
+
+        $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+        $image ='cart_cross_sell_products';
+        $title = __('More Choices:');
+        $items = $this->getItems();
+
+        $showWishlist = true;
+        $showCompare = true;
+        $showCart = true;
+        $rating = 'short';
+        $description = false;
+    }
+    break;
+
+    case 'widget-viewed':
+    if ($exist = $this->getRecentlyViewedProducts()) {
+
+        $mode = $this->getViewMode();
+
+        $type = $type . '-' . $mode;
+
+        $class = 'widget viewed' . ' ' . $mode;
+
+        $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+        $image = $this->getImageType();
+        $title = __('Recently Viewed');
+        $items = $exist;
+
+        $showWishlist = true;
+        $showCompare = true;
+        $showCart = true;
+        $rating = 'short';
+        $description = ($mode == 'list') ? true : false;
+    }
+    break;
+
+    case 'other':
+    break;
+}
+?>
+
+<?php if ($exist):?>
+
+<div class="block <?php echo $class; ?>">
+
+    <div class="title">
+        <strong><?php echo $title; ?></strong>
+    </div>
+
+    <div class="content">
+
+        <?php if($type == 'related'): ?>
+        <div class="actions">
+            <?php echo __('Check items to add to the cart or') ?>
+            <button type="button" class="action select" role="select-all"><span><?php echo __('select all') ?></span></button>
+        </div>
+        <?php endif; ?>
+
+
+        <ol class="products list items <?php echo $type; ?>">
+        <?php $iterator = 1; ?>
+        <?php foreach($items as $_item): ?>
+            <?php echo ($iterator++==1) ? '<li class="item product">' : '</li><li class="item product">' ?>
+
+                <div class="product">
+
+                    <?php echo '<!-- ' . $image . '-->' ?>
+                    <a href="<?php echo $this->getProductUrl($_item) ?>" class="product photo">
+                        <?php echo $imageBlock->init($_item, $image)->toHtml() ?>
+                    </a>
+
+                    <div class="product details">
+
+                        <strong class="product name"><a title="<?php echo $this->escapeHtml($_item->getName()) ?>" href="<?php echo $this->getProductUrl($_item) ?>">
+                            <?php echo $this->escapeHtml($_item->getName()) ?></a>
+                        </strong>
+
+                        <?php echo $this->getPriceHtml($_item, true, '-' . $type) ?>
+
+                        <?php if ($_item->getRatingSummary() && $rating): ?>
+                            <?php echo $this->getReviewsSummaryHtml($_item,$rating) ?>
+                        <?php endif; ?>
+
+                        <?php if(!$_item->isComposite() && $_item->isSaleable() && $type == 'related'): ?>
+                            <?php if (!$_item->getRequiredOptions()): ?>
+                                <div class="field choice related">
+                                    <input type="checkbox" class="checkbox related" id="related-checkbox<?php echo $_item->getId() ?>" name="related_products[]" value="<?php echo $_item->getId() ?>" />
+                                    <label class="label" for="related-checkbox<?php echo $_item->getId() ?>"><span><?php echo __('Add to Cart') ?></span></label>
+                                </div>
+                            <?php endif; ?>
+                        <?php endif; ?>
+
+                        <?php if($showWishlist || $showCompare || $showCart): ?>
+                        <div class="product actions">
+
+                            <?php if($showCart): ?>
+                            <div class="primary">
+                                <?php if($_item->isSaleable()): ?>
+                                <button class="action tocart" data-mage-redirect="{event: 'click', url: '<?php echo $this->getAddToCartUrl($_item) ?>'}" type="button" title="<?php echo __('Add to Cart') ?>">
+                                    <span><?php echo __('Add to Cart') ?></span>
+                                </button>
+                                <?php else: ?>
+                                    <?php if ($_item->getIsSalable()): ?>
+                                        <p class="stock available"><span><?php echo __('In stock') ?></span></p>
+                                    <?php else: ?>
+                                        <p class="stock unavailable"><span><?php echo __('Out of stock') ?></span></p>
+                                    <?php endif; ?>
+                                <?php endif; ?>
+                            </div>
+                            <?php endif; ?>
+
+                            <?php if($showWishlist || $showCompare): ?>
+                            <div class="secondary addto links">
+                                <?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllow() && $showWishlist): ?>
+                                    <a href="<?php echo $this->getAddToWishlistUrl($_item) ?>" class="action towishlist" data-action="add-to-wishlist" title="<?php echo __('Add to Wishlist') ?>">
+                                        <span><?php echo __('Add to Wishlist') ?></span>
+                                    </a>
+                                <?php endif; ?>
+                                <?php if($this->getAddToCompareUrl($_item) && $showCompare): ?>
+                                    <a href="<?php echo $this->getAddToCompareUrl($_item) ?>" class="action tocompare" title="<?php echo __('Add to Compare') ?>">
+                                        <span><?php echo __('Add to Compare') ?></span>
+                                    </a>
+                                <?php endif; ?>
+                            </div>
+                            <?php endif; ?>
+                        </div>
+                        <?php endif; ?>
+
+                    </div>
+                </div>
+            <?php echo ($iterator==count($items)+1) ? '</li>' : '' ?>
+        <?php endforeach ?>
+        </ol>
+    </div>
+    <?php if($type == 'related'): ?>
+    <script type="text/javascript">
+        head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/related-products.js'); ?>", function() {
+            jQuery(".block.related [role='select-all']").relatedProducts({
+                relatedCheckbox: '.related.checkbox'
+            });
+        });
+    </script>
+    <?php endif; ?>
+    <script type="text/javascript">
+        head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/mage-attributes-processing.js') ?>");
+    </script>
+</div>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/list/toolbar.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/list/toolbar.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..4dbf3286a34da0dd7d7963180ce09f0cfdc6074d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/list/toolbar.phtml
@@ -0,0 +1,111 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Product list toolbar
+ *
+ * @see Magento\Catalog\Block\Product\ProductList\Toolbar
+ */
+?>
+<?php if ($this->getCollection()->getSize()): ?>
+<div class="toolbar">
+    <?php if ($this->isExpanded()): ?>
+    <div class="settings">
+
+        <?php if ($this->isEnabledViewSwitcher()): ?>
+        <div class="modes">
+            <?php $_modes = $this->getModes(); ?>
+            <?php if ($_modes && count($_modes) > 1): ?>
+            <strong class="label"><?php echo __('View as') ?></strong>
+            <?php foreach ($this->getModes() as $_code => $_label): ?>
+                <?php if ($this->isModeActive($_code)): ?>
+                    <strong class="mode active <?php echo strtolower($_code); ?>" title="<?php echo $_label ?>">
+                        <span><?php echo $_label ?></span>
+                    </strong>
+                    <?php else: ?>
+                    <a class="mode <?php echo strtolower($_code); ?>" title="<?php echo $_label ?>"
+                       href="<?php echo $this->getModeUrl($_code) ?>">
+                       <span><?php echo $_label ?></span>
+                    </a>
+                    <?php endif; ?>
+            <?php endforeach; ?>
+            <?php endif; ?>
+        </div>
+        <?php endif; ?>
+
+        <div class="sorter">
+            <label class="label" for="sorter"><?php echo __('Sort By') ?></label>
+            <select id="sorter" data-mage-init="{redirectUrl: {event:'change'}}">
+                <?php foreach ($this->getAvailableOrders() as $_key => $_order): ?>
+                <option
+                    value="<?php echo $this->getOrderUrl($_key, 'asc') ?>"<?php if ($this->isOrderCurrent($_key)): ?>
+                    selected="selected"<?php endif; ?>>
+                    <?php echo __($_order) ?>
+                </option>
+                <?php endforeach; ?>
+            </select>
+            <?php if ($this->getCurrentDirection() == 'desc'): ?>
+            <a title="<?php echo __('Set Ascending Direction') ?>" href="<?php echo $this->getOrderUrl(null, 'asc') ?>" class="action sort desc">
+                <span><?php echo __('Set Ascending Direction') ?></span>
+            </a>
+            <?php else: ?>
+            <a title="<?php echo __('Set Descending Direction') ?>" href="<?php echo $this->getOrderUrl(null, 'desc') ?>" class="action sort asc">
+                <span><?php echo __('Set Descending Direction') ?></span>
+            </a>
+            <?php endif; ?>
+        </div>
+
+    </div>
+    <?php endif; ?>
+
+    <div class="pager">
+        <p class="amount">
+            <?php if ($this->getLastPageNum() > 1): ?>
+            <?php echo __('Items %1-%2 of %3', $this->getFirstNum(), $this->getLastNum(), $this->getTotalNum()) ?>
+            <?php elseif ($this->getLastPageNum() == 1): ?>
+            <?php echo __('%1 Item', $this->getTotalNum()) ?>
+            <?php else: ?>
+            <?php echo __('%1 Item(s)', $this->getTotalNum()) ?>
+            <?php endif; ?>
+        </p>
+
+        <div class="limiter">
+            <strong class="label"><?php echo __('Show') ?></strong>
+            <select id="limiter" data-mage-init="{redirectUrl: {event:'change'}}">
+                <?php foreach ($this->getAvailableLimit() as $_key => $_limit): ?>
+                <option value="<?php echo $this->getLimitUrl($_key) ?>"<?php if ($this->isLimitCurrent($_key)): ?>
+                        selected="selected"<?php endif ?>>
+                    <?php echo $_limit ?>
+                </option>
+                <?php endforeach; ?>
+            </select>
+            <span class="text"><?php echo __('per page') ?></span>
+        </div>
+
+        <?php echo $this->getPagerHtml() ?>
+    </div>
+</div>
+<?php endif ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/listing.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/listing.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..4b85d9fb219958134e2c2928653ec5074ee7685f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/listing.phtml
@@ -0,0 +1,123 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Product list template
+ *
+ * @see \Magento\Catalog\Block\Product\ListProduct
+ */
+?>
+<?php
+$start = microtime(true);
+$_productCollection = $this->getLoadedProductCollection();
+$_helper = $this->helper('Magento\Catalog\Helper\Output');
+$imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+?>
+<?php if (!$_productCollection->count()): ?>
+<p class="message note"><?php echo __('There are no products matching the selection.') ?></p>
+<?php else: ?>
+<?php echo $this->getToolbarHtml() ?>
+<?php echo $this->getAdditionalHtml() ?>
+<?php if ($this->getMode() == 'grid') {
+    $viewMode ='grid';
+    $image = 'category_page_grid';
+    $showDescription = false;
+    $rating = 'short';
+} else {
+    $viewMode ='list';
+    $image = 'category_page_list';
+    $showDescription = true;
+    $rating = 'full';
+}
+
+?>
+<div class="products wrapper <?php echo $viewMode; ?>">
+    <?php $iterator = 1; ?>
+    <ol class="products list items">
+        <?php foreach ($_productCollection as $_product): ?>
+        <?php echo ($iterator++==1) ? '<li class="item product">' : '</li><li class="item product">' ?>
+            <div class="product">
+                <?php // Product Image ?>
+                <a href="<?php echo $_product->getProductUrl() ?>" class="product photo">
+                    <?php echo $imageBlock->init($_product, $image)->toHtml() ?>
+                </a>
+                <div class="product details">
+                <?php
+
+                    $info = array();
+                    $info['name'] = '<strong class="product name">'
+                                    . ' <a href="' . $_product->getProductUrl() . '" title="'
+                                    . $this->stripTags($_product->getName(), null, true) . '">'
+                                    . $_helper->productAttribute($_product, $_product->getName(), 'name')
+                                    . '</a></strong>';
+                    $info['price'] = $this->getPriceHtml($_product, true);
+                    $info['rating'] = $_product->getRatingSummary() ? $this->getReviewsSummaryHtml($_product,$rating) : '';
+
+                    if ($_product->isSaleable()) {
+                        $info['button'] = '<button type="button" title="' . __('Add to Cart') . '" class="action tocart"'
+                                        . ' data-mage-redirect="{event: \'click\', url: \'' . $this->getAddToCartUrl($_product) . '\'}">'
+                                        . '<span>' . __('Add to Cart') . '</span></button>';
+                    } else {
+                        $info['button'] = $_product->getIsSalable() ?   '<p class="stock available"><span>' . __('In stock') . '</span></p>' :
+                                                                        '<p class="stock unavailable"><span>' . __('Out of stock') . '</span></p>';
+                    }
+
+                    $info['links'] = '<div class="product links">'
+                                    . '<a href="' . $this->helper('Magento\Wishlist\Helper\Data')->getAddUrl($_product) . '" class="action towishlist" data-action="add-to-wishlist">'
+                                    . '<span>' . __('Add to Wishlist') . '</span></a>'
+                                    . '<a href="' . $this->getAddToCompareUrl($_product) . '" class="action tocompare">'
+                                    . '<span>' . __('Add to Compare') . '</span></a></div>';
+                    $info['actions'] = '<div class="product action">' . $info['button'] . $info['links'] . '</div>';
+
+                    if ($showDescription) {
+                        $info['description'] =  '<div class="product description">'
+                                                . $_helper->productAttribute($_product, $_product->getShortDescription(), 'short_description')
+                                                . ' <a href="' . $_product->getProductUrl() . '" class="action more">'
+                                                . __('Learn More') . '</a></div>';
+                    } else {
+                        $info['description'] = '';
+                    }
+
+                    $details = $this->getInfoOrder() ? : array('name','price','rating','description','actions');
+                    foreach ($details as $detail) {
+                        echo $info[$detail];
+                    }
+                    ?>
+
+                </div>
+            </div>
+        <?php echo ($iterator==count($_productCollection)+1) ? '</li>' : '' ?>
+        <?php endforeach; ?>
+    </ol>
+    <script type="text/javascript">
+        head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/mage-attributes-processing.js') ?>");
+    </script>
+</div>
+<div class="toolbar-bottom">
+    <?php echo $this->getToolbarHtml() ?>
+</div>
+<?php endif; ?>
+<?php echo $time_taken = microtime(true) - $start; ?>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/addto.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/addto.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..076fc1132f6e7cc0fc29b6953291adad29035827
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/addto.phtml
@@ -0,0 +1,48 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+
+<?php $_product = $this->getProduct(); ?>
+<?php $_wishlistSubmitUrl = $this->helper('Magento\Wishlist\Helper\Data')->getAddUrl($_product); ?>
+
+<div class="product addto links" data-role="add-to-links">
+<?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllow()) : ?>
+    <a href="<?php echo $_wishlistSubmitUrl ?>" class="action towishlist" data-action="add-to-wishlist"><span><?php echo __('Add to Wishlist') ?></span></a>
+<?php endif; ?>
+<?php
+    $_compareUrl = $this->helper('Magento\Catalog\Helper\Product\Compare')->getAddUrl($_product);
+?>
+<?php if($_compareUrl) : ?>
+    <a href="<?php echo $_compareUrl ?>" class="action tocompare"><span><?php echo __('Add to Compare') ?></span></a>
+<?php endif; ?>
+</div>
+<script type="text/javascript">
+    head.js("<?php echo $this->getViewFileUrl('Magento_Wishlist::js/add-to-wishlist.js') ?>", function () {
+        jQuery('[data-role="add-to-links"]').addToWishlist(
+            <?php echo $this->helper('Magento\Core\Helper\Data')->jsonEncode(array('productType' => $_product->getTypeId()))?>
+        );
+    });
+</script>
+
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/addtocart.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/addtocart.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..726d90b9c1fba16265e2fa66f62db865d5a66544
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/addtocart.phtml
@@ -0,0 +1,93 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_product = $this->getProduct(); ?>
+<?php $buttonTitle = __('Add to Cart'); ?>
+<?php if ($_product->isSaleable()): ?>
+<div class="box tocart">
+    <?php if (!$_product->isGrouped()): ?>
+    <div class="field qty">
+        <label class="label" for="qty"><span><?php echo __('Qty') ?></span></label>
+        <div class="control">
+            <input type="text" name="qty" id="qty" maxlength="12" value="<?php echo $this->getProductDefaultQty() * 1 ?>"
+               title="<?php echo __('Qty') ?>" class="input-text qty" data-validate="{required:true,digits:true}"/>
+        </div>
+    </div>
+    <?php endif; ?>
+    <div class="actions">
+        <button type="submit" title="<?php echo $buttonTitle ?>" class="action primary tocart" id="product-addtocart-button">
+            <span><?php echo $buttonTitle ?></span>
+        </button>
+        <?php echo $this->getChildHtml('', true) ?>
+    </div>
+</div>
+<?php endif; ?>
+
+<script type="text/javascript">
+    (function ($) {
+        head.js("<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>", function () {
+                $('#product_addtocart_form').validation({
+                    errorPlacement: function (error, element) {
+                        if (element.attr('data-validate') && element.attr('data-validate').indexOf('validate-one-checkbox-required-by-name') > 0) {
+                            error.appendTo('#links-advice-container');
+                        } else if (element.attr('data-validate')&& element.attr('data-validate').indexOf('validate-grouped-qty') > 0) {
+                            $('#super-product-table').siblings(this.errorElement + '.' + this.errorClass).remove();
+                            $('#super-product-table').after(error);
+                        } else if (element.is(':radio, :checkbox')) {
+                            element.closest('.nested').after(error);
+                        } else {
+                            element.after(error);
+                        }
+                    },
+                    highlight: function (element, errorClass) {
+                        if ($(element).attr('data-validate') && $(element).attr('data-validate').indexOf('validate-required-datetime') > 0) {
+                            $(element).parent().find('.datetime-picker').each(function() {
+                                $(this).removeClass(errorClass);
+                                if ($(this).val().length === 0) {
+                                    $(this).addClass(errorClass);
+                                }
+                            });
+                        } else if ($(element).is(':radio, :checkbox')) {
+                            $(element).closest('.nested').addClass(errorClass+'-group');
+                        } else {
+                            $(element).addClass(errorClass);
+                        }
+                    },
+                    unhighlight: function (element, errorClass) {
+                        if ($(element).attr('data-validate') && $(element).attr('data-validate').indexOf('validate-required-datetime') > 0) {
+                            $(element).parent().find('.datetime-picker').removeClass(errorClass);
+                        } else if ($(element).is(':radio, :checkbox')) {
+                            $(element).closest('.nested').removeClass(errorClass+'-group');
+                        } else {
+                            $(element).removeClass(errorClass);
+                        }
+                    }
+                });
+            });
+    })(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/attribute.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/attribute.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..ffe146694c70186a53e38e181ae385b453852266
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/attribute.phtml
@@ -0,0 +1,59 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+ * Product view template
+ *
+ * @see \Magento\Catalog\Block\Product\View
+ * @see \Magento\Review\Block\Product\View
+ */
+?>
+<?php
+$_helper = $this->helper('Magento\Catalog\Helper\Output');
+$_product = $this->getProduct();
+$_call = $this->getAtCall();
+$_code = $this->getAtCode();
+$_className = $this->getCssClass();
+$_attributeLabel = $this->getAtLabel();
+$_attributeType = $this->getAtType();
+
+if ( $_attributeLabel && $_attributeLabel == 'default' ) {
+    $_attributeLabel = $_product->getResource()->getAttribute($_code)->getFrontendLabel();
+}
+if ( $_attributeType && $_attributeType == 'text' ) {
+    $_attributeValue = ($_helper->productAttribute($_product, $_product->$_call(), $_code)) ? $_product->getAttributeText($_code) : '';
+} else {
+    $_attributeValue = $_helper->productAttribute($_product, $_product->$_call(), $_code);
+}
+
+?>
+
+<?php if ($_attributeValue): ?>
+<div class="product attibute <?php echo $_className?>">
+    <?php if ($_attributeLabel != 'none'): ?><strong class="type"><?php echo $_attributeLabel?></strong><?php endif; ?>
+    <div class="value"><?php echo $_attributeValue; ?></div>
+</div>
+<?php endif; ?>
+
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/attributes.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/attributes.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..f4a0c38483cd63b7d4a66ac8ce268a1cfd039c32
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/attributes.phtml
@@ -0,0 +1,47 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+ * Product additional attributes template
+ *
+ * @see \Magento\Catalog\Block\Product\View\Attributes
+ */
+?>
+<?php
+    $_helper = $this->helper('Magento\Catalog\Helper\Output');
+    $_product = $this->getProduct()
+?>
+<?php if($_additional = $this->getAdditionalData()): ?>
+<table class="data table product attributes" id="product-attribute-specs-table">
+    <tbody>
+    <?php foreach ($_additional as $_data): ?>
+        <tr>
+            <th class="col label"><?php echo $this->escapeHtml(__($_data['label'])) ?></th>
+            <td class="col data"><?php echo $_helper->productAttribute($_product, $_data['value'], $_data['code']) ?></td>
+        </tr>
+    <?php endforeach; ?>
+    </tbody>
+</table>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/base-image.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/base-image.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..9e8ee027a8aed7335ec4e53d90db5c0a6e9dfdc2
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/base-image.phtml
@@ -0,0 +1,153 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+ * Product media data template
+ *
+ * @see \Magento\Catalog\Block\Product\View\Media
+ */
+?>
+<?php
+    $_product = $this->getProduct();
+    $_helper = $this->helper('Magento\Catalog\Helper\Output');
+
+    //list($_imgWidth, $_imgHeight) = $this->helper('Magento\Catalog\Helper\Image')->init($_product, 'image')->getOriginalSizeArray();
+
+    $image = 'product_page_main_image';
+
+    $_resizedWidth = $this->getVar("{$image}:width");
+    $_resizedHeight = $this->getVar("{$image}:height") ?: $_resizedWidth ;
+
+    $_hasImage = ($_product->getImage() && $_product->getImage() != "no_selection") ? true : false;
+
+    //$_isOldDisplayMode = $this->getOldDisplayMode() || 0;
+    $_isOldDisplayMode = 0;
+    $whiteBorders =  $this->getVar("product_image_white_borders");
+?>
+<?php //if($whiteBorders == 0): ?>
+    <style scoped>
+    .magento-zoom > .img > img {
+        position:absolute;
+        top:0; bottom:0; left:0; right:0; margin:auto; max-height: 100%; max-width: 100%;
+    }
+    </style>
+<?php //endif; ?>
+<div class="product photo main">
+    <a class="product photo magento-zoom<?php echo (!$_hasImage) ? ' isPlaceholder' : ''; ?>"
+       id="base-image" data-role="base-image-zoom"
+       href="<?php echo $this->helper('Magento\Catalog\Helper\Image')->init($_product, 'image'); ?>" >
+        <?php echo $this->getChildBlock('product.image.main')->init($_product, $image)->toHtml() ?>
+    </a>
+<?php  ?>
+    <script type="text/javascript">
+        jQuery('[data-role=base-image-zoom]').attr('rel', '<?php echo $this->helper('Magento\Catalog\Helper\Image')->init($_product, 'image'); ?>');
+    </script>
+
+    <p class="notice"></p>
+
+    <script type="text/javascript">
+        jQuery(function(){
+            <?php if ($_isOldDisplayMode): ?>
+                jQuery('.magento-zoom').magentoZoom({
+                    useGallery: false,
+                    swapNotices: false,
+                    isOldMode: <?php print $_isOldDisplayMode; ?>,
+                    messages: {
+                        noticeDefault: '<?php echo $this->jsQuoteEscape(__("Click on image to zoom")) ?>',
+                        loadingMessage: '<?php echo $this->jsQuoteEscape(__("Loading...")) ?>'
+                    }
+                });
+            <?php else: ?>
+                jQuery('.magento-zoom').magentoZoom({
+                    useLens: true,
+                    enlarged: {
+                        adjustment: 20,
+                        width: 500,
+                        height: <?php echo $_resizedHeight ?>
+                    },
+                    useGallery: true,
+                    swapNotices: true,
+                    isOldMode: <?php print $_isOldDisplayMode; ?>,
+                    messages: {
+                        noticeDefault: '<?php echo $this->jsQuoteEscape(__("Click on image to zoom")) ?>',
+                        noticeLightBox: '<?php echo $this->jsQuoteEscape(__("Click on image to view it full sized")) ?>', loadingMessage: '<?php echo $this->jsQuoteEscape(__("Loading...")) ?>'
+                    }
+                });
+            <?php endif; ?>
+        });
+    </script>
+<?php  ?>
+</div>
+
+<?php if (count($this->getGalleryImages()) > 0): ?>
+
+<?php
+    $thumbWidth =  $this->getVar("product_page_more_views:width");
+    $thumbHeight =  $this->getVar("product_page_more_views:height") ? : $thumbWidth;
+?>
+<div class="product photo thumbs">
+    <strong class="title"><?php echo __('More Views') ?></strong>
+    <ul class="items thumbs">
+    <?php foreach ($this->getGalleryImages() as $_image): ?>
+        <?php if ($_isOldDisplayMode) {
+                $attributes = ' href="#" data-mage-popwin="{windowURL:'
+                    . $this->getGalleryUrl($_image)
+                    . ',windowName:\'gallery\',width:300,height:300,status:1,scrollbars:1,resizable:1}"';
+            } else {
+                $attributes = ' href="'
+                    . $this->helper('Magento\Catalog\Helper\Image')->init($_product, 'image', $_image->getFile())
+                    . '" rel="';
+                if ($whiteBorders) {
+                    $attributes .= $this->helper('Magento\Catalog\Helper\Image')->init($_product, 'image', $_image->getFile())->resize($_resizedWidth,$_resizedHeight) . '"';
+                } else {
+                    $attributes .= $this->helper('Magento\Catalog\Helper\Image')->init($_product, 'image', $_image->getFile())->constrainOnly(TRUE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->resize($_resizedWidth,$_resizedHeight) . '"';
+                }
+        };?>
+        <li class="item thumb">
+            <a<?php echo $attributes; ?> class="magento-zoom" title="<?php echo $this->escapeHtml($_image->getLabel()) ?>">
+            <?php if ($whiteBorders): ?>
+                <span class="img" style="position:relative; z-index:1; display:block; width:<?php echo $thumbHeight;?>px; height:<?php echo $thumbHeight;?>px;">
+                <img src="<?php echo $this->helper('Magento\Catalog\Helper\Image')->init($_product, 'thumbnail', $_image->getFile())->resize($thumbWidth,$thumbHeight); ?>" alt="<?php echo $this->escapeHtml($_image->getLabel()) ?>" />
+                </span>
+            <?php else: ?>
+                <span class="img" style="position:relative; z-index:1; display:block; width:<?php echo $thumbHeight;?>px; height:<?php echo $thumbHeight;?>px;">
+                    <img src="<?php echo $this->helper('Magento\Catalog\Helper\Image')->init($_product, 'thumbnail', $_image->getFile())->constrainOnly(TRUE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->resize($thumbWidth,$thumbHeight); ?>" alt="<?php echo $this->escapeHtml($_image->getLabel()) ?>" />
+                </span>
+            <?php endif; ?>
+            </a>
+        </li>
+    <?php endforeach; ?>
+    </ul>
+</div>
+    <?php if ($_isOldDisplayMode): ?>
+    <script type="text/javascript">
+        (function($) {
+            head.js("<?php echo $this->getViewFileUrl('jquery/jquery.popupwindow.js')?>",
+                "<?php echo $this->getViewFileUrl('mage/popup-window.js')?>"
+            );
+        })(jQuery);
+    </script>
+    <?php endif; ?>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/description.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/description.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..cd98c96ea758d4b8fb91fabb977ae10919b873eb
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/description.phtml
@@ -0,0 +1,32 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+ * Product description template
+ *
+ * @see \Magento\Catalog\Block\Product\View\Description
+ */
+?>
+<?php echo $this->helper('Magento\Catalog\Helper\Output')->productAttribute($this->getProduct(), $this->getProduct()->getDescription(), 'description') ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/details.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/details.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..52e095b6f80f70092184a80b7bd5bd52a872fd46
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/details.phtml
@@ -0,0 +1,42 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if ($detailedInfoGroup = $this->getGroupChildNames('detailed_info', 'getChildHtml')):?>
+    <div class="product info detailed">
+        <?php $layout = $this->getLayout(); ?>
+        <dl class="product data items" data-sections="tabs">
+            <?php foreach ($detailedInfoGroup as $name):?>
+                <?php
+                    $html = $layout->renderElement($name);
+                    if (!trim($html)) continue;
+                    $alias = $layout->getElementAlias($name);
+                    $label = $this->escapeHtml($this->getChildData($alias, 'title'));
+                ?>
+                <dt class="data item title" data-section="title"><a class="data switch" data-toggle="switch" href="#<?php echo $alias; ?>"><?php echo $label; ?></a></dt>
+                <dd class="data item content" id="<?php echo $alias; ?>" data-section="content"><?php echo $html; ?></dd>
+            <?php endforeach;?>
+        </dl>
+    </div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/form.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/form.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..ee446447da12059f5f6b4eba5aaa9720d94b89a2
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/form.phtml
@@ -0,0 +1,62 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+ * Product view template
+ *
+ * @see \Magento\Catalog\Block\Product\View
+ * @see \Magento\Review\Block\Product\View
+ */
+?>
+<?php $_helper = $this->helper('Magento\Catalog\Helper\Output'); ?>
+<?php $_product = $this->getProduct(); ?>
+
+<script type="text/javascript">
+    (function ($) {
+        head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/price-option.js') ?>", function () {
+            $('#product_addtocart_form').priceOption({"priceConfig":<?php echo $this->getJsonConfig() ?>});
+        });
+    })(jQuery);
+</script>
+<div class="product add form">
+    <form action="<?php echo $this->getSubmitUrl($_product) ?>" method="post" id="product_addtocart_form"<?php if($_product->getOptions()): ?> enctype="multipart/form-data"<?php endif; ?>>
+
+        <input type="hidden" name="product" value="<?php echo $_product->getId() ?>" />
+        <input type="hidden" name="related_product" id="related-products-field" value="" />
+        <?php echo $this->getChildHtml('form_top'); ?>
+        <?php if (!$this->hasOptions()):?>
+            <?php echo $this->getChildHtml('product_info_form_content'); ?>
+        <?php else:?>
+            <?php if ($_product->isSaleable() && $this->getOptionsContainer() == 'container1'):?>
+                <?php echo $this->getChildChildHtml('options_container') ?>
+            <?php endif;?>
+        <?php endif; ?>
+
+        <?php if ($_product->isSaleable() && $this->hasOptions() && $this->getOptionsContainer() == 'container2'):?>
+            <?php echo $this->getChildChildHtml('options_container') ?>
+        <?php endif;?>
+        <?php echo $this->getChildHtml('form_bottom'); ?>
+    </form>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/gallery.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/gallery.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..815bfc49d92db20704c534f4074621c443f669ed
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/gallery.phtml
@@ -0,0 +1,77 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if (count($this->getGalleryImages()) > 0): ?>
+
+<?php
+    $thumbWidth =  $this->getVar("product_page_more_views:width");
+    $thumbHeight =  $this->getVar("product_page_more_views:height") ? : $thumbWidth;
+?>
+<div class="product photo thumbs">
+    <strong class="title"><?php echo __('More Views') ?></strong>
+    <ul class="items thumbs">
+    <?php foreach ($this->getGalleryImages() as $_image): ?>
+        <?php if ($_isOldDisplayMode) {
+                $attributes = ' href="#" data-mage-popwin="{windowURL:'
+                    . $this->getGalleryUrl($_image)
+                    . ',windowName:\'gallery\',width:300,height:300,status:1,scrollbars:1,resizable:1}"';
+            } else {
+                $attributes = ' href="'
+                    . $this->helper('Magento\Catalog\Helper\Image')->init($_product, 'image', $_image->getFile())
+                    . '" rel="';
+                if ($whiteBorders) {
+                    $attributes .= $this->helper('Magento\Catalog\Helper\Image')->init($_product, 'image', $_image->getFile())->resize($_resizedWidth,$_resizedHeight) . '"';
+                } else {
+                    $attributes .= $this->helper('Magento\Catalog\Helper\Image')->init($_product, 'image', $_image->getFile())->constrainOnly(TRUE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->resize($_resizedWidth,$_resizedHeight) . '"';
+                }
+        };?>
+        <li class="item thumb">
+            <a<?php echo $attributes; ?> class="magento-zoom" title="<?php echo $this->escapeHtml($_image->getLabel()) ?>">
+            <?php if ($whiteBorders): ?>
+                <span class="img" style="position:relative; z-index:1; display:block; width:<?php echo $thumbHeight;?>px; height:<?php echo $thumbHeight;?>px;">
+                <img src="<?php echo $this->helper('Magento\Catalog\Helper\Image')->init($_product, 'thumbnail', $_image->getFile())->resize($thumbWidth,$thumbHeight); ?>" alt="<?php echo $this->escapeHtml($_image->getLabel()) ?>" />
+                </span>
+            <?php else: ?>
+                <span class="img" style="position:relative; z-index:1; display:block; width:<?php echo $thumbHeight;?>px; height:<?php echo $thumbHeight;?>px;">
+                    <img src="<?php echo $this->helper('Magento\Catalog\Helper\Image')->init($_product, 'thumbnail', $_image->getFile())->constrainOnly(TRUE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->resize($thumbWidth,$thumbHeight); ?>" alt="<?php echo $this->escapeHtml($_image->getLabel()) ?>" />
+                </span>
+            <?php endif; ?>
+            </a>
+        </li>
+    <?php endforeach; ?>
+    </ul>
+</div>
+    <?php if ($_isOldDisplayMode): ?>
+    <script type="text/javascript">
+        (function($) {
+            head.js("<?php echo $this->getViewFileUrl('jquery/jquery.popupwindow.js')?>",
+                "<?php echo $this->getViewFileUrl('mage/popup-window.js')?>"
+            );
+        })(jQuery);
+    </script>
+    <?php endif; ?>
+<?php endif; ?>
+
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/mailto.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/mailto.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..0c7658ab609aec4f718dc31aa98d930febe1fdfc
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/mailto.phtml
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_product = $this->getProduct() ?>
+<?php if ($this->canEmailToFriend()): ?>
+    <a title="<?php echo __('Email to a Friend') ?>" class="action mailto" href="<?php echo $this->helper('Magento\Catalog\Helper\Product')->getEmailToFriendUrl($_product) ?>">
+        <span><?php echo __('Email to a Friend') ?></span>
+    </a>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..b79c02ce4ace65ab181d2383d57e349743fb1d6f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options.phtml
@@ -0,0 +1,43 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/* @var $this \Magento\Catalog\Block\Product\View\Options */
+?>
+
+<?php $_options = $this->helper('Magento\Core\Helper\Data')->decorateArray($this->getOptions()) ?>
+<?php if (count($_options)):?>
+    <script type="text/javascript">
+        (function ($) {
+            head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/price-option.js') ?>", function () {
+                $('#product_addtocart_form').priceOption({
+                    'optionConfig':<?php echo $this->getJsonConfig()?>,
+                    'controlContainer': '.field'
+                }).trigger('reloadPrice');
+            });
+        })(jQuery);
+    </script>
+    <?php foreach($_options as $_option): ?>
+        <?php echo $this->getOptionHtml($_option) ?>
+    <?php endforeach; ?>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/js.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/js.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..9cafa8bb474409d63b4d7b9379a2d37c6ed3927b
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/js.phtml
@@ -0,0 +1,88 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<script type="text/javascript">
+//<![CDATA[
+var DateOption = Class.create({
+
+    getDaysInMonth: function(month, year)
+    {
+        var curDate = new Date();
+        if (!month) {
+            month = curDate.getMonth();
+        }
+        if (2 == month && !year) { // leap year assumption for unknown year
+            return 29;
+        }
+        if (!year) {
+            year = curDate.getFullYear();
+        }
+        return 32 - new Date(year, month - 1, 32).getDate();
+    },
+
+    reloadMonth: function(event)
+    {
+        var selectEl = event.findElement();
+        var idParts = selectEl.id.split("_");
+        if (idParts.length != 3) {
+            return false;
+        }
+        var optionIdPrefix = idParts[0] + "_" + idParts[1];
+        var month = parseInt($(optionIdPrefix + "_month").value);
+        var year = parseInt($(optionIdPrefix + "_year").value);
+        var dayEl = $(optionIdPrefix + "_day");
+
+        var days = this.getDaysInMonth(month, year);
+
+        //remove days
+        for (var i = dayEl.options.length - 1; i >= 0; i--) {
+            if (dayEl.options[i].value > days) {
+                dayEl.remove(dayEl.options[i].index);
+            }
+        }
+
+        // add days
+        var lastDay = parseInt(dayEl.options[dayEl.options.length-1].value);
+        for (i = lastDay + 1; i <= days; i++) {
+            this.addOption(dayEl, i, i);
+        }
+    },
+
+    addOption: function(select, text, value)
+    {
+        var option = document.createElement('OPTION');
+        option.value = value;
+        option.text = text;
+
+        if (select.options.add) {
+            select.options.add(option);
+        } else {
+            select.appendChild(option);
+        }
+    }
+});
+dateOption = new DateOption();
+//]]>
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/date.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/date.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..8322a297e9c2360a47b848aff6fed4908bbd9eec
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/date.phtml
@@ -0,0 +1,79 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_option = $this->getOption() ?>
+<?php $_optionId = $_option->getId() ?>
+<?php $class = ($_option->getIsRequire()) ? ' required' : ''; ?>
+<div class="field date<?php echo $class; ?>">
+    <label class="label">
+        <span><?php echo  $this->escapeHtml($_option->getTitle()) ?></span>
+        <?php echo $this->getFormatedPrice() ?>
+    </label>
+    <div class="control">
+    <?php if ($_option->getType() == \Magento\Catalog\Model\Product\Option::OPTION_TYPE_DATE_TIME
+        || $_option->getType() == \Magento\Catalog\Model\Product\Option::OPTION_TYPE_DATE): ?>
+
+        <?php echo $this->getDateHtml() ?>
+
+        <?php if (!$this->useCalendar()): ?>
+            <script type="text/javascript">
+            //<![CDATA[
+                (function($) {
+                    head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/date-option.js') ?>", function() {
+                        $.mage.dateOption({
+                            datepickerFieldSelector: 'select.datetime-picker',
+                            monthSelector: '#options_<?php echo $_optionId ?>_month',
+                            yearSelector: '#options_<?php echo $_optionId ?>_year'
+                        });
+                    });
+                })(jQuery);
+            //]]>
+            </script>
+        <?php endif; ?>
+
+    <?php endif; ?>
+
+    <?php if ($_option->getType() == \Magento\Catalog\Model\Product\Option::OPTION_TYPE_DATE_TIME
+        || $_option->getType() == \Magento\Catalog\Model\Product\Option::OPTION_TYPE_TIME): ?>
+        <span class="time-picker"><?php echo $this->getTimeHtml() ?></span>
+    <?php endif; ?>
+
+    <?php if ($_option->getIsRequire()): ?>
+        <input type="hidden" name="validate_datetime_<?php echo $_optionId ?>" class="validate-datetime-<?php echo $_optionId ?>" value="" data-validate="{'validate-required-datetime':<?php echo $_optionId?>}"/>
+    <?php else: ?>
+        <input type="hidden" name="validate_datetime_<?php echo $_optionId ?>" class="validate-datetime-<?php echo $_optionId ?>" value="" data-validate="{'validate-optional-datetime':<?php echo $_optionId?>}"/>
+    <?php endif; ?>
+
+        <script type="text/javascript">
+        //<![CDATA[
+            (function($) {
+                head.js("<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>", function() {
+                    $.validator.setDefaults({ignore: ':hidden:not(input[name^="validate_datetime_"])'});
+                });
+            })(jQuery);
+        //]]>
+        </script>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/default.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/default.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..5bfb09586a90b5106bcd5143fd1a1c50d93199d6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/default.phtml
@@ -0,0 +1,29 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_option = $this->getOption() ?>
+<div class="field">
+    <label class="label"><span><?php echo  $this->escapeHtml($_option->getTitle()) ?></span></label>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/file.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/file.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..3d4432539caa236f89d8b1cdb7d1922a96a0fbeb
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/file.phtml
@@ -0,0 +1,88 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_option = $this->getOption(); ?>
+<?php $_fileInfo = $this->getFileInfo(); ?>
+<?php $_fileExists = $_fileInfo->hasData(); ?>
+<?php $_fileName = 'options_' . $_option->getId() . '_file'; ?>
+<?php $_fieldNameAction = $_fileName . '_action'; ?>
+<?php $_fieldValueAction = $_fileExists ? 'save_old' : 'save_new'; ?>
+<?php $_fileNamed = $_fileName . '_name'; ?>
+<?php $class = ($_option->getIsRequire()) ? ' required' : ''; ?>
+
+
+<script type="text/javascript">
+//<![CDATA[
+    (function($) {
+        head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/file-option.js')?>", function() {
+            $('#input-box-<?php echo $_fileName ?>').fileOption({
+                fileName: '<?php echo $_fileName ?>',
+                fileNamed: '<?php echo $_fileNamed ?>',
+                fieldNameAction: '<?php echo $_fieldNameAction ?>',
+                changeFileSelector: '#change-<?php echo $_fileName ?>',
+                deleteFileSelector: '#delete-<?php echo $_fileName ?>'
+            });
+        });
+    })(jQuery);
+//]]>
+</script>
+
+<div class="field file<?php echo $class; ?>">
+    <label class="label">
+        <span><?php echo  $this->escapeHtml($_option->getTitle()) ?></span>
+        <?php echo $this->getFormatedPrice() ?>
+    </label>
+    <?php if ($_fileExists): ?>
+    <div class="control">
+        <span class="<?php echo $_fileNamed ?>"><?php echo $_fileInfo->getTitle(); ?></span>
+        <a href="javascript:void(0)" class="label" id="change-<?php echo $_fileName ?>" >
+            <?php echo __('Change') ?>
+        </a>&nbsp;
+        <?php if (!$_option->getIsRequire()): ?>
+           <input type="checkbox" id="delete-<?php echo $_fileName ?>" />
+           <span class="label"><?php echo __('Delete') ?></span>
+        <?php endif; ?>
+    </div>
+    <?php endif; ?>
+    <div class="control" id="input-box-<?php echo $_fileName ?>" <?php echo $_fileExists ? 'style="display:none"' : '' ?>>
+        <input type="file" name="<?php echo $_fileName; ?>" class="product-custom-option<?php echo $_option->getIsRequire() ? ' required' : '' ?>" <?php echo $_fileExists ? 'disabled="disabled"' : '' ?> />
+        <input type="hidden" name="<?php echo $_fieldNameAction; ?>" value="<?php echo $_fieldValueAction; ?>" />
+        <?php if ($_option->getFileExtension()): ?>
+            <p class="note">
+                <?php echo __('Allowed file extensions to upload')?>: <strong><?php echo $_option->getFileExtension() ?></strong>
+            </p>
+        <?php endif; ?>
+        <?php if ($_option->getImageSizeX() > 0): ?>
+            <p class="note">
+                <?php echo __('Maximum image width')?>: <strong><?php echo $_option->getImageSizeX() ?> <?php echo __('px.')?></strong>
+            </p>
+        <?php endif; ?>
+        <?php if ($_option->getImageSizeY() > 0): ?>
+            <p class="note">
+                <?php echo __('Maximum image height')?>: <strong><?php echo $_option->getImageSizeY() ?> <?php echo __('px.')?></strong>
+            </p>
+        <?php endif; ?>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/select.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/select.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..765061bced1c8638c4f6ce3f17766aca2b1297eb
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/select.phtml
@@ -0,0 +1,44 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+
+<?php /* @var $this \Magento\Catalog\Block\Product\View\Options\Type\Select */ ?>
+<?php 
+    $_option = $this->getOption();
+    $class = ($_option->getIsRequire()) ? ' required' : '';
+?>
+<div class="field<?php echo $class; ?>">
+    <label class="label">
+        <span><?php echo  $this->escapeHtml($_option->getTitle()) ?></span>
+    </label>
+    <div class="control">
+    <?php echo $this->getValuesHtml() ?>
+    <?php if ($_option->getIsRequire()): ?>
+        <?php if ($_option->getType() == \Magento\Catalog\Model\Product\Option::OPTION_TYPE_RADIO || $_option->getType() == \Magento\Catalog\Model\Product\Option::OPTION_TYPE_CHECKBOX): ?>
+            <span id="options-<?php echo $_option->getId() ?>-container"></span>
+        <?php endif; ?>
+    <?php endif;?>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/text.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/text.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..8a1d38825fcb23a921d9e5a3c0a6cb764a71a52a
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/type/text.phtml
@@ -0,0 +1,61 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php 
+    $_option = $this->getOption();
+    $class = ($_option->getIsRequire()) ? ' required' : '';
+?>
+<div class="field<?php if ($_option->getType() == \Magento\Catalog\Model\Product\Option::OPTION_TYPE_AREA) { echo ' textarea';}?><?php echo $class ?>">
+    <label class="label">
+        <span><?php echo  $this->escapeHtml($_option->getTitle()) ?></span>
+        <?php echo $this->getFormatedPrice() ?>
+    </label>
+    <div class="control">
+        <?php if ($_option->getType() == \Magento\Catalog\Model\Product\Option::OPTION_TYPE_FIELD): ?>
+        <?php $_textValidate = null;
+        if($_option->getIsRequire()){
+            $_textValidate['required'] = true;
+        }
+        if($_option->getMaxCharacters()){
+            $_textValidate['maxlength'] = $_option->getMaxCharacters();
+        }
+        ?>
+        <input type="text" id="options_<?php echo $_option->getId() ?>_text" class="input-text product-custom-option"  <?php if(!empty($_textValidate))echo 'data-validate='.json_encode($_textValidate) ; ?>  name="options[<?php echo $_option->getId() ?>]" value="<?php echo $this->escapeHtml($this->getDefaultValue()) ?>" />
+        <?php elseif ($_option->getType() == \Magento\Catalog\Model\Product\Option::OPTION_TYPE_AREA): ?>
+        <?php $_textAreaValidate = null;
+        if($_option->getIsRequire()){
+            $_textAreaValidate['required'] = true;
+        }
+        if($_option->getMaxCharacters()){
+            $_textAreaValidate['maxlength'] = $_option->getMaxCharacters();
+        }
+        ?>
+        <textarea id="options_<?php echo $_option->getId() ?>_text" class="product-custom-option" <?php if(!empty($_textAreaValidate))echo 'data-validate='.json_encode($_textAreaValidate) ; ?> name="options[<?php echo $_option->getId() ?>]" rows="5" cols="25"><?php echo $this->escapeHtml($this->getDefaultValue()) ?></textarea>
+        <?php endif; ?>
+        <?php if ($_option->getMaxCharacters()): ?>
+        <p class="note"><?php echo __('Maximum number of characters:')?> <strong><?php echo $_option->getMaxCharacters() ?></strong></p>
+        <?php endif; ?>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/wrapper.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/wrapper.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..f1f0c8070aa4240cd67b1fbe607f4a0b0270a851
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/wrapper.phtml
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+$required = '';
+if ($this->hasRequiredOptions()) {
+    $required = ' data-hasrequired="' . __('* Required Fields') . '"';
+}
+?>
+<div class="product options wrapper" id="product-options-wrapper"<?php echo $required; ?>>
+    <fieldset class="fieldset">
+    <?php echo $this->getChildHtml('', true);?>
+    </fieldset>
+</div>
diff --git a/dev/tests/unit/testsuite/Magento/Core/Block/_files/template_test_assign.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/wrapper/bottom.phtml
similarity index 88%
rename from dev/tests/unit/testsuite/Magento/Core/Block/_files/template_test_assign.phtml
rename to app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/wrapper/bottom.phtml
index bd8dea34ac0c498b54b6f7a61f4adaaff596aa8a..2c956095b468003bace46b2af74a4a3187f4ab69 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Block/_files/template_test_assign.phtml
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/options/wrapper/bottom.phtml
@@ -18,12 +18,11 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
- * @subpackage  integration_tests
+ * @category    design
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
  */
 ?>
-<?php
-echo $varOne . ', ' . $varTwo;
+<div class="product options bottom">
+    <?php echo $this->getChildHtml('', true);?>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/price.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/price.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..103554f43b9865c4c4c79842235bd503ef364500
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/price.phtml
@@ -0,0 +1,27 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_product = $this->getProduct() ?>
+<?php echo $this->getPriceHtml($_product) ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/price_clone.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/price_clone.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..dabb8a33bf668554cf4ffe8884c7e0114b77e004
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/price_clone.phtml
@@ -0,0 +1,27 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_product = $this->getProduct() ?>
+<?php echo $this->getPriceHtml($_product, false, '_clone') ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/rating.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/rating.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..f23bf6963bba636d6804b43458c2d0b590aca6ed
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/rating.phtml
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php echo $this->getReviewsSummaryHtml($this->getProduct(), false, true)?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/tierprices.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/tierprices.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..7c30a8862efe56970a177845e631de55c1c08a80
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/tierprices.phtml
@@ -0,0 +1,219 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+
+<?php
+/**
+ * @see \Magento\Catalog\Block\Product\View
+ */
+$_product = $this->getProduct();
+$_tierPrices = $this->getTierPrices();
+$_finalPriceInclTax = $this->helper('Magento\Tax\Helper\Data')->getPrice($_product, $_product->getFinalPrice(), true);
+
+/** @var $_catalogHelper \Magento\Catalog\Helper\Data */
+$_catalogHelper = $this->helper('Magento\Catalog\Helper\Data');
+
+$_weeeTaxAmount = $this->helper('Magento\Weee\Helper\Data')->getAmountForDisplay($_product);
+if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_product, array(1,2,4))) {
+    $_weeeTaxAttributes = $this->helper('Magento\Weee\Helper\Data')->getProductWeeeAttributesForDisplay($_product);
+}
+
+?>
+<?php if (count($_tierPrices) > 0): ?>
+    <ul class="<?php echo ($this->getInGrouped() ? 'tier prices grouped items' : 'prices tier items'); ?>">
+    <?php if ($this->getInGrouped()): ?>
+        <?php $_tierPrices = $this->getTierPrices($_product); ?>
+    <?php endif; ?>
+    <?php $this->helper('Magento\Weee\Helper\Data')->processTierPrices($_product, $_tierPrices); ?>
+    <?php foreach ($_tierPrices as $_index => $_price): ?>
+        <li class="item">
+        <?php if ($_catalogHelper->canApplyMsrp($_product)): ?>
+            <?php if ($this->getInGrouped()): ?>
+                <?php echo __('Buy %1$s for', $_price['price_qty']) ?>:
+            <?php else: ?>
+                <?php echo __('Buy %1$s', $_price['price_qty']) ?>
+            <?php endif; ?>
+        <?php else: ?>
+
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayBothPrices()): ?>
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_product, 0)): ?>
+                <?php echo __('Buy %1$s for %2$s (%3$s incl. tax) each', $_price['price_qty'], $_price['formated_price_incl_weee_only'], $_price['formated_price_incl_weee']) ?>
+            <?php elseif($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_product, 1)): ?>
+                    <?php echo __('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee_only']); ?>
+                    <?php if ($_weeeTaxAttributes): ?>
+                    (<small>
+                    <?php echo __('%1$s incl tax.', $_price['formated_price_incl_weee']); ?>
+                    <?php $separator = ' + '; foreach ($_weeeTaxAttributes as $_attribute): ?>
+                        <?php echo $separator; ?>
+                        <?php echo $_attribute->getName(); ?>: <?php echo $this->helper('Magento\Core\Helper\Data')->currency($_attribute->getAmount()); ?>
+                    <?php endforeach; ?>
+                    </small>)
+                    <?php endif; ?>
+                    <?php echo __('each') ?>
+            <?php elseif($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_product, 4)): ?>
+                    <?php echo __('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee_only']); ?>
+                    <?php if ($_weeeTaxAttributes): ?>
+                    (<small>
+                    <?php echo __('%1$s incl tax.', $_price['formated_price_incl_weee']); ?>
+                    <?php $separator = ' + '; foreach ($_weeeTaxAttributes as $_attribute): ?>
+                        <?php echo $separator; ?>
+                        <?php echo $_attribute->getName(); ?>: <?php echo $this->helper('Magento\Core\Helper\Data')->currency($_attribute->getAmount()+$_attribute->getTaxAmount()); ?>
+                    <?php endforeach; ?>
+                    </small>)
+                    <?php endif; ?>
+                    <?php echo __('each') ?>
+            <?php elseif($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_product, 2)): ?>
+                    <?php echo __('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price']); ?>
+                    <?php if ($_weeeTaxAttributes): ?>
+                    (<small>
+                    <?php foreach ($_weeeTaxAttributes as $_attribute): ?>
+                        <?php echo $_attribute->getName(); ?>: <?php echo $this->helper('Magento\Core\Helper\Data')->currency($_attribute->getAmount()); ?>
+                    <?php endforeach; ?>
+                    <?php echo __('Total incl. Tax: %1$s', $_price['formated_price_incl_weee']); ?>
+                    </small>)
+                    <?php endif; ?>
+                    <?php echo __('each') ?>
+            <?php else: ?>
+                    <?php echo __('Buy %1$s for %2$s (%3$s incl. tax) each', $_price['price_qty'], $_price['formated_price'], $_price['formated_price_incl_tax']) ?>
+            <?php endif; ?>
+        <?php else: ?>
+            <?php if ($this->helper('Magento\Tax\Helper\Data')->displayPriceIncludingTax()): ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_product, 0)): ?>
+                        <?php echo __('Buy %1$s for %2$s each', $_price['price_qty'], $_price['formated_price_incl_weee']) ?>
+                <?php elseif($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_product, 1)): ?>
+                        <?php echo __('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee']); ?>
+                        <?php if ($_weeeTaxAttributes): ?>
+                        (<small>
+                        <?php $separator = ''; foreach ($_weeeTaxAttributes as $_attribute): ?>
+                            <?php echo $separator; ?>
+                            <?php echo $_attribute->getName(); ?>: <?php echo $this->helper('Magento\Core\Helper\Data')->currency($_attribute->getAmount()); ?>
+                        <?php $separator = ' + '; endforeach; ?>
+                        </small>)
+                        <?php endif; ?>
+                        <?php echo __('each') ?>
+                <?php elseif($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_product, 4)): ?>
+                        <?php echo __('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee']); ?>
+                        <?php if ($_weeeTaxAttributes): ?>
+                        (<small>
+                        <?php $separator = ''; foreach ($_weeeTaxAttributes as $_attribute): ?>
+                            <?php echo $separator; ?>
+                            <?php echo $_attribute->getName(); ?>: <?php echo $this->helper('Magento\Core\Helper\Data')->currency($_attribute->getAmount()+$_attribute->getTaxAmount()); ?>
+                        <?php $separator = ' + '; endforeach; ?>
+                        </small>)
+                        <?php endif; ?>
+                        <?php echo __('each') ?>
+                <?php elseif($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_product, 2)): ?>
+                        <?php echo __('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_tax']); ?>
+                        <?php if ($_weeeTaxAttributes): ?>
+                        (<small>
+                        <?php foreach ($_weeeTaxAttributes as $_attribute): ?>
+                            <?php echo $_attribute->getName(); ?>: <?php echo $this->helper('Magento\Core\Helper\Data')->currency($_attribute->getAmount()); ?>
+                        <?php endforeach; ?>
+                        <?php echo __('Total incl. Tax: %1$s', $_price['formated_price_incl_weee']); ?>
+                        </small>)
+                        <?php endif; ?>
+                        <?php echo __('each') ?>
+                <?php else: ?>
+                        <?php echo __('Buy %1$s for %2$s each', $_price['price_qty'], $_price['formated_price_incl_tax']) ?>
+                <?php endif; ?>
+            <?php else: ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_product, 0)): ?>
+                        <?php echo __('Buy %1$s for %2$s each', $_price['price_qty'], $_price['formated_price_incl_weee_only']) ?>
+                <?php elseif($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_product, 1)): ?>
+                        <?php echo __('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee_only']); ?>
+                        <?php if ($_weeeTaxAttributes): ?>
+                        (<small>
+                        <?php $separator = ''; foreach ($_weeeTaxAttributes as $_attribute): ?>
+                            <?php echo $separator; ?>
+                            <?php echo $_attribute->getName(); ?>: <?php echo $this->helper('Magento\Core\Helper\Data')->currency($_attribute->getAmount()); ?>
+                        <?php $separator = ' + '; endforeach; ?>
+                        </small>)
+                        <?php endif; ?>
+                        <?php echo __('each') ?>
+                <?php elseif($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_product, 4)): ?>
+                        <?php echo __('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price_incl_weee_only']); ?>
+                        <?php if ($_weeeTaxAttributes): ?>
+                        (<small>
+                        <?php $separator = ''; foreach ($_weeeTaxAttributes as $_attribute): ?>
+                            <?php echo $separator; ?>
+                            <?php echo $_attribute->getName(); ?>: <?php echo $this->helper('Magento\Core\Helper\Data')->currency($_attribute->getAmount()+$_attribute->getTaxAmount()); ?>
+                        <?php $separator = ' + '; endforeach; ?>
+                        </small>)
+                        <?php endif; ?>
+                        <?php echo __('each') ?>
+                <?php elseif($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_product, 2)): ?>
+                        <?php echo __('Buy %1$s for %2$s', $_price['price_qty'], $_price['formated_price']); ?>
+                        <?php if ($_weeeTaxAttributes): ?>
+                        (<small>
+                        <?php foreach ($_weeeTaxAttributes as $_attribute): ?>
+                            <?php echo $_attribute->getName(); ?>: <?php echo $this->helper('Magento\Core\Helper\Data')->currency($_attribute->getAmount()); ?>
+                        <?php endforeach; ?>
+                        <?php echo __('Total incl. Tax: %1$s', $_price['formated_price_incl_weee_only']); ?>
+                        </small>)
+                        <?php endif; ?>
+                        <?php echo __('each') ?>
+                <?php else: ?>
+                        <?php echo __('Buy %1$s for %2$s each', $_price['price_qty'], $_price['formated_price']) ?>
+                <?php endif; ?>
+            <?php endif; ?>
+        <?php endif; ?>
+
+        <?php endif; // Can apply MSRP ?>
+
+        <?php if (!$this->getInGrouped()): ?>
+            <?php if(($_product->getPrice() == $_product->getFinalPrice() && $_product->getPrice() > $_price['price'])
+            || ($_product->getPrice() != $_product->getFinalPrice() &&  $_product->getFinalPrice() > $_price['price'])): ?>
+                <?php echo __('and') ?>&nbsp;<strong class="benefit"><?php echo __('save')?>&nbsp;<span class="percent tier-<?php echo $_index;?>"><?php echo $_price['savePercent']?></span>%
+            <?php endif ?></strong>
+        <?php endif; ?>
+
+        <?php if ($_catalogHelper->isShowPriceOnGesture($_product)):?>
+            <?php $popupId = 'msrp-popup-' . $_product->getId() . $this->helper('Magento\Core\Helper\Data')->getRandomString(20); ?>
+            <?php
+            $addToCartUrl = $this->getProduct()->isSalable()
+                ? $this->getAddToCartUrl($_product, array('qty' => $_price['price_qty']))
+                : '';
+            ?>
+            <a href="#" id="<?php echo($popupId);?>" data-tier-price='{addToCartUrl:"<?php echo $addToCartUrl; ?>", name:"<?php echo $_product->getName() ?>", price:<?php echo json_encode($_price['real_price_html']) ?>, msrp:"<?php echo $this->helper('Magento\Core\Helper\Data')->currency($_product->getMsrp(),true,false) ?>"<?php if (!$this->getInGrouped()): ?>, qty:"<?php echo $_price['price_qty']?>"<?php endif ?>}'><?php echo __('Click for price'); ?></a>
+        <?php else: ?>
+            <span class="msrp-price-hide-message">
+                <?php echo $_catalogHelper->getMsrpPriceMessage($_product) ?>
+            </span>
+        <?php endif; ?>
+        </li>
+    <?php endforeach ?>
+    </ul>
+    <?php if ($_catalogHelper->isShowPriceOnGesture($_product)):?>
+        <script type="text/javascript">
+            (function($) {
+                head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/tier-price.js') ?>", function () {
+                    $('#product_addtocart_form').tierPrice({
+                        inputQty: '#qty'
+                    });
+                });
+            })(jQuery);
+        </script>
+    <?php endif;?>
+<?php endif;?>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/type/default.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/type/default.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..a8e728a5bf626f9e8b68143edbf90dc333db8374
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/type/default.phtml
@@ -0,0 +1,39 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /* @var $this \Magento\Catalog\Block\Product\View\AbstractView */?>
+<?php $_product = $this->getProduct() ?>
+
+<?php if ($this->displayProductStockStatus()): ?>
+    <?php if ($_product->isAvailable()): ?>
+        <p class="stock available" title="<?php echo __('Availability') ?>">
+            <span><?php echo __('In stock') ?></span>
+        </p>
+    <?php else: ?>
+        <p class="stock unavailable" title="<?php echo __('Availability') ?>">
+            <span><?php echo __('Out of stock') ?></span>
+        </p>
+    <?php endif; ?>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/type/grouped.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/type/grouped.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..bcde8441944b36f2b7908d68cf26f0df22f41926
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/type/grouped.phtml
@@ -0,0 +1,97 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+ * Grouped product data template
+ *
+ * @see \Magento\Catalog\Block\Product\View\Media
+ * @see \Magento\Catalog\Block\Product\View\Type\Grouped
+ */
+?>
+<?php $this->setPreconfiguredValue(); ?>
+<?php $_product = $this->getProduct(); ?>
+<?php $_associatedProducts = $this->getAssociatedProducts(); ?>
+<?php $_hasAssociatedProducts = count($_associatedProducts) > 0; ?>
+<?php if ($this->displayProductStockStatus()): ?>
+    <?php if ($_product->isAvailable() && $_hasAssociatedProducts): ?>
+        <p class="stock available" title="<?php echo __('Availability') ?>">
+            <span><?php echo __('In stock') ?></span>
+        </p>
+    <?php else: ?>
+        <p class="stock unavailable" title="<?php echo __('Availability') ?>">
+            <span><?php echo __('Out of stock') ?></span>
+        </p>
+    <?php endif; ?>
+<?php endif; ?>
+
+<table class="table data grouped" id="super-product-table">
+    <thead>
+        <tr>
+            <th class="col item"><?php echo __('Product Name') ?></th>
+            <?php if ($this->getCanShowProductPrice($_product)): ?>
+            <th class="col price"><?php echo __('Price') ?></th>
+            <?php endif; ?>
+            <?php if ($_product->isSaleable()): ?>
+            <th class="col qty"><?php echo __('Qty') ?></th>
+            <?php endif; ?>
+        </tr>
+    </thead>
+    <tbody>
+    <?php if ($_hasAssociatedProducts): ?>
+    <?php foreach ($_associatedProducts as $_item): ?>
+        <?php $_finalPriceInclTax = $this->helper('Magento\Tax\Helper\Data')->getPrice($_item, $_item->getFinalPrice(), true) ?>
+        <tr>
+            <td class="col item"><strong class="product name"><?php echo $this->escapeHtml($_item->getName()) ?></strong></td>
+            <?php if ($this->getCanShowProductPrice($_product)): ?>
+            <td class="col price">
+                <?php if ($this->getCanShowProductPrice($_item)): ?>
+                <?php echo $this->getPriceHtml($_item, true) ?>
+                <?php echo $this->getTierPriceHtml($_item) ?>
+                <?php endif; ?>
+            </td>
+            <?php endif; ?>
+            <?php if ($_product->isSaleable()): ?>
+            <td class="col qty">
+            <?php if ($_item->isSaleable()) : ?>
+                <div class="control qty">
+                    <input type="text" name="super_group[<?php echo $_item->getId() ?>]" maxlength="12" value="<?php echo $_item->getQty()*1 ?>" title="<?php echo __('Qty') ?>" class="input-text qty" data-validate="{'validate-grouped-qty':'#super-product-table'}"/>
+                </div>
+            <?php else: ?>
+                <p class="stock unavailable" title="<?php echo __('Availability') ?>">
+                    <span><?php echo __('Out of stock') ?></span>
+                </p>
+            <?php endif; ?>
+            </td>
+            <?php endif; ?>
+        </tr>
+    <?php endforeach; ?>
+    <?php else: ?>
+       <tr>
+           <td class="unavailable" colspan="<?php if ($_product->isSaleable()): ?>4<?php else : ?>3<?php endif; ?>"><?php echo __('No options of this product are available.') ?></td>
+       </tr>
+    <?php endif; ?>
+    </tbody>
+</table>
+
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/view/type/options/configurable.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/type/options/configurable.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..7163b9c1b51e02a225acf2f18a56f749c1c7f2f1
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/view/type/options/configurable.phtml
@@ -0,0 +1,54 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+
+<?php
+$_product    = $this->getProduct();
+$_attributes = $this->helper('Magento\Core\Helper\Data')->decorateArray($this->getAllowAttributes());
+?>
+<?php if ($_product->isSaleable() && count($_attributes)):?>
+    <div class="product options configure">
+    <?php foreach($_attributes as $_attribute): ?>
+        <div class="field required">
+            <label class="label" for="attribute<?php echo $_attribute->getAttributeId() ?>">
+                <span><?php echo $this->escapeHtml($_attribute->getLabel()) ?></span>
+            </label>
+            <div class="control">
+                <select name="super_attribute[<?php echo $_attribute->getAttributeId() ?>]" data-validate="{required:true}" id="attribute<?php echo $_attribute->getAttributeId() ?>" class="super-attribute-select">
+                    <option><?php echo __('Choose an Option...') ?></option>
+                  </select>
+            </div>
+        </div>
+    <?php endforeach; ?>
+    </div>
+    <script type="text/javascript">
+        (function ($) {
+            head.js("<?php echo $this->getViewFileUrl('jquery/jquery.parsequery.js') ?>",
+                "<?php echo $this->getViewFileUrl('Magento_Catalog::js/configurable.js') ?>", function () {
+                $('#product_addtocart_form').configurable({"spConfig":<?php echo $this->getJsonConfig() ?>});
+            })
+        })(jQuery);
+    </script>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/link/link_block.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/link/link_block.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..ee234cbe0270eab451c85cd4c5eec4c542e74de9
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/link/link_block.phtml
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="widget product link"><a <?php echo $this->getLinkAttributes() ?>><span><?php echo $this->escapeHtml($this->getAnchorText()) ?></span></a></div>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/link/link_inline.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/link/link_inline.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..ef8fb3f550dcbbf786eba613540d60c28fe783d7
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/link/link_inline.phtml
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<span class="widget product link"><a <?php echo $this->getLinkAttributes() ?>><span><?php echo $this->escapeHtml($this->getAnchorText()) ?></span></a></span>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/column/new_default_list.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/column/new_default_list.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..d6e0d27bd73eeabfe3db23b719e083cf3e845e08
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/column/new_default_list.phtml
@@ -0,0 +1,70 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if (($_products = $this->getProductCollection()) && $_products->getSize()): ?>
+<?php $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');?>
+<div class="block widget new minilist">
+    <div class="title">
+        <strong><?php echo __('New Products') ?></strong>
+    </div>
+    <div class="content">
+        <?php echo $this->getPagerHtml() ?>
+        <?php $suffix = $this->getNameInLayout(); ?>
+        <?php $iterator = 1; ?>
+        <ol class="items minilist products" id="widget-new-products-<?php echo $suffix; ?>">
+        <?php foreach ($_products->getItems() as $_product): ?>
+            <?php echo ($iterator++==1) ? '<li class="item product">' : '</li><li class="item product">' ?>
+                <div class="product">
+                    <a class="product photo" href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>">
+                        <?php echo $imageBlock->init($_product, 'side_column_widget_product_thumbnail')->toHtml() ?>
+                    </a>
+                    <div class="product details">
+                        <strong class="product name">
+                            <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>)"><?php echo $this->helper('Magento\Catalog\Helper\Output')->productAttribute($_product, $_product->getName() , 'name') ?></a>
+                        </strong>
+                        <?php echo $this->getPriceHtml($_product, true, '-widget-new-'.$suffix) ?>
+                        <div class="product actions">
+                            <div class="primary">
+                            <?php if($_product->isSaleable()): ?>
+                                    <a href="<?php echo $this->getAddToCartUrl($_product) ?>" class="action tocart">
+                                        <span><?php echo __('Add to Cart') ?></span>
+                                    </a>
+                            <?php else: ?>
+                                <?php if ($_product->getIsSalable()): ?>
+                                    <p class="stock available" title="<?php echo __('Availability') ?>"><span><?php echo __('In stock') ?></span></p>
+                                <?php else: ?>
+                                    <p class="stock unavailable" title="<?php echo __('Availability') ?>"><span><?php echo __('Out of stock') ?></span></p>
+                                <?php endif; ?>
+                            <?php endif; ?>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            <?php echo ($iterator==count($_products->getItems())+1) ? '</li>' : '' ?>
+        <?php endforeach; ?>
+        </ol>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/column/new_images_list.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/column/new_images_list.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..dcb4704157857eb06db7632e043106d5917ebd20
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/column/new_images_list.phtml
@@ -0,0 +1,47 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if (($_products = $this->getProductCollection()) && $_products->getSize()): ?>
+<?php $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image'); ?>
+<div class="widget block new photos">
+    <div class="title">
+        <strong><?php echo __('New Products') ?></strong>
+    </div>
+    <div class="content">
+        <?php echo $this->getPagerHtml() ?>
+        <?php $suffix = $this->getNameInLayout(); ?>
+        <ol class="items">
+        <?php foreach ($_products->getItems() as $_product): ?>
+            <li class="item">
+                <a class="product photo" href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>">
+                    <!-- new_products_images_only_widget -->
+                    <?php echo $imageBlock->init($_product, 'new_products_images_only_widget')->toHtml() ?>
+                </a>
+            </li>
+        <?php endforeach; ?>
+        </ol>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/column/new_names_list.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/column/new_names_list.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..217c0418f1601f41e9df4b4ccf404888152d4044
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/column/new_names_list.phtml
@@ -0,0 +1,43 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if (($_products = $this->getProductCollection()) && $_products->getSize()): ?>
+<div class="widget block new names">
+    <div class="title">
+        <strong><?php echo __('New Products') ?></strong>
+    </div>
+    <div class="content">
+        <?php echo $this->getPagerHtml() ?>
+        <?php $suffix = $this->getNameInLayout(); ?>
+        <ol class="items">
+        <?php foreach ($_products->getItems() as $_product): ?>
+            <li class="item">
+                <strong class="product name"><a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>)"><?php echo $this->helper('Magento\Catalog\Helper\Output')->productAttribute($_product, $_product->getName() , 'name') ?></a></strong>
+            </li>
+        <?php endforeach; ?>
+        </ol>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/content/new_grid.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/content/new_grid.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..5eef1b00a9714dc1993a59ba74e7808d1c012523
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/content/new_grid.phtml
@@ -0,0 +1,120 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+if ($exist = ($this->getProductCollection() && $this->getProductCollection()->getSize())) {
+    $type = 'widget-new-grid';
+
+    $class = 'widget new grid';
+
+    $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+    $image ='new_products_content_widget_grid';
+    $title = __('New Products');
+    $items = $this->getProductCollection()->getItems();
+
+    $showWishlist = true;
+    $showCompare = true;
+    $showCart = true;
+    $rating = true;
+    $description = false;
+}
+?>
+
+<?php if ($exist):?>
+<div class="block <?php echo $class; ?>">
+    <div class="title">
+        <strong><?php echo $title; ?></strong>
+    </div>
+    <div class="content">
+        <?php echo $this->getPagerHtml() ?>
+        <?php echo '<!-- ' . $image . '-->' ?>
+        <ol class="products list items <?php echo $type; ?>">
+        <?php $iterator = 1; ?>
+        <?php foreach($items as $_item): ?>
+            <?php echo ($iterator++==1) ? '<li class="item product">' : '</li><li class="item product">' ?>
+                <div class="product">
+                    <a href="<?php echo $this->getProductUrl($_item) ?>" class="product photo">
+                        <?php echo $imageBlock->init($_item, $image)->toHtml() ?>
+                    </a>
+
+                    <div class="product details">
+
+                        <strong class="product name"><a title="<?php echo $this->escapeHtml($_item->getName()) ?>" href="<?php echo $this->getProductUrl($_item) ?>">
+                            <?php echo $this->escapeHtml($_item->getName()) ?></a>
+                        </strong>
+
+                        <?php echo $this->getPriceHtml($_item, true, '-' . $type) ?>
+
+                        <?php if ($_item->getRatingSummary() && $rating): ?>
+                            <?php echo $this->getReviewsSummaryHtml($_item,$rating) ?>
+                        <?php endif; ?>
+
+                        <?php if($showWishlist || $showCompare || $showCart): ?>
+                        <div class="product actions">
+
+                            <?php if($showCart): ?>
+                            <div class="primary">
+                                <?php if($_item->isSaleable()): ?>
+                                <button class="action tocart" data-mage-redirect="{event: 'click', url: '<?php echo $this->getAddToCartUrl($_item) ?>'}" type="button" title="<?php echo __('Add to Cart') ?>">
+                                    <span><?php echo __('Add to Cart') ?></span>
+                                </button>
+                                <?php else: ?>
+                                    <?php if ($_item->getIsSalable()): ?>
+                                        <p class="stock available"><span><?php echo __('In stock') ?></span></p>
+                                    <?php else: ?>
+                                        <p class="stock unavailable"><span><?php echo __('Out of stock') ?></span></p>
+                                    <?php endif; ?>
+                                <?php endif; ?>
+                            </div>
+                            <?php endif; ?>
+
+                            <?php if($showWishlist || $showCompare): ?>
+                            <div class="secondary addto links">
+                                <?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllow() && $showWishlist): ?>
+                                    <a href="<?php echo $this->getAddToWishlistUrl($_item) ?>" class="action towishlist" data-action="add-to-wishlist" title="<?php echo __('Add to Wishlist') ?>">
+                                        <span><?php echo __('Add to Wishlist') ?></span>
+                                    </a>
+                                <?php endif; ?>
+                                <?php if($this->getAddToCompareUrl($_item) && $showCompare): ?>
+                                    <a href="<?php echo $this->getAddToCompareUrl($_item) ?>" class="action tocompare" title="<?php echo __('Add to Compare') ?>">
+                                        <span><?php echo __('Add to Compare') ?></span>
+                                    </a>
+                                <?php endif; ?>
+                            </div>
+                            <?php endif; ?>
+                        </div>
+                        <?php endif; ?>
+
+                    </div>
+                </div>
+            <?php echo ($iterator==count($items)+1) ? '</li>' : '' ?>
+        <?php endforeach ?>
+        </ol>
+        <script type="text/javascript">
+            head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/mage-attributes-processing.js') ?>");
+        </script>
+    </div>
+</div>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/content/new_list.phtml b/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/content/new_list.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..abfa60384a5112b7589b5bae14126ed452a97e22
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Catalog/product/widget/new/content/new_list.phtml
@@ -0,0 +1,121 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+if ($exist = ($this->getProductCollection() && $this->getProductCollection()->getSize())) {
+    $type = 'widget-new-list';
+
+    $class = 'widget new list';
+
+    $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+    $image ='new_products_content_widget_list';
+    $title = __('New Products');
+    $items = $this->getProductCollection()->getItems();
+
+    $showWishlist = true;
+    $showCompare = true;
+    $showCart = true;
+    $rating = true;
+    $description = true;
+}
+?>
+
+<?php if ($exist):?>
+<div class="block <?php echo $class; ?>">
+    <div class="title">
+        <strong><?php echo $title; ?></strong>
+    </div>
+    <div class="content">
+        <?php echo $this->getPagerHtml() ?>
+        <?php echo '<!-- ' . $image . '-->' ?>
+        <ol class="products list items <?php echo $type; ?>">
+        <?php $iterator = 1; ?>
+        <?php foreach($items as $_item): ?>
+            <?php echo ($iterator++==1) ? '<li class="item product">' : '</li><li class="item product">' ?>
+                <div class="product">
+
+                    <a href="<?php echo $this->getProductUrl($_item) ?>" class="product photo">
+                        <?php echo $imageBlock->init($_item, $image)->toHtml() ?>
+                    </a>
+
+                    <div class="product details">
+
+                        <strong class="product name"><a title="<?php echo $this->escapeHtml($_item->getName()) ?>" href="<?php echo $this->getProductUrl($_item) ?>">
+                            <?php echo $this->escapeHtml($_item->getName()) ?></a>
+                        </strong>
+
+                        <?php echo $this->getPriceHtml($_item, true, '-' . $type) ?>
+
+                        <?php if ($_item->getRatingSummary() && $rating): ?>
+                            <?php echo $this->getReviewsSummaryHtml($_item,$rating) ?>
+                        <?php endif; ?>
+
+                        <?php if($showWishlist || $showCompare || $showCart): ?>
+                        <div class="product actions">
+
+                            <?php if($showCart): ?>
+                            <div class="primary">
+                                <?php if($_item->isSaleable()): ?>
+                                <button class="action tocart" data-mage-redirect="{event: 'click', url: '<?php echo $this->getAddToCartUrl($_item) ?>'}" type="button" title="<?php echo __('Add to Cart') ?>">
+                                    <span><?php echo __('Add to Cart') ?></span>
+                                </button>
+                                <?php else: ?>
+                                    <?php if ($_item->getIsSalable()): ?>
+                                        <p class="stock available"><span><?php echo __('In stock') ?></span></p>
+                                    <?php else: ?>
+                                        <p class="stock unavailable"><span><?php echo __('Out of stock') ?></span></p>
+                                    <?php endif; ?>
+                                <?php endif; ?>
+                            </div>
+                            <?php endif; ?>
+
+                            <?php if($showWishlist || $showCompare): ?>
+                            <div class="secondary addto links">
+                                <?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllow() && $showWishlist): ?>
+                                    <a href="<?php echo $this->getAddToWishlistUrl($_item) ?>" class="action towishlist" data-action="add-to-wishlist" title="<?php echo __('Add to Wishlist') ?>">
+                                        <span><?php echo __('Add to Wishlist') ?></span>
+                                    </a>
+                                <?php endif; ?>
+                                <?php if($this->getAddToCompareUrl($_item) && $showCompare): ?>
+                                    <a href="<?php echo $this->getAddToCompareUrl($_item) ?>" class="action tocompare" title="<?php echo __('Add to Compare') ?>">
+                                        <span><?php echo __('Add to Compare') ?></span>
+                                    </a>
+                                <?php endif; ?>
+                            </div>
+                            <?php endif; ?>
+                        </div>
+                        <?php endif; ?>
+
+                    </div>
+                </div>
+            <?php echo ($iterator==count($items)+1) ? '</li>' : '' ?>
+        <?php endforeach ?>
+        </ol>
+        <script type="text/javascript">
+            head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/mage-attributes-processing.js') ?>");
+        </script>
+    </div>
+</div>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_CatalogSearch/advanced/form.phtml b/app/design/frontend/magento_plushe/Magento_CatalogSearch/advanced/form.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..446652e8ded32cfc90aed2db43090c5a8e152178
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_CatalogSearch/advanced/form.phtml
@@ -0,0 +1,129 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Catalog advanced search form
+ *
+ * @see \Magento\CatalogSearch\Block\Advanced\Form
+ */
+?>
+<?php $maxQueryLength= $this->helper('Magento\CatalogSearch\Helper\Data')->getMaxQueryLength();?>
+<form class="form search advanced" action="<?php echo $this->getSearchPostUrl() ?>" method="get" id="form-validate">
+<fieldset class="fieldset">
+    <legend class="legend"><span><?php echo __('Search Settings') ?></span></legend><br />
+    <?php foreach ($this->getSearchableAttributes() as $_attribute): ?>
+    <?php $_code = $_attribute->getAttributeCode() ?>
+        <div class="field <?php echo $_code ?>">
+            <label class="label" for="<?php echo $_code ?>"><span><?php echo $this->getAttributeLabel($_attribute) ?></span></label>
+            <div class="control">
+            <?php switch($this->getAttributeInputType($_attribute)):
+                case 'number': ?>
+                <div class="range fields group group-2">
+                    <div class="field no-label">
+                        <div class="control">
+                            <input type="text" name="<?php echo $_code ?>[from]" value="<?php echo $this->escapeHtml($this->getAttributeValue($_attribute, 'from')) ?>" id="<?php echo $_code ?>" title="<?php echo $this->escapeHtml($this->getAttributeLabel($_attribute)) ?>" class="input-text" maxlength="<?php echo $maxQueryLength;?>" data-validate="{number:true, 'less-than-equals-to':'#<?php echo $_code ?>_to'}" />
+                        </div>
+                    </div>
+                    <div class="field no-label">
+                        <div class="control">
+                            <input type="text" name="<?php echo $_code ?>[to]" value="<?php echo $this->escapeHtml($this->getAttributeValue($_attribute, 'to')) ?>" id="<?php echo $_code ?>_to" title="<?php echo $this->escapeHtml($this->getAttributeLabel($_attribute)) ?>" class="input-text"  maxlength="<?php echo $maxQueryLength;?>" data-validate="{number:true, 'greater-than-equals-to':'#<?php echo $_code ?>'}" />
+                        </div>
+                    </div>
+                </div>
+                <?php break;
+                case 'price': ?>
+                <div class="range price fields group group-2">
+                    <div class="field no-label">
+                        <div class="control">
+                            <input name="<?php echo $_code ?>[from]" value="<?php echo $this->escapeHtml($this->getAttributeValue($_attribute, 'from')) ?>" id="<?php echo $_code ?>" title="<?php echo $this->escapeHtml($this->getAttributeLabel($_attribute)) ?>"  class="input-text" type="text"  maxlength="<?php echo $maxQueryLength;?>" data-validate="{number:true, 'less-than-equals-to':'#<?php echo $_code ?>_to'}" />
+                        </div>
+                    </div>
+                    <div class="field with-addon no-label">
+                        <div class="control">
+                            <div class="addon">
+                            <input name="<?php echo $_code ?>[to]" value="<?php echo $this->escapeHtml($this->getAttributeValue($_attribute, 'to')) ?>" id="<?php echo $_code ?>_to" title="<?php echo $this->escapeHtml($this->getAttributeLabel($_attribute)) ?>" class="input-text" type="text"  maxlength="<?php echo $maxQueryLength;?>" data-validate="{number:true, 'greater-than-equals-to':'#<?php echo $_code ?>'}" />
+                            <label class="addafter" for="<?php echo $_code ?>_to"><?php echo $this->getCurrency($_attribute); ?></label>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+                <?php break;
+                case 'select': ?>
+                    <?php echo $this->getAttributeSelectElement($_attribute) ?>
+                <?php break;
+                case 'yesno': ?>
+                    <?php echo $this->getAttributeYesNoElement($_attribute) ?>
+                <?php break;
+                case 'date': ?>
+                <div class="range dates fields group group-2">
+                    <div class="field date no-label">
+                        <div class="control">
+                            <?php echo $this->getDateInput($_attribute, 'from') ?>
+                        </div>
+                    </div>
+                    <div class="field date no-label">
+                        <div class="control">
+                            <?php echo $this->getDateInput($_attribute, 'to') ?>
+                        </div>
+                    </div>
+                </div>
+                <?php break;
+                default: ?>
+                <input type="text" name="<?php echo $_code ?>" id="<?php echo $_code ?>" value="<?php echo $this->escapeHtml($this->getAttributeValue($_attribute)) ?>" title="<?php echo $this->escapeHtml($this->getAttributeLabel($_attribute)) ?>"  class="input-text <?php echo $this->getAttributeValidationClass($_attribute) ?>"  maxlength="<?php echo $maxQueryLength;?>" />
+            <?php endswitch; ?>
+            </div>
+        </div>
+    <?php endforeach; ?>
+</fieldset>
+<div class="actions">
+    <button type="submit" class="action search" title="<?php echo __('Search') ?>"><span><?php echo __('Search') ?></span></button>
+</div>
+</form>
+<script type="text/javascript">
+    (function($) {
+        head.js(
+            "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+            function() {
+                $('#form-validate').validation({
+                    errorPlacement: function (error, element) {
+                        var parent = element.parent();
+                        if (parent.hasClass('range')) {
+                            parent.find(this.errorElement + '.' + this.errorClass).remove().end().append(error);
+                        } else {
+                            error.insertAfter(element);
+                        }
+                    },
+                    messages: {
+                        'price[to]': {'greater-than-equals-to': 'Please enter a valid price range.'},
+                        'price[from]': {'less-than-equals-to': 'Please enter a valid price range.'}
+                    }
+                });
+            });
+    })(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_CatalogSearch/advanced/result.phtml b/app/design/frontend/magento_plushe/Magento_CatalogSearch/advanced/result.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..027b889fc9b59b8bd6b448d66055db31fa8d5a84
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_CatalogSearch/advanced/result.phtml
@@ -0,0 +1,61 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if($this->getResultCount()): ?>
+    <div class="search found">
+        <?php echo __('<strong>%1 item(s)</strong> were found using the following search criteria', $this->getResultCount()); ?>
+    </div>
+<?php else: ?>
+    <div class="error-msg">
+        <div>
+            <?php echo __('No items were found using the following search criteria.');?> <a href="<?php echo $this->getFormUrl(); ?>"><?php echo __('Modify your search'); ?></a>
+        </div>
+    </div>
+<?php endif; ?>
+
+<?php $searchCriterias=$this->getSearchCriterias(); ?>
+<div class="search summary">
+    <?php foreach (array('left', 'right') as $side): ?>
+        <?php if(@$searchCriterias[$side]): ?>
+            <ul class="items">
+                <?php foreach($searchCriterias[$side] as $criteria): ?>
+                    <li class="item"><strong><?php echo $this->escapeHtml(__($criteria['name'])); ?>:</strong> <?php echo $this->escapeHtml($criteria['value']); ?></li>
+                <?php endforeach; ?>
+            </ul>
+        <?php endif; ?>
+    <?php endforeach; ?>
+</div>
+<?php if($this->getResultCount()): ?>
+    <div class="note-msg">
+        <div>
+            <?php echo __("Don't see what you're looking for?"); ?>
+            <a href="<?php echo $this->getFormUrl(); ?>"><?php echo __('Modify your search'); ?></a>
+        </div>
+    </div>
+<?php endif; ?>
+<?php if($this->getResultCount()): ?>
+    <div class="search results"><?php echo $this->getProductListHtml() ?></div>
+<?php endif; ?>
+<?php $this->getSearchCriterias(); ?>
diff --git a/app/design/frontend/magento_plushe/Magento_CatalogSearch/form.mini.phtml b/app/design/frontend/magento_plushe/Magento_CatalogSearch/form.mini.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..20624b1c511f33cad556430a937d0c6c1f5523a9
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_CatalogSearch/form.mini.phtml
@@ -0,0 +1,88 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/** @var $this \Magento\Core\Block\Template */
+/** @var $helper \Magento\CatalogSearch\Helper\Data */
+$helper = $this->helper('Magento\CatalogSearch\Helper\Data');
+?>
+<div class="block search">
+    <div class="title"><strong><?php echo __('Search') ?></strong></div>
+    <div class="content search">
+        <form class="form minisearch" id="search_mini_form" action="<?php echo $helper->getResultUrl() ?>"
+      method="get">
+            <div class="field search">
+                <label class="label" for="search"><?php echo __('Search') ?></label>
+                <div class="control">
+                    <input id="search" type="text" name="<?php echo $helper->getQueryParamName() ?>" value="<?php echo $helper->getEscapedQueryText() ?>" placeholder="<?php echo __('Search entire store here...') ?>" class="input-text" autocomplete="off"/>
+                    <div id="search_autocomplete" class="search autocomplete"></div>
+                    <a class="action advanced" href="<?php echo $helper->getAdvancedSearchUrl(); ?>"><?php echo __('Advanced Search'); ?></a>
+                </div>
+            </div>
+            <div class="actions">
+                <button type="submit" title="<?php echo __('Search') ?>" class="action search"><span><?php echo __('Search') ?></span></button>
+            </div>
+            <script type="text/javascript">
+            //<![CDATA[
+            (function($) {
+                head.js("<?php echo $this->getViewFileUrl('Magento_CatalogSearch::form-mini.js')?>", function() {
+                    $('#search').catalogSearch({
+                        formSelector: '#search_mini_form',
+                        url: '<?php echo $helper->getSuggestUrl() ?>',
+                        destinationSelector: '#search_autocomplete'
+                        //placeholder: '<?php echo __('Search entire store here...') ?>',
+                    });
+                });
+            })(jQuery);
+            //]]>
+            </script>
+        </form>
+    </div>
+</div>
+
+
+<?php /*
+<form id="search_mini_form" action="<?php echo $helper->getResultUrl() ?>"
+      method="get">
+    <div class="form-search">
+        <label for="search"><?php echo __('Search:') ?></label><input id="search" type="text" name="<?php echo $helper->getQueryParamName() ?>" value="<?php echo $helper->getEscapedQueryText() ?>" class="input-text" autocomplete="off"/>&nbsp;<button type="submit" title="<?php echo __('Search') ?>" class="button"><span><span><?php echo __('Search') ?></span></span></button><a href="<?php echo $helper->getAdvancedSearchUrl(); ?>"><?php echo __('Advanced Search'); ?></a>
+        <div id="search_autocomplete" class="search-autocomplete"></div>
+        <script type="text/javascript">
+        //<![CDATA[
+        (function($) {
+            head.js("<?php echo $this->getViewFileUrl('Magento_CatalogSearch::form-mini.js')?>", function() {
+                $('#search').catalogSearch({
+                    formSelector: '#search_mini_form',
+                    placeholder: '<?php echo __('Search entire store here...') ?>',
+                    url: '<?php echo $helper->getSuggestUrl() ?>',
+                    destinationSelector: '#search_autocomplete'
+                });
+            });
+        })(jQuery);
+        //]]>
+        </script>
+    </div>
+</form>
+*/ ?>
diff --git a/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/catalogsearch_advanced_index.xml b/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/catalogsearch_advanced_index.xml
new file mode 100644
index 0000000000000000000000000000000000000000..58a124e9c1548c48d2f9940eb8fde0d14e697d6c
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/catalogsearch_advanced_index.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="page_one_column"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/catalogsearch_advanced_result.xml b/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/catalogsearch_advanced_result.xml
new file mode 100644
index 0000000000000000000000000000000000000000..05344815a0a799a0801592aa61b8b76d2462b7ba
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/catalogsearch_advanced_result.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="page_two_columns_left"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="title" xsi:type="string">Catalog Advanced Search</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/catalogsearch_result_index.xml b/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/catalogsearch_result_index.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2471560447b40a16f509d2e71d48ac33d8ebeb39
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/catalogsearch_result_index.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="search_result_list">
+        <arguments>
+            <!-- If position of argument is depend on image size changable in VDE:
+                positions:list-secondary,grid-secondary,list-actions,grid-actions,list-primary,grid-primary
+            -->
+            <argument name="positioned" xsi:type="string">positions:list-secondary</argument>
+        </arguments>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/catalogsearch_term_popular.xml b/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/catalogsearch_term_popular.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8f2b1e21cb7f5dc6797ce9c982b32d3c7e7494ef
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/catalogsearch_term_popular.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="page_one_column"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="title" xsi:type="string">Popular Search Terms</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/override/catalogsearch_result_index.xml b/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/override/catalogsearch_result_index.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e6bc30b72bfa315eb371f94040877d8eb05da653
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_CatalogSearch/layout/override/catalogsearch_result_index.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Quick Search Form" type="page" parent="default">
+    <update handle="page_two_columns_left"/>
+    <referenceContainer name="left">
+        <block class="Magento\CatalogSearch\Block\Layer" name="catalogsearch.leftnav" before="-" template="Magento_Catalog::layer/view.phtml"/>
+    </referenceContainer>
+    <referenceContainer name="content">
+        <block class="Magento\CatalogSearch\Block\Result" name="search.result" template="result.phtml">
+            <block class="Magento\Catalog\Block\Product\ListProduct" name="search_result_list" template="product/list.phtml">
+                <block class="Magento\Catalog\Block\Product\ProductList\Toolbar" name="product_list_toolbar" template="product/list/toolbar.phtml">
+                    <block class="Magento\Page\Block\Html\Pager" name="product_list_toolbar_pager"/>
+                </block>
+                <action method="setToolbarBlockName">
+                    <argument name="name" xsi:type="string">product_list_toolbar</argument>
+                </action>
+            </block>
+            <action method="setListOrders"/>
+            <action method="setListModes"/>
+            <action method="setListCollection"/>
+        </block>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_CatalogSearch/result.phtml b/app/design/frontend/magento_plushe/Magento_CatalogSearch/result.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..4bf465e769e62a535c1046d07fc5d3bed44b9753
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_CatalogSearch/result.phtml
@@ -0,0 +1,53 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if($this->getResultCount()): ?>
+<?php echo $this->getChildHtml('tagged_product_list_rss_link'); ?>
+<div class="search results">
+    <?php if ($messages = $this->getNoteMessages()):?>
+    <div class="note-msg">
+        <div>
+            <?php foreach ($messages as $message):?>
+                <?php echo $message?><br />
+            <?php endforeach;?>
+        </div>
+    </div>
+    <?php endif; ?>
+    <?php echo $this->getProductListHtml() ?>
+</div>
+<?php else: ?>
+
+<div class="note-msg">
+    <div>
+        <?php echo ($this->getNoResultText()) ? $this->getNoResultText() : __('Your search returns no results.') ?>
+        <?php echo $this->getAdditionalHtml() ?>
+        <?php if ($messages = $this->getNoteMessages()):?>
+            <?php foreach ($messages as $message):?>
+                <br /><?php echo $message?>
+            <?php endforeach;?>
+        <?php endif; ?>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_CatalogSearch/term.phtml b/app/design/frontend/magento_plushe/Magento_CatalogSearch/term.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..706dff536e60b09684e73b224502d780e7581944
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_CatalogSearch/term.phtml
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if( sizeof($this->getTerms()) > 0 ): ?>
+    <ul class="search terms">
+        <?php foreach ($this->getTerms() as $_term): ?>
+            <li class="item"><a href="<?php echo $this->getSearchUrl($_term) ?>" style="font-size:<?php echo $_term->getRatio()*70+75 ?>%;"><?php echo $this->escapeHtml($_term->getName()) ?></a></li>
+        <?php endforeach; ?>
+    </ul>
+<?php else: ?>
+    <div class="note-msg"><div><?php echo __('There are no search terms available.'); ?></div></div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/cart.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..af7fcbff53faa066e9140a928f1516c3736611d0
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/cart.phtml
@@ -0,0 +1,37 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Shopping cart template
+ *
+ * @see \Magento\Checkout\Block\Cart
+ */
+?>
+<?php if ($this->getItemsCount()) {
+    echo $this->getChildHtml('with-items');
+} else {
+    echo $this->getChildHtml('no-items');
+}
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart/coupon.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/cart/coupon.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..9bd1430c089ac0f129c4e1516fa8e323bd6fecf1
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/cart/coupon.phtml
@@ -0,0 +1,69 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="block discount">
+    <div class="title"><strong><?php echo __('Discount Codes') ?></strong></div>
+    <div class="content">
+        <form id="discount-coupon-form" action="<?php echo $this->getUrl('checkout/cart/couponPost') ?>" method="post">
+            <fieldset class="fieldset coupon<?php strlen($this->getCouponCode()) ? ' applied' : ''?>">
+                <input type="hidden" name="remove" id="remove-coupon" value="0" />
+                <div class="field">
+                    <label for="coupon_code" class="label"><span><?php echo __('Enter your coupon code if you have one.') ?></span></label>
+                    <div class="control">
+                        <input type="text" class="input-text" id="coupon_code" name="coupon_code" value="<?php echo $this->escapeHtml($this->getCouponCode()) ?>" />
+                    </div>
+                </div>
+                <div class="actions">
+                    <div class="primary">
+                        <button class="action apply" type="button" value="<?php echo __('Apply Coupon') ?>">
+                            <span><?php echo __('Apply Coupon') ?></span>
+                        </button>
+                    </div>
+                    <?php if(strlen($this->getCouponCode())): ?>
+                        <div class="secondary">
+                            <button  type="button" class="action cancel" value="<?php echo __('Cancel Coupon') ?>"><span><?php echo __('Cancel Coupon') ?></span></button>
+                        </div>
+                    <?php endif; ?>
+                </div>
+            </fieldset>
+        </form>
+    <script type="text/javascript">
+    //<![CDATA[
+    (function($) {
+        head.js("<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('Magento_Checkout::js/discount-codes.js')?>", function() {
+                $('#discount-coupon-form').discountCode({
+                    couponCodeSelector: '#coupon_code', removeCouponSelector: '#remove-coupon',
+                    applyButton: 'button.action.apply', cancelButton: 'button.action.cancel'
+                });
+            });
+    })(jQuery);
+    //]]>
+    </script>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart/form.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/cart/form.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..4efca67cfb04e0de9f41855b52ab889ccef7c669
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/cart/form.phtml
@@ -0,0 +1,107 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Shopping cart template
+ *
+ * @see \Magento\Checkout\Block\Cart
+ */
+?>
+<?php $mergedCells = ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices() ? 2 : 1); ?>
+<div class="cart table wrapper<?php echo $mergedCells == 2 ? ' detailed' : ''; ?>">
+    <?php echo $this->getChildHtml('form_before') ?>
+    <form action="<?php echo $this->getUrl('checkout/cart/updatePost') ?>" method="post" id="form-validate" >
+        <table id="shopping-cart-table" class="cart items data">
+            <thead>
+                <tr>
+                    <th class="col item" rowspan="<?php echo $mergedCells; ?>"><span><?php echo __('Item') ?></span></th>
+                    <th class="col price" colspan="<?php echo $mergedCells; ?>"><span><?php echo __('Unit Price') ?></span></th>
+                    <th class="col qty" rowspan="<?php echo $mergedCells; ?>" class="a-center"><span><?php echo __('Qty') ?></span></th>
+                    <th class="col subtotal" colspan="<?php echo $mergedCells; ?>"><span><?php echo __('Subtotal') ?></span></th>
+                </tr>
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+                <tr>
+                    <th class="col price excl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
+                    <th class="col price incl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
+                    <th class="col subtotal excl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
+                    <th class="col subtotal incl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
+                </tr>
+                <?php endif; ?>
+            </thead>
+            <?php foreach($this->getItems() as $_item): ?>
+                <?php echo $this->getItemHtml($_item) ?>
+            <?php endforeach ?>
+        </table>
+        <div class="cart main actions">
+            <?php if($this->getContinueShoppingUrl()): ?>
+                <a class="action continue" href="<?php echo $this->getContinueShoppingUrl() ?>" title="<?php echo __('Continue Shopping') ?>">
+                    <span><?php echo __('Continue Shopping') ?></span>
+                </a>
+            <?php endif; ?>
+            <button type="submit" name="update_cart_action" value="update_qty" title="<?php echo __('Update Shopping Cart'); ?>" class="action update">
+                <span><?php echo __('Update Shopping Cart'); ?></span>
+            </button>
+            <button type="submit" name="update_cart_action" value="empty_cart" title="<?php echo __('Clear Shopping Cart'); ?>" class="action clear" id="empty_cart_button">
+                <span><?php echo __('Clear Shopping Cart'); ?></span>
+            </button>
+            <!--[if lt IE 8]>
+            <input type="hidden" value="" id="update_cart_action_container" />
+            <![endif]-->
+            <script type="text/javascript">
+                //<![CDATA[
+                (function($) {
+                    head.js("<?php echo $this->getViewFileUrl('Magento_Checkout::js/shopping-cart.js')?>",
+                        function() {
+                            // Internet Explorer (lt 8) does not support value attribute in button elements
+                            $('#shopping-cart-table').shoppingCart({
+                                emptyCartButton: 'action.clear',
+                                updateCartActionContainer: '#update_cart_action_container'
+                            });
+                        });
+                })(jQuery);
+                //]]>
+            </script>
+        </div>
+    </form>
+    <?php echo $this->getChildHtml('shopping.cart.table.after'); ?>
+    <script type="text/javascript">
+        (function($) {
+            head.js(
+                "<?php echo $this->getViewFileUrl('js/sticky.js') ?>",
+                "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+                "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+                "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+                "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+                function() {
+                    $('#form-validate').validation();
+                    $('.cart.summary').sticky({
+                        container: '.cart.container'
+                });
+                });
+        })(jQuery)
+    </script>
+</div>
+
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart/item/configure/updatecart.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/cart/item/configure/updatecart.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..34e87f8932f92affe0888571715dfde03719b34e
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/cart/item/configure/updatecart.phtml
@@ -0,0 +1,60 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_product = $this->getProduct(); ?>
+<?php $buttonTitle = __('Update Cart'); ?>
+<?php if ($_product->isSaleable()): ?>
+    <div class="box tocart update">
+        <?php if (!$_product->isGrouped()): ?>
+        <div class="field qty">
+            <label class="label" for="qty"><span><?php echo __('Qty:') ?></span></label>
+            <div class="control">
+                <input type="text" name="qty" id="qty" maxlength="12" value="<?php echo $this->getProductDefaultQty() * 1 ?>" title="<?php echo __('Qty') ?>" class="input-text qty" data-validate=" {required:true,digits:true}"/>
+            </div>
+        </div>
+        <?php endif; ?>
+        <div class="actions">
+            <button type="button" class="action primary tocart" title="<?php echo $buttonTitle ?>" id="product-updatecart-button"><span><?php echo $buttonTitle ?></span></button>
+        </div>
+        <?php echo $this->getChildHtml('', true) ?>
+    </div>
+
+    <script type="text/javascript">
+        (function ($) {
+            head.js("<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+                "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+                "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+                "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>",
+                "<?php echo $this->getViewFileUrl('Magento_Catalog::js/msrp.js') ?>", function () {
+                    $('#product_addtocart_form').addToCart({
+                        cartButtonId: "#product-updatecart-button",
+                        cartForm: "#product_addtocart_form"
+                    }).validation();
+                });
+        })(jQuery);
+    </script>
+<?php endif; ?>
+
+
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart/item/default.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/cart/item/default.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..fd3eb94d980d32f2604ab37c930d5a182463dfab
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/cart/item/default.phtml
@@ -0,0 +1,293 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+$_item = $this->getItem();
+$isVisibleProduct = $_item->getProduct()->isVisibleInSiteVisibility();
+$canApplyMsrp = $this->helper('Magento\Catalog\Helper\Data')->canApplyMsrp($_item->getProduct(), \Magento\Catalog\Model\Product\Attribute\Source\Msrp\Type::TYPE_BEFORE_ORDER_CONFIRM);
+?>
+<tbody class="cart item">
+<tr class="item info">
+    <td class="col item">
+        <?php if ($this->hasProductUrl()):?><a href="<?php echo $this->getProductUrl() ?>" title="<?php echo $this->escapeHtml($this->getProductName()) ?>" class="product photo"><?php endif;?>
+        <?php echo $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image')->init($_item->getProduct(), 'cart_page_product_thumbnail')->toHtml(); ?>
+        <?php if ($this->hasProductUrl()):?></a><?php endif;?>
+        <div class="product details">
+            <strong class="product name">
+            <?php if ($this->hasProductUrl()):?>
+                <a href="<?php echo $this->getProductUrl() ?>"><?php echo $this->escapeHtml($this->getProductName()) ?></a>
+            <?php else: ?>
+                <?php echo $this->escapeHtml($this->getProductName()) ?>
+            <?php endif; ?>
+            </strong>
+            <?php if ($_options = $this->getOptionList()):?>
+            <dl class="cart item options">
+                <?php foreach ($_options as $_option) : ?>
+                <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+                <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>><?php echo $_formatedOptionValue['value'] ?>
+                    <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                    <div class="truncated_full_value">
+                        <dl class="item-options">
+                            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                            <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                        </dl>
+                    </div>
+                    <?php endif; ?>
+                </dd>
+                <?php endforeach; ?>
+            </dl>
+            <?php endif;?>
+            <?php if ($messages = $this->getMessages()): ?>
+            <?php foreach ($messages as $message): ?>
+                <p class="cart item message <?php echo $message['type'] ?>">* <?php echo $this->escapeHtml($message['text']) ?></p>
+            <?php endforeach; ?>
+            <?php endif; ?>
+            <?php $addInfoBlock = $this->getProductAdditionalInformationBlock(); ?>
+            <?php if ($addInfoBlock): ?>
+                <?php echo $addInfoBlock->setItem($_item)->toHtml() ?>
+            <?php endif;?>
+        </div>
+    </td>
+
+    <?php if ($canApplyMsrp): ?>
+        <td class="col msrp a-right"<?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?> colspan="2"<?php endif; ?>>
+            <span class="cart-price">
+                <span class="cart-msrp-unit"><?php echo __('See price before order confirmation.'); ?></span>
+                <?php $helpLinkId = 'cart-msrp-help-' . $_item->getId(); ?>
+                <a id="<?php echo $helpLinkId ?>" href="#" class="map-help-link"><?php echo __("What's this?"); ?></a>
+                <script type="text/javascript">
+                    Catalog.Map.addHelpLink($('<?php echo $helpLinkId ?>'), "<?php echo __("What's this?") ?>");
+                </script>
+            </span>
+        </td>
+    <?php else: ?>
+
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+        <td class="col price excl tax">
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+            <?php else: ?>
+                <span class="cart-price">
+            <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?>
+                <?php else: ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()) ?>
+                <?php endif; ?>
+
+            </span>
+
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+                <div class="cart-tax-info" id="eunit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                        <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                            <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span>
+                        <?php endforeach; ?>
+                    <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                        <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                            <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                        <?php endforeach; ?>
+                    <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                        <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                            <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                        <?php endforeach; ?>
+                    <?php endif; ?>
+                </div>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                        <span class="weee"><?php echo __('Total'); ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?></span>
+                    </div>
+                <?php endif; ?>
+            <?php endif; ?>
+        </td>
+
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+        <td class="col price incl tax">
+            <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($_item); ?>
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+            <?php else: ?>
+                <span class="cart-price">
+            <?php endif; ?>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?>
+                <?php else: ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxDisposition()) ?>
+                <?php endif; ?>
+
+            </span>
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+                <div class="cart-tax-info" id="unit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                        <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                            <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span>
+                        <?php endforeach; ?>
+                    <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                        <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                            <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                        <?php endforeach; ?>
+                    <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                        <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                            <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                        <?php endforeach; ?>
+                    <?php endif; ?>
+                </div>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                        <span class="weee"><?php echo __('Total incl. tax'); ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?></span>
+                    </div>
+                <?php endif; ?>
+            <?php endif; ?>
+        </td>
+        <?php endif; ?>
+    <?php endif; ?>
+    <td class="col qty">
+        <div class="control qty">
+        <input name="cart[<?php echo $_item->getId() ?>][qty]" value="<?php echo $this->getQty() ?>" type="text" size="4" title="<?php echo __('Qty') ?>" class="input-text qty" maxlength="12" data-validate="{required:true,'validate-greater-than-zero':true}"/>
+        </div>
+    </td>
+    <?php if (($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()) && !$_item->getNoSubtotal()): ?>
+    <td class="col subtotal excl tax">
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($canApplyMsrp): ?>
+                <span class="cart-msrp-subtotal">--</span>
+            <?php else: ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?>
+                <?php else: ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()) ?>
+                <?php endif; ?>
+            <?php endif; ?>
+
+        </span>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="weee"><?php echo __('Total'); ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+    <?php if (($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()) && !$_item->getNoSubtotal()): ?>
+    <td class="col subtotal incl tax">
+        <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($_item); ?>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($canApplyMsrp): ?>
+                <span class="cart-msrp-subtotal">--</span>
+            <?php else: ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?>
+                <?php else: ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxRowDisposition()) ?>
+                <?php endif; ?>
+            <?php endif; ?>
+
+        </span>
+
+
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="subtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="weee"><?php echo __('Total incl. tax'); ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+</tr>
+<tr class="item actions">
+    <td colspan="100">
+        <div class="actions">
+
+            <?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllowInCart()) : ?>
+                <?php if ($isVisibleProduct): ?>
+                <a href="<?php echo $this->helper('Magento\Wishlist\Helper\Data')->getMoveFromCartUrl($_item->getId()); ?>" class="use-ajax action towishlist">
+                    <span><?php echo __('Move to Wishlist'); ?></span>
+                </a>
+                <?php endif ?>
+            <?php endif ?>
+
+            <?php if ($isVisibleProduct): ?>
+            <a class="action edit" href="<?php echo $this->getConfigureUrl() ?>" title="<?php echo __('Edit item parameters') ?>"><span><?php echo __('Edit') ?></span></a>
+            <?php endif ?>
+
+            <a href="<?php echo $this->getDeleteUrl()?>" title="<?php echo __('Remove item')?>" class="action delete"><span><?php echo __('Remove item')?></span></a>
+        </div>
+    </td>
+</tr>
+</tbody>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart/methods.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/cart/methods.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..8c71d1ff0738ac42164b0d4b1d7eacc82acdce4c
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/cart/methods.phtml
@@ -0,0 +1,42 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Shopping cart template
+ *
+ * @see \Magento\Checkout\Block\Cart
+ */
+?>
+<?php if(!$this->hasError()): ?>
+<?php $methods = $this->getMethods('methods') ? : $this->getMethods('top_methods') ?>
+<ul class="checkout methods items">
+<?php foreach ($methods as $method): ?>
+    <?php if ($methodHtml = $this->getMethodHtml($method)): ?>
+    <li class="item"><?php echo $methodHtml; ?></li>
+    <?php endif; ?>
+<?php endforeach; ?>
+</ul>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart/minicart.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/cart/minicart.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..6614e01c4fa7fc7c365f1608613e0dfa78f6058d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/cart/minicart.phtml
@@ -0,0 +1,137 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+ * Shoping cart sidebar
+ *
+ * @see \Magento\Checkout\Block\Cart\Sidebar
+ */
+?>
+<?php if ($this->getInList()): ?>
+    <li data-block="minicart" class="minicart wrapper">
+<?php else:  ?>
+    <div data-block="minicart" class="minicart wrapper">
+<?php endif; ?>
+<?php $_cartQty = $this->getSummaryCount() ?>
+<?php if (!$this->getIsLinkMode() || !$this->getIsNeedToDisplaySideBar()): ?>
+    <a data-toggle="dropdown" class="action showcart" href="<?php echo $this->getUrl('checkout/cart'); ?>">
+        <span class="text"><?php echo __('My Cart'); ?></span>
+        <span class="qty<?php echo ($_cartQty > 0) ? '' : ' empty'; ?>">
+            <?php echo $_cartQty ?>
+        </span>
+    </a>
+    <div data-target="dropdown" class="block minicart<?php echo ($_cartQty > 0) ? '' : ' empty'; ?>">
+        <button title="<?php echo __('Close'); ?>" type="button" class="action close" data-toggle="dropdown">
+            <span><?php echo __('Close'); ?></span>
+        </button>
+        <div class="title">
+            <strong>
+                <span class="text"><?php echo __('My Cart'); ?></span>
+                <span title="<?php echo __('Items in Cart'); ?>" class="qty<?php echo ($_cartQty > 0) ? '' : ' empty'; ?>">
+                    <?php echo $_cartQty ?>
+                </span>
+            </strong>
+        </div>
+        <div class="content">
+            <?php $_items = $this->getRecentItems() ?>
+            <?php if (count($_items)): ?>
+                <strong class="subtitle"><?php echo __('Recently added item(s)') ?></strong>
+                <div data-action="scroll" class="products minilist">
+                    <ol id="mini-cart" class="minilist items">
+                        <?php foreach ($_items as $_item): ?>
+                        <?php echo $this->getItemHtml($_item) ?>
+                        <?php endforeach; ?>
+                    </ol>
+                </div>
+            <?php else: ?>
+                <strong class="subtitle empty">
+                    <?php echo __('You have no items in your shopping cart.') ?>
+                </strong>
+                <?php if ($this->getCartEmptyMessage()): ?>
+                    <p class="minicart empty text"><?php echo $this->getCartEmptyMessage(); ?></p>
+                <?php endif; ?>
+            <?php endif ?>
+
+            <?php if ($_cartQty || $this->getAllowCartLink()): ?>
+                <?php $isPossibleOnepageCheckout = $_cartQty && $this->isPossibleOnepageCheckout() ?>
+                <?php if ($isPossibleOnepageCheckout): ?>
+                    <div class="subtotal">
+                        <?php if ($this->canApplyMsrp()): ?>
+                        <span class="mark msrp">
+                            <?php echo __('ORDER TOTAL WILL BE DISPLAYED BEFORE YOU SUBMIT THE ORDER'); ?>
+                        </span>
+                        <?php else: ?>
+                            <span class="mark">
+                                <?php echo __('Cart Subtotal') ?>
+                            </span>
+                            <div class="amount">
+                                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getSubtotal()) ?>
+                                <?php if ($_subtotalInclTax = $this->getSubtotalInclTax()): ?>
+                                    <span class="amount incl tax">
+                                        <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_subtotalInclTax) ?>
+                                        <?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcText(true) ?>
+                                    </span>
+                                <?php endif; ?>
+                            </div>
+                        <?php endif; ?>
+                    </div>
+                    <?php endif ?>
+                <?php echo $this->getChildHtml('minicart_info') ?>
+                <div class="actions">
+                    <div class="primary">
+                        <?php if ($isPossibleOnepageCheckout): ?>
+                            <?php echo $this->getChildHtml('extra_actions') ?>
+                            <button id="top-cart-btn-checkout" type="button" class="action checkout" title="<?php echo __('Checkout') ?>">
+                                <span><?php echo __('Checkout') ?></span>
+                            </button>
+                        <?php endif; ?>
+                    </div>
+                    <div class="secondary">
+                        <a class="action viewcart" href="<?php echo $this->getUrl('checkout/cart'); ?>">
+                            <span><?php echo __('View cart') ?></span>
+                        </a>
+                    </div>
+                </div>
+            <?php endif ?>
+        </div>
+    </div>
+<?php endif; ?>
+<script type="text/javascript">
+    (function($) {
+        head.js("<?php echo $this->getViewFileUrl('Magento_Checkout::js/sidebar.js') ?>", function() {
+                $('[data-block="minicart"]').sidebar({
+                    checkoutUrl: '<?php echo $this->getCheckoutUrl();?>',
+                    checkoutButton: '#top-cart-btn-checkout',
+                    removeButton: '#mini-cart a.action.delete',
+                    confirmMessage: '<?php echo __('Are you sure you would like to remove this item from the shopping cart?') ?>'
+                });
+            });
+    })(jQuery);
+</script>
+<?php if ($this->getInList()): ?>
+    </li>
+<?php else:  ?>
+    </div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart/noItems.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/cart/noItems.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..1b41606e3f00be97495078884ec8bd4a32a0ca49
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/cart/noItems.phtml
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="cart empty">
+    <?php echo $this->getChildHtml('checkout_cart_empty_widget'); ?>
+    <p><?php echo __('You have no items in your shopping cart.') ?></p>
+    <p><?php echo __('Click <a href="%1">here</a> to continue shopping.', $this->getContinueShoppingUrl()) ?></p>
+    <?php echo $this->getChildHtml('shopping.cart.table.after'); ?>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart/shipping.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/cart/shipping.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..35caee43ceebecf3572512850c505ef190228e76
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/cart/shipping.phtml
@@ -0,0 +1,126 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /** @var $this \Magento\Checkout\Block\Cart\Shipping */ ?>
+<div class="block shipping">
+    <div class="title"><strong><?php echo __('Estimate Shipping and Tax') ?></strong></div>
+    <div class="content">
+    <form action="<?php echo $this->getUrl('checkout/cart/estimatePost') ?>" method="post" id="shipping-zip-form">
+        <fieldset class="fieldset estimate">
+            <p class="field note"><?php echo __('Enter your destination to get a shipping estimate.') ?></p>
+            <div class="field country">
+                <label for="country" class="label"><span><?php echo __('Country') ?></span></label>
+                <div class="control">
+                    <?php echo $this->getDirectoryBlock()->getCountryHtmlSelect($this->getEstimateCountryId()) ?>
+                </div>
+            </div>
+            <?php //if($this->getStateActive()): ?>
+            <div class="field region<?php if ($this->isStateProvinceRequired()) echo ' required' ?>">
+                <label for="region_id" class="label"><span><?php echo __('State/Province') ?></span></label>
+                <div class="control">
+                    <select id="region_id" name="region_id" title="<?php echo __('State/Province') ?>" style="display:none;"<?php echo ($this->isStateProvinceRequired() ? ' class="validate-select"' : '') ?>>
+                        <option value=""><?php echo __('Please select region, state or province') ?></option>
+                    </select>
+                   <input type="text" id="region" name="region" value="<?php echo $this->escapeHtml($this->getEstimateRegion()) ?>"  title="<?php echo __('State/Province') ?>" class="input-text" style="display:none;" />
+                </div>
+            </div>
+            <?php //endif; ?>
+            <?php if($this->getCityActive()): ?>
+            <div class="field city<?php if ($this->isCityRequired()) echo ' required' ?>">
+                <label for="city" class="label"><span><?php echo __('City') ?></span></label>
+                <div class="control">
+                    <input class="input-text<?php if ($this->isCityRequired()):?> required-entry<?php endif;?>" id="city" type="text" name="estimate_city" value="<?php echo $this->escapeHtml($this->getEstimateCity()) ?>" />
+                </div>
+            </div>
+            <?php endif; ?>
+            <div class="field postcode<?php if ($this->isZipCodeRequired()) echo ' required' ?>">
+                <label for="postcode" class="label"><span><?php echo __('Zip/Postal Code') ?></span></label>
+                <div class="control">
+                    <input class="input-text validate-postcode<?php if ($this->isZipCodeRequired()):?> required-entry<?php endif;?>" type="text" id="postcode" name="estimate_postcode" value="<?php echo $this->escapeHtml($this->getEstimatePostcode()) ?>" />
+                </div>
+            </div>
+            <div class="actions">
+                <button type="submit" class="action quote"><span><?php echo __('Get a Quote') ?></span></button>
+            </div>
+        </fieldset>
+    </form>
+    <script type="text/javascript">
+        (function($) {
+            head.js(
+                "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+                "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+                "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+                "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+                "<?php echo $this->getViewFileUrl('Magento_Checkout::js/region-updater.js') ?>",
+                function() {
+                    $('#country').regionUpdater({
+                        optionalRegionAllowed: <?php echo ($this->getConfig('general/region/display_all')? 'true' : 'false'); ?>,
+                        regionListId: '#region_id',
+                        regionInputId: '#region',
+                        postcodeId: '#postcode',
+                        form: $('#shipping-zip-form').validation(),
+                        regionJson: <?php echo $this->helper('Magento\Directory\Helper\Data')->getRegionJson() ?>,
+                        defaultRegion: "<?php echo $this->getEstimateRegionId() ?>",
+                        countriesWithOptionalZip: <?php echo $this->helper('Magento\Directory\Helper\Data')->getCountriesWithOptionalZip(true) ?>
+                    });
+                });
+        })(jQuery);
+    </script>
+    <?php if (($_shippingRateGroups = $this->getEstimateRates())): ?>
+    <form id="co-shipping-method-form" action="<?php echo $this->getUrl('checkout/cart/estimateUpdatePost') ?>">
+        <fieldset class="fieldset rates">
+            <dl class="items methods">
+                <?php foreach ($_shippingRateGroups as $code => $_rates): ?>
+                    <dt class="item title"><span><?php echo $this->escapeHtml($this->getCarrierName($code)) ?></span></dt>
+                    <dd class="item options">
+                    <?php foreach ($_rates as $_rate): ?>
+                        <div class="field choice item<?php if ($_rate->getErrorMessage()) echo ' error-msg';?>">
+                           <?php if ($_rate->getErrorMessage()): ?>
+                                <?php echo $this->escapeHtml($_rate->getErrorMessage()) ?>
+                           <?php else: ?>
+                                <input name="estimate_method" type="radio" value="<?php echo $_rate->getCode() ?>" id="s_method_<?php echo $_rate->getCode() ?>"<?php if($_rate->getCode()===$this->getAddressShippingMethod()) echo ' checked="checked"' ?> class="radio" />
+                                <label class="label" for="s_method_<?php echo $_rate->getCode() ?>">
+                                    <span><?php echo $this->escapeHtml($_rate->getMethodTitle()) ?></span>
+                                    <?php $_excl = $this->getShippingPrice($_rate->getPrice(), $this->helper('Magento\Tax\Helper\Data')->displayShippingPriceIncludingTax()); ?>
+                                    <?php $_incl = $this->getShippingPrice($_rate->getPrice(), true); ?>
+                                    <?php echo $_excl; ?>
+                                    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayShippingBothPrices() && $_incl != $_excl): ?>
+                                        (<?php echo __('Incl. Tax'); ?> <?php echo $_incl; ?>)
+                                    <?php endif; ?>
+                                </label>
+                           <?php endif ?>
+                        </div>
+                    <?php endforeach; ?>
+                    </dd>
+                <?php endforeach; ?>
+            </dl>
+            <div class="actions">
+                <button type="submit" class="action update" name="do" value="<?php echo __('Update Total') ?>"><span><?php echo __('Update Total') ?></span></button>
+            </div>
+        </fieldset>
+    </form>
+    <?php endif; ?>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart/sidebar/default.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/cart/sidebar/default.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..32a7bb3c4aa59a9e34098da88ded5af0c53d9269
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/cart/sidebar/default.phtml
@@ -0,0 +1,352 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_item = $this->getItem() ?>
+<?php $canApplyMsrp = $this->helper('Magento\Catalog\Helper\Data')->canApplyMsrp($_item->getProduct(), \Magento\Catalog\Model\Product\Attribute\Source\Msrp\Type::TYPE_BEFORE_ORDER_CONFIRM); ?>
+<?php $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image')?>
+<li class="item product">
+    <div class="product">
+    <?php if ($this->hasProductUrl()): ?>
+        <a href="<?php echo $this->getProductUrl()?>" title="<?php echo $this->escapeHtml($this->getProductName()) ?>" class="product photo">
+            <?php echo $imageBlock->init($_item->getProduct(), 'mini_cart_product_thumbnail')->toHtml() ?>
+        </a>
+    <?php else: ?>
+        <span class="product photo">
+            <?php echo $imageBlock->init($_item->getProduct(), 'mini_cart_product_thumbnail')->toHtml() ?>
+        </span>
+    <?php endif; ?>
+
+    <div class="product details">
+        <strong class="product name">
+            <?php if ($this->hasProductUrl()): ?>
+                <a href="<?php echo $this->getProductUrl() ?>"><?php echo $this->escapeHtml($this->getProductName()) ?></a>
+            <?php else: ?>
+                <?php echo $this->escapeHtml($this->getProductName()) ?>
+            <?php endif; ?>
+        </strong>
+
+
+        <?php if ($_options = $this->getOptionList()):?>
+            <div class="product options wrapper">
+                <span class="more"><?php echo __('View Details') ?></span>
+
+                <div class="product options details">
+                    <strong class="title"><?php echo __('Options Details'); ?></strong>
+                    <dl class="product options list">
+                        <?php foreach ($_options as $_option) : ?>
+                        <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                        <dd>
+                            <?php if (is_array($_option['value'])): ?>
+                            <?php echo nl2br(implode("\n", $_option['value'])) ?>
+                            <?php else: ?>
+                            <?php echo $_option['value'] ?>
+                            <?php endif; ?>
+                        </dd>
+                        <?php endforeach; ?>
+                    </dl>
+                </div>
+            </div>
+        <?php endif; ?>
+
+        <?php if ($_item->getProduct()->isVisibleInSiteVisibility()):?>
+        <a href="<?php echo $this->getConfigureUrl() ?>" title="<?php echo __('Edit item') ?>" class="action edit"><span><?php echo __('Edit')?></span></a>
+        <?php endif ?>
+
+
+<?php // Prices ?>
+
+<div class="pricing details<?php echo $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices() ? ' complex' : ''; ?>">
+
+
+    <?php if ($canApplyMsrp): ?>
+
+            <div class="rate map">
+                <span class="label"><?php echo __('Price'); ?></span>
+                <span class="value"><?php echo __('See price before order confirmation.'); ?></span>
+            </div>
+
+    <?php else: ?>
+
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+            <div class="rate">
+            <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+                <span class="label excl tax"><?php echo __('Excl. Tax'); ?></span>
+            <?php else: ?>
+                <span class="label display"><?php echo __('Price'); ?></span>
+            <?php endif; ?>
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales')): ?>
+                <span class="value excl tax">
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?>
+                </span>
+            <?php else: ?>
+                <span class="value display">
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()) ?>
+                </span>
+            <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales')): ?>
+
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <div class="rate weee">
+                            <span class="label weee"><?php echo $tax['title']; ?></span>
+                            <span class="value weee"><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span>
+                        </div>
+                    <?php endforeach; ?>
+
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales')): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <div class="rate weee">
+                            <span class="label weee"><?php echo $tax['title']; ?></span>
+                            <span class="value weee"><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                        </div>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales')): ?>
+
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <div class="rate weee">
+                            <span class="label weee"><?php echo $tax['title']; ?></span>
+                            <span class="value weee"><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                        </div>
+                    <?php endforeach; ?>
+
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales')): ?>
+                        <div class="rate weee total">
+                            <span class="label weee"><?php echo __('Total:'); ?></span>
+                            <span class="value weee"><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?></span>
+                        </div>
+                <?php endif; ?>
+            <?php endif; ?>
+        <?php endif; ?>
+
+
+
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+            <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($_item); ?>
+            <div class="rate">
+            <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+                <span class="label tax incl"><?php echo __('Incl. Tax'); ?></span>
+            <?php else: ?>
+                <span class="label display"><?php echo __('Price'); ?></span>
+            <?php endif; ?>
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales')): ?>
+                <span class="value tax incl"><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?></span>
+            <?php else: ?>
+                <span class="value display"><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxDisposition()) ?></span>
+            <?php endif; ?>
+            </div>
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales')): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <div class="rate weee">
+                            <span class="label weee"><?php echo $tax['title']; ?></span>
+                            <span class="value weee"><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span>
+                        </div>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales')): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <div class="rate weee">
+                            <span class="label weee"><?php echo $tax['title']; ?></span>
+                            <span class="value weee"><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                        </div>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales')): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <div class="rate weee">
+                            <span class="label weee"><?php echo $tax['title']; ?></span>
+                            <span class="value weee"><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                        </div>
+                    <?php endforeach; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales')): ?>
+                    <div class="rate weee total">
+                        <span class="label weee tax incl"><?php echo __('Total incl. tax'); ?></span>
+                        <span class="value weee"><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?></span>
+                    </div>
+                <?php endif; ?>
+            <?php endif; ?>
+        <?php endif; ?>
+
+    <?php endif; //Can apply MSRP ?>
+
+    <div class="details qty">
+        <span class="label"><?php echo __('Qty'); ?></span>
+        <span class="value qty"><?php echo $this->getQty() ?></span>
+    </div>
+
+</div>
+
+
+
+
+
+        <div class="product actions">
+            <a href="<?php echo $this->getDeleteUrl() ?>" title="<?php echo __('Remove item') ?>" class="action delete">
+                <span><?php echo __('Remove')?></span>
+            </a>
+        </div>
+    </div>
+
+
+
+
+
+
+<?php /*
+
+
+
+
+
+
+
+        <table cellpadding="0">
+
+        <?php if ($canApplyMsrp): ?>
+
+            <tr><th><?php echo __('Price'); ?></th><td><span class="map-cart-sidebar-item"><?php echo __('See price before order confirmation.'); ?></span></td></tr>
+
+        <?php else: ?>
+
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+            <tr>
+            <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+                <th><?php echo __('Excl. Tax'); ?></th>
+            <?php else: ?>
+                <th><?php echo __('Price'); ?></th>
+            <?php endif; ?>
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales')): ?>
+                <td><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?></td>
+            <?php else: ?>
+                <td><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()) ?></td>
+            <?php endif; ?>
+            </tr>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales')): ?>
+
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <tr>
+                            <th><small><?php echo $tax['title']; ?>:</small></th>
+                            <td><small><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></small></td>
+                        </tr>
+                    <?php endforeach; ?>
+
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales')): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <tr>
+                            <th><small><?php echo $tax['title']; ?></small></th>
+                            <td><small><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></small></td>
+                        </tr>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales')): ?>
+
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <tr>
+                            <th><small><?php echo $tax['title']; ?></small></th>
+                            <td><small><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></small></td>
+                        </tr>
+                    <?php endforeach; ?>
+
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales')): ?>
+                        <tr>
+                            <th><small><?php echo __('Total:'); ?></small></th>
+                            <td><small><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?></small></td>
+                        </tr>
+                <?php endif; ?>
+            <?php endif; ?>
+        <?php endif; ?>
+
+
+
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+            <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($_item); ?>
+            <tr>
+            <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+                <th><?php echo __('Incl. Tax'); ?></th>
+            <?php else: ?>
+                <th><?php echo __('Price'); ?></th>
+            <?php endif; ?>
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales')): ?>
+                <td><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?></td>
+            <?php else: ?>
+                <td><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxDisposition()) ?></td>
+            <?php endif; ?>
+            </tr>
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales')): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <tr>
+                            <th><small><?php echo $tax['title']; ?></small></th>
+                            <td><small><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></small></td>
+                        </tr>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales')): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <tr>
+                            <th><small><?php echo $tax['title']; ?></small></th>
+                            <td><small><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></small></td>
+                        </tr>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales')): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <tr>
+                            <th><small><?php echo $tax['title']; ?></small></th>
+                            <td><small><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></small></td>
+                        </tr>
+                    <?php endforeach; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales')): ?>
+                    <tr>
+                        <th><small><?php echo __('Total incl. tax'); ?></small></th>
+                        <td><small><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?></small></td>
+                    </tr>
+                <?php endif; ?>
+            <?php endif; ?>
+        <?php endif; ?>
+
+        <?php endif; //Can apply MSRP ?>
+            <tr>
+                <th><?php echo __('Qty'); ?></th>
+                <td><?php echo $this->getQty() ?></td>
+            </tr>
+        </table>
+
+        <?php if ($_item->getProduct()->isVisibleInSiteVisibility()):?>
+        <a href="<?php echo $this->getConfigureUrl() ?>" title="<?php echo __('Edit item') ?>" class="btn-edit"><?php echo __('Edit item')?></a>
+        |
+        <?php endif ?>
+        <a href="<?php echo $this->getDeleteUrl() ?>" title="<?php echo __('Remove item') ?>" class="btn-remove"><?php echo __('Remove item')?></a>
+    </div>
+    </div>
+    */ ?>
+
+    </div>
+</li>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/cart/totals.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/cart/totals.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..ea12c71727e504922bdcdb1efecb57b78ec02e06
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/cart/totals.phtml
@@ -0,0 +1,49 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Shopping cart totals template
+ *
+ * @see \Magento\Checkout\Block\Cart\Totals
+ * @var $this \Magento\Checkout\Block\Cart\Totals
+ */
+?>
+<div class="cart totals">
+<?php if ($this->canApplyMsrp()): ?>
+    <div class="cart-msrp-totals"><?php echo __('ORDER TOTAL WILL BE DISPLAYED BEFORE YOU SUBMIT THE ORDER'); ?></div>
+<?php else: ?>
+    <table id="shopping-cart-totals-table" class="table totals">
+        <col />
+        <col width="1" />
+        <tfoot>
+            <?php echo $this->renderTotals('footer'); ?>
+        </tfoot>
+        <tbody>
+            <?php echo $this->renderTotals(); ?>
+        </tbody>
+    </table>
+<?php endif; ?>
+</div>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/js/opcheckout.js b/app/design/frontend/magento_plushe/Magento_Checkout/js/opcheckout.js
new file mode 100644
index 0000000000000000000000000000000000000000..fab21c0893604ed55affae00cbd05eb4436814bb
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/js/opcheckout.js
@@ -0,0 +1,494 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    one page checkout first step
+ * @package     mage
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/*jshint browser:true jquery:true*/
+/*global alert*/
+(function($, window) {
+    'use strict';
+    // Base widget, handle ajax events and first section(Checkout Method) in one page checkout accordion
+    $.widget('mage.opcheckout', {
+        options: {
+            checkout: {
+                loginGuestSelector: '#login\\:guest',
+                loginRegisterSelector: '#login\\:register',
+                loginFormSelector: '#login-form',
+                continueSelector: '#onepage-guest-register-button',
+                registerCustomerPasswordSelector: '#co-billing-form .field.password,#co-billing-form .field.confirm',
+                suggestRegistration: false
+            },
+            sectionSelectorPrefix: '#opc-',
+            billingSection: 'billing',
+            ajaxLoaderPlaceButton: false,
+            updateSelectorPrefix: '#checkout-',
+            updateSelectorSuffix: '-load',
+            backSelector: '.action.back',
+            minBalance: 0.0001
+        },
+
+        _create: function() {
+            var _this = this;
+            this.checkoutPrice = this.options.quoteBaseGrandTotal;
+            if (this.options.checkout.suggestRegistration) {
+                $(this.options.checkout.loginGuestSelector).prop('checked', false);
+                $(this.options.checkout.loginRegisterSelector).prop('checked', true);
+            }
+            this.element
+                .on('click', this.options.checkout.continueSelector, function() {
+                    $.proxy(_this._continue($(this)), _this);
+                })
+                .on('gotoSection', function(event, section) {
+                    $.proxy(_this._ajaxUpdateProgress(section), _this);
+                    _this.element.trigger('enableSection', {selector: _this.options.sectionSelectorPrefix + section});
+                })
+                .on('ajaxError', $.proxy(this._ajaxError, this))
+                .on('click', this.options.backSelector, function() {
+                    _this.element.trigger('enableSection', {selector: '#' + _this.element.find('.active').prev().attr('id')});
+                })
+                .on('click', '[data-action="login-form-submit"]', function() {
+                    $(_this.options.checkout.loginFormSelector).submit();
+                });
+            $(this.options.checkoutProgressContainer).on('click', '[data-goto-section]', $.proxy(function(e) {
+                var gotoSection = $(e.target).data('goto-section');
+                this._ajaxUpdateProgress(gotoSection);
+                this.element.trigger('enableSection', {selector: _this.options.sectionSelectorPrefix + gotoSection});
+                return false;
+            }, this));
+        },
+
+        /**
+         * Callback function for before ajax send event(global)
+         * @private
+         */
+        _ajaxSend: function() {
+            this.element.addClass('loading');
+            var loader = this.element.find('.section.active .please-wait').show();
+            if (this.options.ajaxLoaderPlaceButton) {
+                loader.siblings('.button').hide();
+            }
+        },
+
+        /**
+         * Callback function for ajax complete event(global)
+         * @private
+         */
+        _ajaxComplete: function() {
+            this.element.removeClass('loading');
+            this.element.find('.please-wait').hide();
+            if (this.options.ajaxLoaderPlaceButton) {
+                this.element.find('.button').show();
+            }
+        },
+
+        /**
+         * ajax error for all onepage checkout ajax calls
+         * @private
+         */
+        _ajaxError: function() {
+            window.location.href = this.options.failureUrl;
+        },
+
+        /**
+         * callback function when continue button is clicked
+         * @private
+         * @param elem - continue button
+         * @return {Boolean}
+         */
+        _continue: function(elem) {
+            var json = elem.data('checkout');
+            if (json.isGuestCheckoutAllowed) {
+                if ($(this.options.checkout.loginGuestSelector).is(':checked')) {
+                    this._ajaxContinue(this.options.checkout.saveUrl, {method:'guest'}, this.options.billingSection);
+                    this.element.find(this.options.checkout.registerCustomerPasswordSelector).hide();
+                } else if ($(this.options.checkout.loginRegisterSelector).is(':checked')) {
+                    this._ajaxContinue(this.options.checkout.saveUrl, {method:'register'}, this.options.billingSection);
+                    this.element.find(this.options.checkout.registerCustomerPasswordSelector).show();
+                } else {
+                    alert($.mage.__('Please choose to register or to checkout as a guest'));
+                }
+            }
+            return false;
+        },
+
+        /**
+         * Ajax call to save checkout info to backend and enable next section in accordion
+         * @private
+         * @param url - ajax url
+         * @param data - post data for ajax call
+         * @param gotoSection - the section needs to show after ajax call
+         * @param successCallback - custom callback function in ajax success
+         */
+        _ajaxContinue: function(url, data, gotoSection, successCallback) {
+            $.ajax({
+                url: url,
+                type: 'post',
+                context: this,
+                data: data,
+                dataType: 'json',
+                beforeSend: this._ajaxSend,
+                complete: this._ajaxComplete,
+                success: function(response) {
+                    if (successCallback) {
+                        successCallback.call(this, response);
+                    }
+                    if ($.type(response) === 'object' && !$.isEmptyObject(response)) {
+                        if (response.error) {
+                            var msg = response.message;
+                            if (msg) {
+                                if ($.type(msg) === 'array') {
+                                    msg = msg.join("\n");
+                                }
+                                $(this.options.countrySelector).trigger('change');
+                                alert($.mage.__(msg));
+                            } else {
+                                alert($.mage.__(response.error));
+                            }
+                            return;
+                        }
+                        if (response.redirect) {
+                            $.mage.redirect(response.redirect);
+                            return false;
+                        }
+                        else if (response.success) {
+                            $.mage.redirect(this.options.review.successUrl);
+                            return false;
+                        }
+                        if (response.update_section) {
+                            if (response.update_section.name === 'payment-method' && response.update_section.html.indexOf('data-checkout-price')) {
+                                this.element.find(this.options.payment.form).find('[data-checkout-price]').remove();
+                            }
+                            $(this.options.updateSelectorPrefix + response.update_section.name + this.options.updateSelectorSuffix)
+                                .html($(response.update_section.html)).trigger('contentUpdated');
+                        }
+                        if (response.duplicateBillingInfo) {
+                            $(this.options.shipping.copyBillingSelector).prop('checked', true).trigger('click');
+                            $(this.options.shipping.addressDropdownSelector).val($(this.options.billing.addressDropdownSelector).val()).change();
+                        }
+                        if (response.goto_section) {
+                            this.element.trigger('gotoSection', response.goto_section);
+                        }
+                    } else {
+                        this.element.trigger('gotoSection', gotoSection);
+                    }
+                }
+            });
+        },
+
+        /**
+         * Update progress sidebar content
+         * @private
+         * @param toStep
+         */
+        _ajaxUpdateProgress: function(toStep) {
+            if (toStep) {
+                $.ajax({
+                    url: this.options.progressUrl,
+                    type: 'get',
+                    async: false,
+                    cache: false,
+                    context: this,
+                    data: toStep ? {toStep: toStep} : null,
+                    success: function(response) {
+                        $(this.options.checkoutProgressContainer).html(response);
+                    }
+                });
+            }
+        }
+    });
+
+    // Extension for mage.opcheckout - second section(Billing Information) in one page checkout accordion
+    $.widget('mage.opcheckout', $.mage.opcheckout, {
+        options: {
+            billing: {
+                addressDropdownSelector: '#billing-address-select',
+                newAddressFormSelector: '#billing-new-address-form',
+                continueSelector: '#billing-buttons-container .button',
+                form: '#co-billing-form'
+            }
+        },
+
+        _create: function() {
+            this._super();
+            this.element
+                .on('change', this.options.billing.addressDropdownSelector, $.proxy(function(e) {
+                    this.element.find(this.options.billing.newAddressFormSelector).toggle(!$(e.target).val());
+                }, this))
+                .on('click', this.options.billing.continueSelector, $.proxy(function() {
+                    if ($(this.options.billing.form).validation && $(this.options.billing.form).validation('isValid')) {
+                        this._billingSave();
+                    }
+                }, this))
+                .find(this.options.billing.form).validation();
+        } ,
+
+        _billingSave: function() {
+            this._ajaxContinue(this.options.billing.saveUrl, $(this.options.billing.form).serialize(), false, function() {
+                //Trigger indicating billing save. eg. GiftMessage listens to this to inject gift options
+                this.element.trigger('billingSave');
+            });
+        }
+    });
+
+    // Extension for mage.opcheckout - third section(Shipping Information) in one page checkout accordion
+    $.widget('mage.opcheckout', $.mage.opcheckout, {
+        options: {
+            shipping: {
+                form: '#co-shipping-form',
+                addressDropdownSelector: '#shipping-address-select',
+                newAddressFormSelector: '#shipping-new-address-form',
+                copyBillingSelector: '#shipping\\:same_as_billing',
+                countrySelector: '#shipping\\:country_id',
+                continueSelector:'#shipping-buttons-container .button'
+            }
+        },
+
+        _create: function() {
+            this._super();
+            this.element
+                .on('change', this.options.shipping.addressDropdownSelector, $.proxy(function(e) {
+                    $(this.options.shipping.newAddressFormSelector).toggle(!$(e.target).val());
+                }, this))
+                .on('input propertychange', this.options.shipping.form + ' :input[name]', $.proxy(function() {
+                    $(this.options.shipping.copyBillingSelector).prop('checked', false);
+                }, this))
+                .on('click', this.options.shipping.copyBillingSelector, $.proxy(function(e) {
+                    if ($(e.target).is(':checked')) {
+                        this._billingToShipping();
+                    }
+                }, this))
+                .on('click', this.options.shipping.continueSelector, $.proxy(function() {
+                    if ($(this.options.shipping.form).validation && $(this.options.shipping.form).validation('isValid')) {
+                    this._ajaxContinue(this.options.shipping.saveUrl, $(this.options.shipping.form).serialize(), false, function() {
+                        //Trigger indicating shipping save. eg. GiftMessage listens to this to inject gift options
+                        this.element.trigger('shippingSave');
+                    });
+                    }
+                }, this))
+                .find(this.options.shipping.form).validation();
+        },
+
+        /**
+         * Copy billing address info to shipping address
+         * @private
+         */
+        _billingToShipping: function() {
+            $(':input[name]', this.options.billing.form).each($.proxy(function(key, value) {
+                var fieldObj = $(value.id.replace('billing:', '#shipping\\:'));
+                fieldObj.val($(value).val());
+                if (fieldObj.is("select")) {
+                    fieldObj.trigger('change');
+                }
+            }, this));
+            $(this.options.shipping.copyBillingSelector).prop('checked', true);
+        }
+    });
+
+    // Extension for mage.opcheckout - fourth section(Shipping Method) in one page checkout accordion
+    $.widget('mage.opcheckout', $.mage.opcheckout, {
+        options: {
+            shippingMethod: {
+                continueSelector: '#shipping-method-buttons-container .button',
+                form: '#co-shipping-method-form'
+            }
+        },
+
+        _create: function() {
+            this._super();
+            var _this = this;
+            this.element
+                .on('click', this.options.shippingMethod.continueSelector, $.proxy(function() {
+                    if (this._validateShippingMethod()&&
+                        $(this.options.shippingMethod.form).validation &&
+                        $(this.options.shippingMethod.form).validation('isValid')) {
+                        this._ajaxContinue(this.options.shippingMethod.saveUrl, $(this.options.shippingMethod.form).serialize());
+                    }
+                }, this))
+                .on('click', 'input[name="shipping_method"]', function() {
+                    var selectedPrice = _this.shippingCodePrice[$(this).val()] || 0,
+                        oldPrice = _this.shippingCodePrice[_this.currentShippingMethod] || 0;
+                    _this.checkoutPrice = _this.checkoutPrice - oldPrice + selectedPrice;
+                    _this.currentShippingMethod = $(this).val();
+                })
+                .on('contentUpdated', $.proxy(function() {
+                    this.currentShippingMethod = this.element.find('input[name="shipping_method"]:checked').val();
+                    this.shippingCodePrice = this.element.find('[data-shipping-code-price]').data('shipping-code-price');
+                }, this))
+                .find(this.options.shippingMethod.form).validation();
+        },
+
+        /**
+         * Make sure at least one shipping method is selected
+         * @return {Boolean}
+         * @private
+         */
+        _validateShippingMethod: function() {
+            var methods = this.element.find('[name="shipping_method"]');
+            if (methods.length === 0) {
+                alert($.mage.__('Your order cannot be completed at this time as there is no shipping methods available for it. Please make necessary changes in your shipping address.'));
+                return false;
+            }
+            if (methods.filter(':checked').length) {
+                return true;
+            }
+            alert($.mage.__('Please specify shipping method.'));
+            return false;
+        }
+    });
+
+    // Extension for mage.opcheckout - fifth section(Payment Information) in one page checkout accordion
+    $.widget('mage.opcheckout', $.mage.opcheckout, {
+        options: {
+            payment: {
+                continueSelector: '#payment-buttons-container .button',
+                form: '#co-payment-form',
+                methodsContainer: '#checkout-payment-method-load',
+                freeInput: {
+                    tmpl: '<input id="hidden-free" type="hidden" name="payment[method]" value="free">',
+                    selector: '#hidden-free'
+                }
+            }
+        },
+
+        _create: function() {
+            this._super();
+            this.element
+                .on('click', this.options.payment.continueSelector, $.proxy(function() {
+                    if (this._validatePaymentMethod() &&
+                        $(this.options.payment.form).validation &&
+                        $(this.options.payment.form).validation('isValid')) {
+                        this._ajaxContinue(this.options.payment.saveUrl, $(this.options.payment.form).serialize());
+                    }
+                }, this))
+                .on('updateCheckoutPrice', $.proxy(function(event, data) {
+                    if (data.price) {
+                        this.checkoutPrice += data.price;
+                    }
+                    if (data.totalPrice) {
+                        data.totalPrice = this.checkoutPrice;
+                    }
+                    if (this.checkoutPrice < this.options.minBalance) {
+                        // Add free input field, hide and disable unchecked checkbox payment method and all radio button payment methods
+                        this._disablePaymentMethods();
+                    } else {
+                        // Remove free input field, show all payment method
+                        this._enablePaymentMethods();
+                    }
+                }, this))
+                .on('contentUpdated', this.options.payment.form, $.proxy(function() {
+                    $(this.options.payment.form).find('dd [name^="payment["]').prop('disabled', true);
+                    var checkoutPrice = this.element.find(this.options.payment.form).find('[data-checkout-price]').data('checkout-price');
+                    if ($.isNumeric(checkoutPrice)) {
+                        this.checkoutPrice = checkoutPrice;
+                    }
+                    if (this.checkoutPrice < this.options.minBalance) {
+                        this._disablePaymentMethods();
+                    } else {
+                        this._enablePaymentMethods();
+                    }
+                }, this))
+                .on('click', this.options.payment.form + ' dt input:radio', $.proxy(this._paymentMethodHandler, this))
+                .find(this.options.payment.form).validation();
+        },
+
+        /**
+         * Display payment details when payment method radio button is checked
+         * @private
+         * @param e
+         */
+        _paymentMethodHandler: function(e) {
+            var _this = $(e.target),
+                parentsDl = _this.closest('dl');
+            parentsDl.find('dt input:radio').prop('checked', false);
+            _this.prop('checked', true);
+            parentsDl.find('dd ul').hide().find('[name^="payment["]').prop('disabled', true);
+            _this.parent().nextUntil('dt').find('ul').show().find('[name^="payment["]').prop('disabled', false);
+        },
+
+        /**
+         * make sure one payment method is selected
+         * @private
+         * @return {Boolean}
+         */
+        _validatePaymentMethod: function() {
+            var methods = this.element.find('[name^="payment["]');
+            if (methods.length === 0) {
+                alert($.mage.__('Your order cannot be completed at this time as there is no payment methods available for it.'));
+                return false;
+            }
+            if (this.checkoutPrice < this.options.minBalance) {
+                return true;
+            } else if (methods.filter('input:radio:checked').length) {
+                return true;
+            }
+            alert($.mage.__('Please specify payment method.'));
+            return false;
+        },
+
+        /**
+         * Disable and enable payment methods
+         * @private
+         */
+        _disablePaymentMethods: function() {
+            var paymentForm = $(this.options.payment.form);
+            paymentForm.find('input[name="payment[method]"]').prop('disabled', true);
+            paymentForm.find(this.options.payment.methodsContainer).hide().find('[name^="payment["]').prop('disabled', true);
+            paymentForm.find('input[id^="use"][name^="payment[use"]:not(:checked)').prop('disabled', true).parent().hide();
+            paymentForm.find(this.options.payment.freeInput.selector).remove();
+            $.tmpl(this.options.payment.freeInput.tmpl).appendTo(paymentForm);
+        },
+
+        /**
+         * Enable and enable payment methods
+         * @private
+         */
+        _enablePaymentMethods: function() {
+            var paymentForm = $(this.options.payment.form);
+            paymentForm.find('input[name="payment[method]"]').prop('disabled', false);
+            paymentForm.find(this.options.payment.methodsContainer).show();
+            paymentForm.find('input[id^="use"][name^="payment[use"]:not(:checked)').prop('disabled', false).parent().show();
+            paymentForm.find(this.options.payment.freeInput.selector).remove();
+        }
+    });
+
+    // Extension for mage.opcheckout - last section(Order Review) in one page checkout accordion
+    $.widget('mage.opcheckout', $.mage.opcheckout, {
+        options: {
+            review: {
+                continueSelector: '#review-buttons-container .button'
+            }
+        },
+
+        _create: function() {
+            this._super();
+            this.element
+                .on('click', this.options.review.continueSelector, $.proxy(function() {
+                    if ($(this.options.payment.form).validation &&
+                        $(this.options.payment.form).validation('isValid')) {
+                        this._ajaxContinue(
+                            this.options.review.saveUrl,
+                            $(this.options.payment.form).serialize());
+                    }
+                }, this));
+        }
+    });
+})(jQuery, window);
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_cart_index.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_cart_index.xml
new file mode 100644
index 0000000000000000000000000000000000000000..981ab1723548775e3b86c865e1050517d4078fdb
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_cart_index.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="page_one_column" />
+    <referenceContainer name="checkout.cart.items">
+        <container name="checkout.cart.container" label="invisible" htmlTag="div" htmlClass="cart container" before="-">
+            <container name="cart.summary" label="Cart Summary Container" htmlTag="div" htmlClass="cart summary" after="-">
+                <block class="Magento\Core\Block\Template" name="checkout.cart.summary.title" before="-" template="Magento_Core::text.phtml">
+                    <arguments>
+                        <argument translate="true" name="text" xsi:type="string">Summary</argument>
+                        <argument name="tag" xsi:type="string">strong</argument>
+                        <argument name="attributes" xsi:type="array">
+                            <item name="title" translate="true" xsi:type="string">Summary</item>
+                        </argument>
+                        <argument name="css_class" xsi:type="string">summary title</argument>
+                    </arguments>
+                </block>
+            </container>
+        </container>
+    </referenceContainer>
+    <move element="checkout.cart.form" destination="checkout.cart.container"/>
+    <move element="checkout.cart.shipping" destination="cart.summary"/>
+    <move element="checkout.cart.coupon" destination="cart.summary" />
+    <move element="checkout.cart.totals" destination="cart.summary"/>
+    <move element="checkout.cart.methods.bottom" destination="cart.summary"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6ee5a363eadc0836dd20546da184878c6a27d14e
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_editaddress.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_editaddress.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b99353cee0e184ce30bbb9d17962b151844280f8
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_editaddress.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="checkout_multishipping"/>
+    <update handle="checkout_multishipping_customer_address"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="label" xsi:type="string">Edit Address</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_editbilling.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_editbilling.xml
new file mode 100644
index 0000000000000000000000000000000000000000..024408703e3f6021981088ad69c3f23f861a2003
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_editbilling.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="checkout_multishipping"/>
+    <update handle="checkout_multishipping_customer_address"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="label" xsi:type="string">Change Billing Address</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_editshipping.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_editshipping.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6354c13f57ac58537621b9ac2b952af5d37309f9
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_editshipping.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="checkout_multishipping"/>
+    <update handle="checkout_multishipping_customer_address"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="label" xsi:type="string">Edit Shipping Address</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_newbilling.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_newbilling.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7830a2c990e7f6dc45054fe2fa242a99bef1aad1
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_newbilling.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="checkout_multishipping"/>
+    <update handle="checkout_multishipping_customer_address"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="label" xsi:type="string">Create Billing Address</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_newshipping.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_newshipping.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f9a3309971af37a910d2886d766c763015a6d27c
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_newshipping.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="checkout_multishipping"/>
+    <update handle="checkout_multishipping_customer_address"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="label" xsi:type="string">Create Shipping Address</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_selectbilling.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_selectbilling.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e93e4be3ff0a5f3401ae2a056275abb37879f7da
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_address_selectbilling.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="checkout_multishipping"/>
+    <referenceContainer name="content">
+        <block class="Magento\Checkout\Block\Multishipping\Address\Select" name="checkout_address_select" template="multishipping/address/select.phtml"/>
+    </referenceContainer>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument name="label" translate="true" xsi:type="string">Change Billing Address</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_addresses.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_addresses.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c7e28ffe5a6766ea2bca0c3c78c1b475f440b82f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_addresses.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <container name="additional.product.info" label="Additional Product Info"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="label" xsi:type="string">Ship to Multiple Addresses</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_billing.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_billing.xml
new file mode 100644
index 0000000000000000000000000000000000000000..26afc1048ab20db23ea9003441ea7067e5e1de59
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_billing.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="label" xsi:type="string">Billing Information</argument>
+        </action>
+    </referenceBlock>
+    <referenceBlock name="checkout_billing">
+        <container name="payment_methods_before" label="Payment Methods Before"/>
+        <container name="payment_methods_after" label="Payment Methods After"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_overview.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_overview.xml
new file mode 100644
index 0000000000000000000000000000000000000000..64eb779675a5a74c21c52b8fc60b1300395504d4
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_overview.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="label" xsi:type="string">Review Order</argument>
+        </action>
+    </referenceBlock>
+    <container name="additional.product.info" label="Additional Product Info"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_shipping.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_shipping.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8b7a2719c6ac532cca54ee999db395d4b5f76954
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_shipping.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="title" xsi:type="string">Shipping Information</argument>
+        </action>
+    </referenceBlock>
+    <container name="additional.product.info" label="Additional Product Info"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_success.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_success.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9a4c4da6351b6b306fba32f413dbf20423bf2556
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_multishipping_success.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="title" xsi:type="string">Your order has been received.</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_onepage_paymentmethod.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_onepage_paymentmethod.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9cd39e379f56bd11d369d1f9efdc5a5d1adb3750
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_onepage_paymentmethod.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="payment_method">
+        <block class="Magento\Core\Block\Template" name="checkout.onepage.payment.methods.scripts" as="scripts"/>
+        <block class="Magento\Core\Block\Template" name="checkout.onepage.payment.methods.additional" as="additional"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_onepage_review.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_onepage_review.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0b9179276af83290680cf57f990d34d7d5397f21
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/checkout_onepage_review.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="root">
+        <container name="additional.product.info" after="order_review" label="Additional Product Info"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/default.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/default.xml
new file mode 100644
index 0000000000000000000000000000000000000000..94c94a523fe9b9df7235f716cb912acc1d1cd487
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/default.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <remove name="checkout_cart_link"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_cart_index.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_cart_index.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3ada6793daef55f0453148b7ae53d3f8bfe87122
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_cart_index.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Shopping Cart" type="page" parent="default">
+    <referenceContainer name="content">
+        <block class="Magento\Checkout\Block\Cart" name="checkout.cart" template="cart.phtml">
+            <container name="checkout.cart.items" label="invisible" as="with-items">
+                <block class="Magento\Checkout\Block\Cart" name="checkout.cart.form" as="cart-items" template="cart/form.phtml">
+                    <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="simple" template="cart/item/default.phtml"/>
+                    <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="grouped" template="cart/item/default.phtml"/>
+                    <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" template="cart/item/default.phtml"/>
+                    <container name="checkout.cart.form.before" as="form_before" label="Shopping Cart Items Before" htmlTag="div" htmlClass="rewards"/>
+                    <container name="checkout.cart.widget" as="checkout_cart_widget" label="Shopping Cart Items After"/>
+                </block>
+                <block class="Magento\Checkout\Block\Cart\Shipping" name="checkout.cart.shipping" as="shipping" after="checkout.cart.summary.title" template="cart/shipping.phtml"/>
+                <block class="Magento\Checkout\Block\Cart\Coupon" name="checkout.cart.coupon" as="coupon" after="checkout.cart.shipping" template="cart/coupon.phtml"/>
+                <block class="Magento\Checkout\Block\Cart\Totals" name="checkout.cart.totals" as="totals" template="cart/totals.phtml"/>
+                <block class="Magento\Checkout\Block\Cart" name="checkout.cart.methods.bottom" template="cart/methods.phtml">
+                    <container name="checkout.cart.methods" as="methods" label="Payment Methods After Checkout Button">
+                        <block class="Magento\Checkout\Block\Onepage\Link" name="checkout.cart.methods.onepage.bottom" template="onepage/link.phtml"/>
+                        <block class="Magento\Checkout\Block\Multishipping\Link" name="checkout.cart.methods.multishipping" template="multishipping/link.phtml"/>
+                    </container>
+                </block>
+                <block class="Magento\Checkout\Block\Cart\Crosssell" name="checkout.cart.crosssell" template="Magento_Catalog::product/list/items.phtml" after="-">
+                    <arguments>
+                        <argument name="type" xsi:type="string">crosssell</argument>
+                    </arguments>
+                </block>
+            </container>
+            <container name="checkout.cart.noitems" label="invisible" as="no-items">
+                <block class="Magento\Checkout\Block\Cart" name="checkout.cart.empty" template="cart/noItems.phtml"/>
+                <container name="checkout.cart.empty.widget" as="checkout_cart_empty_widget" label="Empty Shopping Cart Content Before"/>
+            </container>
+        </block>
+    </referenceContainer>
+    <container name="additional.product.info" label="Additional Product Info"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_multishipping_customer_address.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_multishipping_customer_address.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0ea12f489c48ce61410ac9100b15ca7330a64e62
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_multishipping_customer_address.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Multishipping Checkout Customer Address Edit Form" type="page" parent="customer_address_form">
+    <referenceContainer name="content">
+        <block class="Magento\Customer\Block\Address\Edit" name="customer_address_edit" template="address/edit.phtml"/>
+    </referenceContainer>
+    <update handle="customer_form_template_handle"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_onepage_additional.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_onepage_additional.xml
new file mode 100644
index 0000000000000000000000000000000000000000..658ee9f1e97a887917a836dc4bd0c49317222182
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_onepage_additional.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="One Page Checkout Additional Address Form" type="fragment" owner="checkout_onepage_index">
+    <block class="Magento\Page\Block\Html" name="root" output="1" template="page_fragment.phtml">
+        <block class="Magento\Checkout\Block\Onepage\Shipping\Method\Additional" name="shipping_method_available" template="onepage/shipping_method/additional.phtml">
+            <action method="setDontDisplayContainer">
+                <argument name="param" xsi:type="string">1</argument>
+            </action>
+        </block>
+    </block>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_onepage_failure.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_onepage_failure.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2ec8a0fd1243caff980755164e4db6b166e4b606
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_onepage_failure.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="One Page Checkout Failure" type="page" parent="default">
+    <update handle="page_one_column"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="title" xsi:type="string">Your order has been received.</argument>
+        </action>
+    </referenceBlock>
+    <referenceContainer name="content">
+        <block class="Magento\Checkout\Block\Onepage\Failure" name="checkout.failure" template="onepage/failure.phtml"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_onepage_index.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_onepage_index.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d0d050a6d3a7cc8416a481939bda451f3ac45626
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_onepage_index.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="One Page Checkout" type="page" parent="default">
+    <referenceBlock name="root">
+        <action method="setTemplate">
+            <argument name="template" xsi:type="string">1column.phtml</argument>
+        </action>
+    </referenceBlock>
+    <referenceBlock name="head">
+        <block class="Magento\Page\Block\Html\Head\Script" name="magento-checkout-js-opcheckout-js">
+            <arguments>
+                <argument name="file" xsi:type="string">Magento_Checkout::js/opcheckout.js</argument>
+            </arguments>
+        </block>
+    </referenceBlock>
+    <referenceContainer name="content">
+        <container name="checkout.progress.wrapper" label="Checkout Progress Wrapper" htmlTag="div" htmlId="checkout-progress-wrapper">
+            <block class="Magento\Checkout\Block\Onepage\Progress" name="checkout.progress" before="-" template="onepage/progress.phtml"/>
+        </container>
+    </referenceContainer>
+    <referenceContainer name="content">
+        <block class="Magento\Checkout\Block\Onepage" name="checkout.onepage" template="onepage.phtml">
+            <block class="Magento\Checkout\Block\Onepage\Login" name="checkout.onepage.login" as="login" template="onepage/login.phtml">
+                <container name="checkout.onepage.login.before" as="login_before" label="Login/Registration Before" htmlTag="div"/>
+                <container name="form.login.additional.info" label="invisible" as="form_additional_info"/>
+            </block>
+            <block class="Magento\Checkout\Block\Onepage\Billing" name="checkout.onepage.billing" as="billing" template="onepage/billing.phtml">
+                <container name="form.billing.additional.info" label="invisible" as="form_additional_info"/>
+            </block>
+            <block class="Magento\Checkout\Block\Onepage\Shipping" name="checkout.onepage.shipping" as="shipping" template="onepage/shipping.phtml" />
+            <block class="Magento\Checkout\Block\Onepage\Shipping\Method" name="checkout.onepage.shipping_method" as="shipping_method" template="onepage/shipping_method.phtml">
+                <block class="Magento\Checkout\Block\Onepage\Shipping\Method\Available" name="checkout.onepage.shipping_method.available" as="available" template="onepage/shipping_method/available.phtml"/>
+                <block class="Magento\Checkout\Block\Onepage\Shipping\Method\Additional" name="checkout.onepage.shipping_method.additional" as="additional" template="onepage/shipping_method/additional.phtml"/>
+            </block>
+            <block class="Magento\Checkout\Block\Onepage\Payment" name="checkout.onepage.payment" as="payment" template="onepage/payment.phtml">
+                <block class="Magento\Checkout\Block\Onepage\Payment\Methods" name="checkout.payment.methods" as="methods" template="onepage/payment/methods.phtml">
+                    <action method="setMethodFormTemplate">
+                        <argument name="method" xsi:type="string">purchaseorder</argument>
+                        <argument name="template" xsi:type="string">Magento_Payment::form/purchaseorder.phtml</argument>
+                    </action>
+                </block>
+                <block class="Magento\Core\Block\Template" name="checkout.onepage.payment.additional" as="additional"/>
+                <block class="Magento\Core\Block\Template" name="checkout.onepage.payment.methods_additional" as="methods_additional"/>
+            </block>
+            <block class="Magento\Checkout\Block\Onepage\Review" name="checkout.onepage.review" as="review" template="onepage/review.phtml"/>
+        </block>
+    </referenceContainer>
+    <update handle="customer_form_template_handle"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_onepage_success.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_onepage_success.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8eb136e4ea312662e2c57cc6514a4203f3dc4b4d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/checkout_onepage_success.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="One Page Checkout Success" type="page" parent="default">
+    <update handle="page_one_column"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="title" xsi:type="string">Your order has been received.</argument>
+        </action>
+    </referenceBlock>
+    <referenceContainer name="content">
+        <block class="Magento\Checkout\Block\Onepage\Success" name="checkout.success" template="success.phtml"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/default.xml b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/default.xml
new file mode 100644
index 0000000000000000000000000000000000000000..38f1fbec78f27e6a5e7aedc638ed4219f27dd367
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/layout/override/default.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="head.components">
+        <block class="Magento\Core\Block\Template" name="checkout_page_head_components" template="Magento_Checkout::js/components.phtml"/>
+    </referenceBlock>
+    <referenceContainer name="header">
+        <block class="Magento\Checkout\Block\Cart\Sidebar" name="minicart" as="minicart" after="logo" template="cart/minicart.phtml">
+            <block class="Magento\Checkout\Block\Cart\Item\Renderer" as="simple" template="cart/sidebar/default.phtml"/>
+            <block class="Magento\Checkout\Block\Cart\Item\Renderer\Grouped" as="grouped" template="cart/sidebar/default.phtml"/>
+            <block class="Magento\Checkout\Block\Cart\Item\Renderer\Configurable" as="configurable" template="cart/sidebar/default.phtml"/>
+            <container name="minicart.extra.info" as="minicart_info" label="My Cart Extra info"/>
+            <container name="topCart.extra_actions" as="extra_actions" label="My Cart Extra Actions"/>
+        </block>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/address/select.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/address/select.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..91a0dd3b6de0de8217a083b4e72daab891a6c236
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/address/select.phtml
@@ -0,0 +1,60 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="multicheckout block change billing">
+    <div class="actions">
+        <button type="button" class="action add" role="add-address" title="<?php echo __('Add New Address') ?>"><span><?php echo __('Add New Address') ?></span></button>
+    </div>
+    <?php $_index=0 ?>
+    <?php foreach ($this->getAddressCollection() as $_address): ?>
+        <div class="box billing<?php if($_index%2==0): ?> odd<?php endif; ?>">
+            <address>
+                <?php echo $_address->format('html') ?>
+                <?php if($this->isAddressDefaultBilling($_address)): ?>
+                    <br /><strong><?php echo __('Default Billing') ?></strong>
+                <?php endif; ?>
+                <?php if($this->isAddressDefaultShipping($_address)): ?>
+                    <br /><strong><?php echo __('Default Shipping') ?></strong>
+                <?php endif; ?>
+            </address>
+            <div class="actions">
+                <a href="<?php echo $this->getEditAddressUrl($_address) ?>" class="action edit"><span><?php echo __('Edit Address') ?></span></a>
+                <a href="<?php echo $this->getSetAddressUrl($_address) ?>" class="action select"><span><?php echo __('Select Address') ?></span></a>
+            </div>
+        </div>
+        <?php $_index++ ?>
+    <?php endforeach; ?>
+    <div class="actions">
+        <a href="<?php echo $this->getBackUrl() ?>" class="action back"><span><?php echo __('Back to Billing Information') ?></span></a>
+    </div>
+</div>
+<script type="text/javascript">
+    head.js("<?php echo $this->getViewFileUrl('Magento_Customer::address.js'); ?>", function() {
+        jQuery('.actions').address({
+            addAddress: "button[role='add-address']",
+            addAddressLocation: '<?php echo $this->getAddNewUrl() ?>'
+        });
+    });
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/addresses.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/addresses.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..6c8f5f322c3049bd56347eda2bbac4172a0bf90b
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/addresses.phtml
@@ -0,0 +1,92 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Ship to multiple address template
+ *
+ * @see \Magento\Checkout\Block\Multishipping\Addresses
+ */
+?>
+<form id="checkout_multishipping_form" action="<?php echo $this->getPostActionUrl() ?>" method="post" class="multicheckout address form">
+    <div class="title">
+        <strong><?php echo __('Please select a shipping address for applicable items.') ?></strong>
+        <button type="button" title="<?php echo __('Enter a New Address') ?>" class="action add" data-role="add-new-address"><span><?php echo __('Enter a New Address') ?></span></button>
+    </div>
+    <input type="hidden" name="continue" value="0" id="can_continue_flag"/>
+    <input type="hidden" name="new_address" value="0" id="add_new_address_flag"/>
+    <table class="items data" id="multiship-addresses-table">
+        <thead>
+        <tr>
+            <th class="col product"><?php echo __('Product') ?></th>
+            <th class="col qty"><?php echo __('Qty') ?></th>
+            <th class="col address"><?php echo __('Send To') ?></th>
+            <th class="col delete">&nbsp;</th>
+        </tr>
+        </thead>
+        <tbody>
+        <?php foreach ($this->getItems() as $_index => $_item): ?>
+            <?php if ($_item->getQuoteItem()) : ?>
+                <tr>
+                    <td class="col product"><?php echo $this->getItemHtml($_item->getQuoteItem()) ?></td>
+                    <td class="col qty">
+                        <input type="text" name="ship[<?php echo $_index ?>][<?php echo $_item->getQuoteItemId() ?>][qty]" value="<?php echo $this->escapeHtml($_item->getQty()) ?>" size="2" class="input-text qty" data-validate="{number: true}"/>
+                    </td>
+                    <td class="col address">
+                        <?php if ($_item->getProduct()->getIsVirtual()): ?>
+                            <div class="applicable"><?php echo __('Shipping selection is not applicable.'); ?></div>
+                        <?php else: ?>
+                            <?php echo $this->getAddressesHtmlSelect($_item, $_index); ?>
+                        <?php endif; ?>
+                    </td>
+                    <td class="col delete">
+                        <a href="<?php echo $this->getItemDeleteUrl($_item) ?>" title="<?php echo __('Remove Item') ?>" class="action delete">
+                            <span><?php echo __('Remove item') ?></span>
+                        </a>
+                    </td>
+                </tr>
+            <?php endif; ?>
+        <?php endforeach; ?>
+        </tbody>
+    </table>
+    <div class="actions">
+        <a href="<?php echo $this->getBackUrl() ?>" class="action back"><span><?php echo __('Back to Shopping Cart') ?></span></a>
+        <button type="submit" class="action update" data-role="can-continue" data-flag="0"><span><?php echo __('Update Qty &amp; Addresses') ?></span></button>
+        <button type="submit" title="<?php echo __('Continue to Shipping Information') ?>" class="action continue<?php if ($this->isContinueDisabled()):?> disabled<?php endif; ?>" data-role="can-continue" data-flag="1"<?php if ($this->isContinueDisabled()):?> disabled="disabled"<?php endif; ?>><span><?php echo __('Continue to Shipping Information') ?></span></button>
+    </div>
+</form>
+
+<script type="text/javascript">
+    head.js(
+        "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+        "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+        "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+        "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+        "<?php echo $this->getViewFileUrl('Magento_Checkout::js/multi-shipping.js') ?>",
+        function () {
+            jQuery('#checkout_multishipping_form').multiShipping().validation();
+        }
+    );
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/agreements.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/agreements.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..c2d5797a9f64653b437b54b9d564e554ce60b7d3
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/agreements.phtml
@@ -0,0 +1,49 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * @see \Magento\Checkout\Block\Agreements
+ */
+?>
+<?php  if (!$this->getAgreements()) return;  ?>
+<ol id="checkout-agreements" class="checkout agreements">
+<?php foreach ($this->getAgreements() as $_a): ?>
+    <li class="item">
+        <div class="agreement"<?php echo ($_a->getContentHeight() ? ' style="height:' . $_a->getContentHeight() . '"' : '')?>>
+            <?php if ($_a->getIsHtml()):?>
+                <?php echo $_a->getContent() ?>
+            <?php else:?>
+                <?php echo nl2br($this->escapeHtml($_a->getContent())) ?>
+            <?php endif; ?>
+        </div>
+        <div class="field choice">
+            <input type="checkbox" id="agreement-<?php echo $_a->getId()?>" name="agreement[<?php echo $_a->getId()?>]" value="1" title="<?php echo $this->escapeHtml($_a->getCheckboxText()) ?>" class="checkbox" />
+            <label for="agreement-<?php echo $_a->getId()?>" class="label"><?php echo $_a->getIsHtml() ? $_a->getCheckboxText() : $this->escapeHtml($_a->getCheckboxText()) ?></label>
+        </div>
+    </li>
+<?php endforeach ?>
+</ol>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/billing.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/billing.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..e9e312eb177c750f327a7a76c09aeea6f6b2618a
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/billing.phtml
@@ -0,0 +1,98 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Multishipping checkout billing information
+ *
+ * @see \Magento\Checkout\Block\Multishipping\Billing
+ */
+?>
+<form action="<?php echo $this->getPostActionUrl() ?>" method="post" id="multishipping-billing-form" class="form multicheckout billing">
+    <div class="block billing">
+        <div class="box address">
+            <strong class="subtitle">
+                <span><?php echo __('Billing Address') ?></span>
+                <a href="<?php echo $this->getSelectAddressUrl() ?>" class="action"><span><?php echo __('Change') ?></span></a>
+            </strong>
+            <?php $_address = $this->getAddress() ?>
+            <address><?php echo $_address->format('html') ?></address>
+        </div>
+        <div class="box method">
+            <strong class="subtitle"><span><?php echo __('Payment Method') ?></span></strong>
+            <?php echo $this->getChildHtml('payment_methods_before') ?>
+            <?php /* Payment methods forms list */ ?>
+            <dl class="sp-methods" id="payment-methods">
+                <?php
+                    $_methods       = $this->getMethods();
+                    $_methodsCount  = count($_methods);
+                ?>
+                <?php foreach ($_methods as $_method): $_code = $_method->getCode() ?>
+                    <dt>
+                        <?php if ($_methodsCount > 1): ?>
+                            <input type="radio" id="p_method_<?php echo $_code ?>" value="<?php echo $_code ?>" name="payment[method]" title="<?php echo $this->escapeHtml($_method->getTitle()) ?>" <?php if ($this->getSelectedMethodCode() == $_code): ?> checked="checked"<?php endif; ?> class="radio"/>
+                        <?php else : ?>
+                            <input type="radio" id="p_method_<?php echo $_code ?>" value="<?php echo $_code ?>" name="payment[method]" checked="checked" class="radio solo method"/>
+                        <?php endif; ?>
+                        <label for="p_method_<?php echo $_code ?>"><?php echo $this->escapeHtml($_method->getTitle()) ?></label>
+                    </dt>
+                    <?php if ($html = $this->getChildHtml('payment.method.' . $_code)) : ?>
+                        <dd>
+                            <?php echo $html; ?>
+                        </dd>
+                    <?php endif; ?>
+                <?php endforeach; ?>
+            </dl>
+            <?php echo $this->getChildHtml('payment_methods_after') ?>
+            <?php echo $this->getChildHtml('checkout_billing_items') ?>
+        </div>
+    </div>
+    <div class="actions">
+        <a href="<?php echo $this->getBackUrl() ?>" class="action back"><span><?php echo __('Back to Shipping Information') ?></span></a>
+        <button id="payment-continue" type="submit" class="action continue"><span><?php echo __('Continue to Review Your Order') ?></span></button>
+    </div>
+</form>
+<script type="text/javascript">
+    head.js(
+        "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+        "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+        "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+        "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>",
+        "<?php echo $this->getViewFileUrl('Magento_Checkout::js/payment.js') ?>",
+        function() {
+            jQuery('#multishipping-billing-form').payment({
+                checkoutPrice: <?php echo (float)$this->getQuoteBaseGrandTotal(); ?>
+            }).validation({
+                errorPlacement: function(error, element) {
+                    if (element.attr('data-validate') && element.attr('data-validate').indexOf('validate-cc-ukss') >= 0) {
+                        element.parents('form').find('[data-validation-msg="validate-cc-ukss"]').html(error);
+                    } else {
+                        element.after(error);
+                    }
+                }
+            });
+        });
+</script>
+
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/billing/items.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/billing/items.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..25a6d9d17e64e11322938fe02418e8037112bcc5
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/billing/items.phtml
@@ -0,0 +1,52 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if ($this->getQuote()->hasVirtualItems()): ?>
+<div class="block other">
+    <div class="title"><strong><?php echo __('Other items in your order') ?></strong></div>
+    <div class="content">
+        <strong class="subtitle">
+            <span><?php echo __('Items') ?></span>
+            <a href="<?php echo $this->getVirtualProductEditUrl() ?>" class="action edit"><span><?php echo __('Edit Items') ?></></a>
+        </strong>
+        <table class="items data" id="unavailable-shipping-table">
+            <thead>
+                <tr>
+                    <th class="col item"><?php echo __('Product Name') ?></th>
+                    <th class="col qty"><?php echo __('Qty') ?></th>
+                </tr>
+            </thead>
+            <tbody>
+            <?php foreach ($this->getVirtualQuoteItems() as $_item): ?>
+                <tr>
+                    <td class="col item"><?php echo $this->getItemHtml($_item) ?></td>
+                    <td class="col qty"><?php echo $_item->getQty() ?></td>
+                </tr>
+            <?php endforeach; ?>
+            </tbody>
+        </table>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/item/default.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/item/default.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..3b4ffb1fea8db24bace4937af3b892b16a34c290
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/item/default.phtml
@@ -0,0 +1,47 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="product details">
+    <strong class="product name"><a href="<?php echo $this->getProductUrl() ?>"><?php echo $this->escapeHtml($this->getProductName()) ?></a></strong>
+    <?php if ($_options = $this->getOptionList()): ?>
+        <dl class="item options">
+            <?php foreach ($_options as $_option) : ?>
+                <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+                <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>><?php echo $_formatedOptionValue['value'] ?>
+                    <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                        <dl class="item options">
+                            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                            <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                        </dl>
+                    <?php endif; ?>
+                </dd>
+            <?php endforeach; ?>
+        </dl>
+    <?php endif; ?>
+    <?php if ($addtInfoBlock = $this->getProductAdditionalInformationBlock()): ?>
+        <?php echo $addtInfoBlock->setItem($this->getItem())->toHtml() ?>
+    <?php endif; ?>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/link.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/link.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..6d72e1a90090547a0e6fbda69b7543eb5b823f71
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/link.phtml
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<a class="action multicheckout" href="<?php echo $this->getCheckoutUrl()?>" title="<?php echo __('Checkout with Multiple Addresses');?>"><span><?php echo __('Checkout with Multiple Addresses');?></span></a>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/overview.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/overview.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..781504d434a7ea7c0e4bdbefde485f0540b07964
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/overview.phtml
@@ -0,0 +1,186 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /** @var $this \Magento\Checkout\Block\Multishipping\Overview */ ?>
+<form action="<?php echo $this->getPostActionUrl() ?>" method="post" id="review-order-form" class="form multicheckout overview">
+    <div class="block billing">
+        <div class="title"><strong><?php echo __('Billing Information') ?></strong></div>
+        <div class="box address">
+            <?php $_address=$this->getBillingAddress() ?>
+            <strong class="subtitle">
+                <span><?php echo __('Billing Address') ?></span>
+                <a href="<?php echo $this->getEditBillingAddressUrl($_address) ?>" class="action edit"><span><?php echo __('Change') ?></span></a>
+            </strong>
+            <address>
+                <?php echo $_address->format('html') ?>
+            </address>
+        </div>
+        <div class="box method">
+            <strong class="subtitle">
+                <span><?php echo __('Payment Method') ?></span>
+                <a href="<?php echo $this->getEditBillingUrl() ?>" class="action edit"><span><?php echo __('Change') ?></span></a>
+            </strong>
+            <div class="content">
+                <input type="hidden" name="payment[cc_number]" value="<?php echo $this->escapeHtml($this->getPayment()->getCcNumber())?>" />
+                <input type="hidden" name="payment[cc_cid]" value="<?php echo $this->escapeHtml($this->getPayment()->getCcCid())?>" />
+                <?php echo $this->getPaymentHtml() ?>
+            </div>
+        </div>
+    </div>
+    <div class="block shipping">
+        <div class="title"><strong><?php echo __('Shipping Information') ?></strong></div>
+        <?php $mergedCells = ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices() ? 2 : 1); ?>
+        <?php foreach ($this->getShippingAddresses() as $_index => $_address): ?>
+            <div class="content">
+            <div class="title">
+                <strong><?php echo __('Address %1 of %2', ($_index+1), $this->getShippingAddressCount()) ?></strong>
+            </div>
+            <div class="box address">
+                <strong class="subtitle">
+                    <span><?php echo __('Shipping To') ?></span>
+                    <a href="<?php echo $this->getEditShippingAddressUrl($_address) ?>" class="action edit"><span><?php echo __('Change') ?></span></a>
+                </strong>
+                <address>
+                    <?php echo $_address->format('html') ?>
+                </address>
+            </div>
+            <div class="box method">
+                <strong class="subtitle">
+                    <span><?php echo __('Shipping Method') ?></span>
+                    <a href="<?php echo $this->getEditShippingUrl() ?>" class="action edit"><span><?php echo __('Change') ?></span></a>
+                </strong>
+                <?php if($_rate=$this->getShippingAddressRate($_address)): ?>
+                    <p>
+                        <?php echo $this->escapeHtml($_rate->getCarrierTitle()) ?> (<?php echo $this->escapeHtml($_rate->getMethodTitle()) ?>)
+                        <?php $_excl = $this->getShippingPriceExclTax($_address); ?>
+                        <?php $_incl = $this->getShippingPriceInclTax($_address); ?>
+
+                        <?php echo $_excl; ?>
+                        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayShippingBothPrices() && $_incl != $_excl): ?>
+                            (<?php echo __('Incl. Tax'); ?> <?php echo $_incl; ?>)
+                        <?php endif; ?>
+                    </p>
+                <?php endif; ?>
+            </div>
+            <div class="box items">
+                <strong class="subtitle">
+                    <span><?php echo __('Items') ?></span>
+                    <a href="<?php echo $this->getAddressesEditUrl() ?>" class="action edit"><span><?php echo __('Edit Items') ?></span></a>
+                </strong>
+                <table class="items data" id="overview-table-<?php echo $_address->getId() ?>">
+                    <thead>
+                    <tr>
+                        <th rowspan="<?php echo $mergedCells; ?>" class="col item"><?php echo __('Product Name') ?></th>
+                        <th colspan="<?php echo $mergedCells; ?>" class="col price"><?php echo __('Price') ?></th>
+                        <th rowspan="<?php echo $mergedCells; ?>" class="col qty"><?php echo __('Qty') ?></th>
+                        <th colspan="<?php echo $mergedCells; ?>" class="col subtotal"><?php echo __('Subtotal') ?></th>
+                    </tr>
+                    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+                        <tr>
+                            <th class="col price excl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
+                            <th class="col price incl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
+                            <th class="col subtotal excl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
+                            <th class="col subtotal incl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
+                        </tr>
+                    <?php endif; ?>
+                    </thead>
+                    <tfoot>
+                        <?php echo $this->renderTotals($this->getShippingAddressTotals($_address)); ?>
+                    </tfoot>
+                    <tbody>
+                        <?php foreach ($this->getShippingAddressItems($_address) as $_item): ?>
+                            <?php echo $this->getRowItemHtml($_item); ?>
+                        <?php endforeach; ?>
+                    </tbody>
+                </table>
+            </div>
+            <script type="text/javascript">jQuery('#overview-table-<?php echo $_address->getId() ?>').decorate('table')</script>
+        </div>
+            <?php if($this->getShippingAddressCount()!=$_index+1): ?>
+        <?php endif; ?>
+        <?php endforeach; ?>
+    </div>
+
+    <?php if ($this->getQuote()->hasVirtualItems()): ?>
+    <div class="block other">
+        <div class="title"><strong><?php echo __('Other items in your order') ?></strong></div>
+        <div class="content">
+            <strong class="subtitle">
+                <span><?php echo __('Items') ?></span>
+                <a href="<?php echo $this->getVirtualProductEditUrl() ?>" class="action edit"><span><?php echo __('Edit Items') ?></span></a>
+            </strong>
+            <?php $mergedCells = ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices() ? 2 : 1); ?>
+            <table class="items data" id="virtual-overview-table">
+                <thead>
+                    <tr>
+                        <th rowspan="<?php echo $mergedCells; ?>" class="col item"><?php echo __('Product Name') ?></th>
+                        <th colspan="<?php echo $mergedCells; ?>" class="col price"><?php echo __('Price') ?></th>
+                        <th rowspan="<?php echo $mergedCells; ?>" class="col qty"><?php echo __('Qty') ?></th>
+                        <th colspan="<?php echo $mergedCells; ?>" class="col subtotal"><?php echo __('Subtotal') ?></th>
+                    </tr>
+                    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+                    <tr>
+                        <th class="col price excl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
+                        <th class="col price incl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
+                        <th class="col subtotal excl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
+                        <th class="col subtotal incl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
+                    </tr>
+                    <?php endif; ?>
+                </thead>
+                <tfoot>
+                    <?php echo $this->renderTotals($this->getBillinAddressTotals()); ?>
+                </tfoot>
+                <tbody>
+                    <?php foreach ($this->getVirtualItems() as $_item): ?>
+                        <?php echo $this->getRowItemHtml($_item); ?>
+                    <?php endforeach; ?>
+                </tbody>
+            </table>
+        </div>
+    </div>
+    <?php endif; ?>
+
+    <?php echo $this->getChildHtml('items_after'); ?>
+
+    <div id="checkout-review-submit" class="checkout review">
+        <?php echo $this->getChildHtml('agreements') ?>
+        <div class="grand total">
+            <strong class="label"><?php echo __('Grand Total:') ?></strong>
+            <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotal()) ?>
+        </div>
+        <div class="actions" id="review-buttons-container">
+            <a href="<?php echo $this->getBackUrl() ?>" class="action back"><span><?php echo __('Back to Billing Information') ?></span></a>
+            <button type="submit" class="action submit" id="review-button"><span><?php echo __('Place Order') ?></span></button>
+            <span id="review-please-wait" class="please-wait load indicator" style="display:none;">
+                <span><?php echo __('Submitting order information...') ?></span>
+            </span>
+        </div>
+    </div>
+</form>
+<script type="text/javascript">
+    head.js("<?php echo $this->getViewFileUrl('Magento_Checkout::js/overview.js')?>", function() {
+        jQuery('#review-order-form').orderOverview();
+    });
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/overview/item.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/overview/item.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..d7cb049a107c014e18046e15c7fdca1b7fa6340a
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/overview/item.phtml
@@ -0,0 +1,216 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Quote Item row html
+ *
+ * @see \Magento\Checkout\Block\Cart\Item\Renderer
+ */
+?>
+<?php $_item = $this->getItem() ?>
+<tr>
+    <td class="col item"><?php echo $this->getRenderedBlock()->getItemHtml($_item) ?></td>
+<?php /* Excluding Tax */ ?>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td class="col price excl tax">
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()) ?>
+            <?php endif; ?>
+        </span>
+
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="eunit-item-tax-details<?php echo $_item->getId(); ?>" style="display: none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                    </small>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+<?php /* // Excluding Tax */ ?>
+
+<?php /* Including Tax */ ?>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td class="col price incll tax">
+        <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($_item); ?>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxDisposition()) ?>
+            <?php endif; ?>
+        </span>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="unit-item-tax-details<?php echo $_item->getId(); ?>" style="display: none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+
+    </td>
+    <?php endif; ?>
+<?php /* // Including Tax */ ?>
+    <td class="col qty"><?php echo $_item->getQty()*1 ?></td>
+<?php /* Excluding Tax Subtotal */ ?>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td class="col subtotal excl tax">
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()) ?>
+            <?php endif; ?>
+
+        </span>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display: none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="weee"><?php echo __('Total'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+<?php /* //Excluding Tax Subtotal */ ?>
+
+<?php /* Including Tax Subtotal */ ?>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td class="col subtotal incl tax">
+        <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($_item); ?>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxRowDisposition()) ?>
+            <?php endif; ?>
+        </span>
+
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="subtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display: none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="weee"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+<?php /* //Including Tax Subtotal */ ?>
+</tr>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/shipping.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/shipping.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..9725a84bc7020b4e649d867459171aa1e6ede1fe
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/shipping.phtml
@@ -0,0 +1,118 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Multishipping checkout shipping template
+ *
+ * @see \Magento\Checkout\Block\Multishipping\Shipping
+ * @var $this \Magento\Checkout\Block\Multishipping\Shipping
+ */
+?>
+<form action="<?php echo $this->getPostActionUrl() ?>" method="post" id="shipping_method_form" class="form multicheckout shipping">
+    <div class="title">
+        <strong><?php echo __('Select Shipping Method') ?></strong>
+    </div>
+    <?php foreach ($this->getAddresses() as $_index => $_address): ?>
+    <div class="block shipping">
+        <div class="title"><strong><?php echo __('Address %1 of %2', ($_index+1), $this->getAddressCount()) ?></strong></div>
+        <div class="content">
+            <div class="box address">
+                <strong class="subtitle">
+                    <span><?php echo __('Shipping To') ?></span>
+                    <a href="<?php echo $this->getAddressEditUrl($_address) ?>" class="action edit"><span><?php echo __('Change') ?></span></a>
+                </strong>
+                <address><?php echo $_address->format('html') ?></address>
+            </div>
+            <div class="box method">
+                <strong class="subtitle">
+                    <span><?php echo __('Shipping Method') ?></span>
+                </strong>
+                <?php if (!($_shippingRateGroups = $this->getShippingRates($_address))): ?>
+                    <p><?php echo __('Sorry, no quotes are available for this order at this time.') ?></p>
+                <?php else: ?>
+                <dl class="sp-methods items methods">
+                    <?php $_sole = count($_shippingRateGroups) == 1; foreach ($_shippingRateGroups as $code => $_rates): ?>
+                        <dt class="item title"><?php echo $this->escapeHtml($this->getCarrierName($code)) ?></dt>
+                        <dd class="item options">
+                            <?php $_sole = $_sole && count($_rates) == 1; foreach ($_rates as $_rate): ?>
+                                <div class="field choice">
+                                   <?php if ($_rate->getErrorMessage()): ?>
+                                            <strong><?php echo $this->escapeHtml($_rate->getCarrierTitle()) ?>: <?php echo $this->escapeHtml($_rate->getErrorMessage()) ?></strong>
+                                       <?php else: ?>
+                                            <?php if ($_sole) : ?>
+                                            <input type="radio" name="shipping_method[<?php echo $_address->getId() ?>]" value="<?php echo $this->escapeHtml($_rate->getCode()) ?>" id="s_method_<?php echo $_address->getId() ?>_<?php echo $_rate->getCode() ?>" class="radio solo method" checked="checked"/>
+                                            <?php else: ?>
+                                            <input type="radio" name="shipping_method[<?php echo $_address->getId() ?>]" value="<?php echo $_rate->getCode() ?>" id="s_method_<?php echo $_address->getId() ?>_<?php echo $_rate->getCode() ?>"<?php if($_rate->getCode()===$this->getAddressShippingMethod($_address)) echo ' checked="checked"' ?> class="radio" />
+                                            <?php endif; ?>
+                                            <label for="s_method_<?php echo $_address->getId() ?>_<?php echo $_rate->getCode() ?>"><?php echo $this->escapeHtml($_rate->getMethodTitle()) ?>
+                                            <?php $_excl = $this->getShippingPrice($_address, $_rate->getPrice(), $this->helper('Magento\Tax\Helper\Data')->displayShippingPriceIncludingTax()); ?>
+                                            <?php $_incl = $this->getShippingPrice($_address, $_rate->getPrice(), true); ?>
+                                            <?php echo $_excl; ?>
+                                            <?php if ($this->helper('Magento\Tax\Helper\Data')->displayShippingBothPrices() && $_incl != $_excl): ?>
+                                                (<?php echo __('Incl. Tax'); ?> <?php echo $_incl; ?>)
+                                            <?php endif; ?>
+                                            </label>
+                                   <?php endif ?>
+                                </div>
+                            <?php endforeach; ?>
+                        </dd>
+                    <?php endforeach; ?>
+                </dl>
+                <?php endif; ?>
+            </div>
+            <div class="box items">
+                <?php echo $this->helper('Magento\GiftMessage\Helper\Message')->getInline('multishipping_adress_checkbox', $_address); ?>
+                <strong class="subtitle">
+                    <span><?php echo __('Items') ?></span>
+                    <a href="<?php echo $this->getItemsEditUrl($_address) ?>" class="action edit"><span><?php echo __('Edit Items') ?></span></a>
+                </strong>
+                <table class="items data" id="shipping-table-<?php echo $_address->getId() ?>">
+                    <thead>
+                        <tr>
+                            <th class="col item"><?php echo __('Product Name') ?></th>
+                            <th class="col qty"><?php echo __('Qty') ?></th>
+                        </tr>
+                    </thead>
+                    <tbody>
+                    <?php foreach ($this->getAddressItems($_address) as $_item): ?>
+                        <tr>
+                            <td class="col item"><?php echo $this->getItemHtml($_item->getQuoteItem()) ?></td>
+                            <td class="col qty"><?php echo $_item->getQty() ?></td>
+                        </tr>
+                    <?php endforeach; ?>
+                    </tbody>
+                </table>
+                <?php echo $this->helper('Magento\GiftMessage\Helper\Message')->getInline('multishipping_address', $_address); ?>
+            </div>
+        </div>
+    </div>
+    <?php endforeach; ?>
+    <?php echo $this->getChildHtml('checkout_billing_items') ?>
+    <div class="actions">
+        <a href="<?php echo $this->getBackUrl() ?>" class="action back"><span><?php echo __('Back to Select Addresses') ?></span></a>
+        <button class="action continue" type="submit"><span><?php echo __('Continue to Billing Information') ?></span></button>
+    </div>
+</form>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/state.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/state.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..e718013b82cf764921affea3b70cf2ee3e642c09
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/state.phtml
@@ -0,0 +1,38 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Mustishipping state
+ *
+ * @see \Magento\Checkout\Block\Multishipping\State
+ */
+?>
+<ul class="block multicheckout progress" id="checkout-progress-state">
+    <?php foreach ($this->getSteps() as $_step): ?>
+        <li title="<?php echo $_step->getLabel() ?>"<?php if($_step->getIsActive()): ?> class="active"<?php endif; ?>><span><?php echo $_step->getLabel() ?></span></li>
+    <?php endforeach; ?>
+</ul>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/success.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/success.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..51ef877cc16d55d41325f0686889d541da4a7250
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/multishipping/success.phtml
@@ -0,0 +1,45 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="multicheckout success">
+    <h2 class="subtitle"><?php echo __('Thank you for your purchase!') ?></h2>
+    <p><?php echo __('Thanks for your order. We\'ll send you emails with order details and tracking information.') ?></p>
+    <?php if($_orderIds = $this->getOrderIds()): ?>
+    <p>
+        <?php $flag = false ?>
+        <?php echo __('Your order number is ') ?>
+        <?php foreach ($_orderIds as $orderId=>$incrementId): ?>
+            <?php if ($flag): ?><?php echo ', ' ?><?php endif; ?>
+            <?php $flag = true ?>
+            <a href="<?php echo $this->getViewOrderUrl($orderId) ?>"><?php echo $incrementId ?></a>
+        <?php endforeach; ?>
+    </p>
+    <?php endif; ?>
+    <?php echo $this->getChildHtml() ?>
+    <div class="actions">
+        <a class="action continue" title="<?php echo __('Continue Shopping') ?>" href="<?php echo $this->getContinueUrl() ?>"><span><?php echo __('Continue Shopping') ?></span></a>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..7e00b188d24d41d9546b6dee7ee6c66e40e01a35
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/onepage.phtml
@@ -0,0 +1,94 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+$_paymentBlock = $this->getLayout()->getBlock('checkout.onepage.payment');
+$_registerParam = $this->getRequest()->getParam('register');
+?>
+<div class="opc wrapper">
+    <ol class="opc" id="checkoutSteps">
+    <?php $i=0; foreach($this->getSteps() as $_stepId => $_stepInfo): ?>
+    <?php if (!$this->getChildBlock($_stepId) || !$this->getChildBlock($_stepId)->isShow()): continue; endif; $i++ ?>
+        <li id="opc-<?php echo $_stepId ?>" class="section<?php echo !empty($_stepInfo['allow'])?' allow':'' ?><?php echo !empty($_stepInfo['complete'])?' saved':'' ?>">
+            <div class="step-title">
+                <span class="number"><?php echo $i ?></span>
+                <h2><?php echo $_stepInfo['label'] ?></h2>
+                <!--<a href="#"><?php echo __('Edit') ?></a>-->
+            </div>
+            <div id="checkout-step-<?php echo $_stepId ?>" class="step a-item" style="display:none;">
+                <?php echo $this->getChildHtml($_stepId) ?>
+            </div>
+        </li>
+    <?php endforeach ?>
+    </ol>
+    <script type="text/javascript">
+        (function($) {
+            head.js(
+                "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+                "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+                "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+                "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>",
+                "<?php echo $this->getViewFileUrl('Magento_Checkout::js/accordion.js') ?>",
+                function() {
+                    $('#checkoutSteps')
+                        .accordion({
+                            activeSelector: '#opc-<?php echo $this->getActiveStep() ?>'
+                        })
+                        .opcheckout({
+                            quoteBaseGrandTotal: <?php echo (float)$_paymentBlock->getQuoteBaseGrandTotal() ?>,
+                            progressUrl: '<?php echo $this->getUrl('checkout/onepage/progress') ?>',
+                            reviewUrl: '<?php echo $this->getUrl('checkout/onepage/review') ?>',
+                            failureUrl: '<?php echo $this->getUrl('checkout/cart') ?>',
+                            getAddressUrl: '<?php echo $this->getUrl('checkout/onepage/getAddress') ?>address/',
+                            checkoutAgreements: '#checkout-agreements',
+                            checkoutProgressContainer: '#checkout-progress-wrapper',
+                            checkout: {
+                                suggestRegistration: <?php echo ($_registerParam || $_registerParam === '') ? 'true' : 'false' ?>,
+                                saveUrl: '<?php echo $this->getUrl('checkout/onepage/saveMethod') ?>'
+                            },
+                            billing: {
+                                saveUrl: '<?php echo $this->getUrl('checkout/onepage/saveBilling') ?>'
+                            },
+                            shipping: {
+                                saveUrl: '<?php echo $this->getUrl('checkout/onepage/saveShipping') ?>'
+                            },
+                            shippingMethod: {
+                                saveUrl: "<?php echo $this->getUrl('checkout/onepage/saveShippingMethod') ?>"
+                            },
+                            payment: {
+                                <?php if ($_paymentBlock->getChildBlock('methods')->getSelectedMethodCode()): ?>
+                                    defaultPaymentMethod: "<?php echo $_paymentBlock->getChildBlock('methods')->getSelectedMethodCode() ?>",
+                                <?php endif ?>
+                                saveUrl: '<?php echo $this->getUrl('checkout/onepage/savePayment') ?>'
+                            },
+                            review: {
+                                saveUrl: '<?php echo $this->getUrl('checkout/onepage/saveOrder') ?>',
+                                successUrl: '<?php echo $this->getUrl('checkout/onepage/success') ?>'
+                            }
+                        });
+                });
+        })(jQuery);
+    </script>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/billing.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/billing.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..5e76f4cd52b38e8f799ae37e3b0dc5ef9ba93620
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/billing.phtml
@@ -0,0 +1,212 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<form class="form billing" id="co-billing-form" action="" data-hasrequired="<?php echo __('* Required Fields') ?>">
+
+    <?php if ($this->customerHasAddresses()): ?>
+        <div class="field addresses">
+            <label class="label" for="billing-address-select"><span><?php echo __('Select a billing address from your address book or enter a new address.') ?></span></label>
+            <div class="control">
+                <?php echo $this->getAddressesHtmlSelect('billing') ?>
+            </div>
+        </div>
+    <?php endif; ?>
+    <fieldset class="fieldset address" id="billing-new-address-form"<?php if ($this->customerHasAddresses()): ?> style="display:none;"<?php endif; ?>
+        <input type="hidden" name="billing[address_id]" value="<?php echo $this->getAddress()->getId() ?>" id="billing:address_id" />
+
+        <?php echo $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Name')->setObject($this->getAddress()->getFirstname() ? $this->getAddress() : $this->getQuote()->getCustomer())->setForceUseCustomerRequiredAttributes(!$this->isCustomerLoggedIn())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?>
+
+        <?php if (!$this->isCustomerLoggedIn()): ?>
+                <div class="field required">
+                    <label class="label" for="billing:email"><span><?php echo __('Email Address') ?></span></label>
+                    <div class="control">
+                        <input type="text" name="billing[email]" id="billing:email" value="<?php echo $this->escapeHtml($this->getAddress()->getEmail()) ?>" title="<?php echo __('Email Address') ?>" class="input-text" data-validate="{required:true, 'validate-email':true}"/>
+                    </div>
+                </div>
+        <?php endif; ?>
+
+        <div class="field company">
+            <label class="label" for="billing:company"><span><?php echo __('Company') ?></span></label>
+            <div class="control">
+                <input type="text" id="billing:company" name="billing[company]" value="<?php echo $this->escapeHtml($this->getAddress()->getCompany()) ?>" title="<?php echo __('Company') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('company') ?>" />
+            </div>
+        </div>
+
+        <?php if ($this->helper('Magento\Customer\Helper\Address')->isVatAttributeVisible()) : ?>
+        <div class="field taxvat">
+            <label class="label" for="billing:vat_id"><span><?php echo __('VAT Number') ?></span></label>
+            <div class="control">
+                <input type="text" id="billing:vat_id" name="billing[vat_id]" value="<?php echo $this->escapeHtml($this->getAddress()->getVatId()) ?>" title="<?php echo __('VAT Number') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('vat_id') ?>" />
+            </div>
+        </div>
+        <?php endif; ?>
+
+        <?php $_streetValidationClass = $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('street'); ?>
+        <div class="field street required">
+            <label class="label" for="billing:street1"><span><?php echo __('Address') ?></span></label>
+            <div class="control">
+                <input type="text" title="<?php echo __('Street Address') ?>" name="billing[street][]" id="billing:street1" value="<?php echo $this->escapeHtml($this->getAddress()->getStreet(1)) ?>" class="input-text <?php echo $_streetValidationClass ?>" />
+                <div class="nested">
+                    <?php $_streetValidationClass = trim(str_replace('required-entry', '', $_streetValidationClass)); ?>
+                    <?php for ($_i = 2, $_n = $this->helper('Magento\Customer\Helper\Address')->getStreetLines(); $_i <= $_n; $_i++): ?>
+                        <div class="field additional no-label">
+                            <div class="control">
+                                <input type="text" title="<?php echo __('Street Address %1', $_i) ?>" name="billing[street][]" id="billing:street<?php echo $_i ?>" value="<?php echo $this->escapeHtml($this->getAddress()->getStreet($_i)) ?>" class="input-text <?php echo $_streetValidationClass ?>" />
+                            </div>
+                        </div>
+                    <?php endfor; ?>
+                </div>
+            </div>
+        </div>
+
+
+        <div class="field city required">
+            <label class="label" for="billing:city"><span><?php echo __('City') ?></span></label>
+            <div class="control">
+                <input type="text" title="<?php echo __('City') ?>" name="billing[city]" value="<?php echo $this->escapeHtml($this->getAddress()->getCity()) ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('city') ?>" id="billing:city" />
+            </div>
+        </div>
+
+        <div class="field region required">
+            <label class="label" for="billing:region_id"><span><?php echo __('State/Province') ?></span></label>
+            <div class="control">
+                <select id="billing:region_id" name="billing[region_id]" title="<?php echo __('State/Province') ?>" data-validate="{'validate-select':true}" style="display:none;">
+                    <option value=""><?php echo __('Please select region, state or province') ?></option>
+                </select>
+                <input type="text" id="billing:region" name="billing[region]" value="<?php echo $this->escapeHtml($this->getAddress()->getRegion()) ?>"  title="<?php echo __('State/Province') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('region') ?>" style="display:none;" />
+            </div>
+        </div>
+
+        <div class="field zip required">
+            <label class="label" for="billing:postcode"><span><?php echo __('Zip/Postal Code') ?></span></label>
+            <div class="control">
+                <input type="text" title="<?php echo __('Zip/Postal Code') ?>" name="billing[postcode]" id="billing:postcode" value="<?php echo $this->escapeHtml($this->getAddress()->getPostcode()) ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('postcode') ?>" data-validate="{'validate-zip-international':true}"/>
+            </div>
+        </div>
+
+        <div class="field country required">
+            <label class="label" for="billing:country_id"><span><?php echo __('Country') ?></span></label>
+            <div class="control">
+                <?php echo $this->getCountryHtmlSelect('billing') ?>
+            </div>
+        </div>
+
+        <div class="field telephone required">
+            <label class="label" for="billing:telephone"><span><?php echo __('Telephone') ?></span></label>
+            <div class="control">
+                <input type="text" name="billing[telephone]" value="<?php echo $this->escapeHtml($this->getAddress()->getTelephone()) ?>" title="<?php echo __('Telephone') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('telephone') ?>" id="billing:telephone" />
+            </div>
+        </div>
+
+        <div class="field fax">
+            <label class="label" for="billing:fax"><span><?php echo __('Fax') ?></span></label>
+            <div class="control">
+                <input type="text" name="billing[fax]" value="<?php echo $this->escapeHtml($this->getAddress()->getFax()) ?>" title="<?php echo __('Fax') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('fax') ?>" id="billing:fax" />
+            </div>
+        </div>
+
+        <?php if(!$this->isCustomerLoggedIn()): ?>
+        <?php $_dob = $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Dob') ?>
+        <?php $_taxvat = $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Taxvat') ?>
+        <?php $_gender = $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Gender') ?>
+
+        <?php if ($_dob->isEnabled()): ?>
+            <?php echo $_dob->setDate($this->getQuote()->getCustomerDob())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?>
+        <?php endif; ?>
+        <?php if ($_taxvat->isEnabled()): ?>
+            <?php echo $_taxvat->setTaxvat($this->getQuote()->getCustomerTaxvat())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?>
+        <?php endif ?>
+        <?php if ($_gender->isEnabled()): ?>
+            <?php echo $_gender->setGender($this->getQuote()->getCustomerGender())->setFieldIdFormat('billing:%s')->setFieldNameFormat('billing[%s]')->toHtml() ?>
+        <?php endif ?>
+        <?php $customerAttributes = $this->getChildBlock('customer_form_customer_user_defined_attributes');?>
+        <?php if ($customerAttributes): ?>
+            <?php $customerAttributes->setEntityModelClass('Magento\Customer\Model\Customer')->setFieldIdFormat('billing:%1$s');?>
+            <?php $customerAttributes->setFieldNameFormat('billing[%1$s]')->setShowContainer(false);?>
+            <?php echo $customerAttributes->setExcludeFileAttributes(true)->toHtml()?>
+        <?php endif;?>
+        <div class="field password required">
+            <label class="label" for="billing:customer_password"><span><?php echo __('Password') ?></span></label>
+            <div class="control">
+                <input type="password" name="billing[customer_password]" id="billing:customer_password" title="<?php echo __('Password') ?>" class="input-text" data-validate="{required:true, 'validate-password':true}"/>
+            </div>
+        </div>
+        <div class="field confirm required">
+            <label class="label" for="billing:confirm_password"><span><?php echo __('Confirm Password') ?></span></label>
+            <div class="control">
+                <input type="password" name="billing[confirm_password]" title="<?php echo __('Confirm Password') ?>" id="billing:confirm_password" class="input-text" data-validate="{required:true, 'validate-cpassword':true}"/>
+            </div>
+        </div>
+        <?php endif; ?>
+        <?php echo $this->getChildHtml('form_additional_info'); ?>
+        <?php if ($this->isCustomerLoggedIn() && $this->customerHasAddresses()):?>
+            <div  class="field save choice">
+                <input type="checkbox" name="billing[save_in_address_book]" value="1" title="<?php echo __('Save in address book') ?>" id="billing:save_in_address_book" <?php if ($this->getAddress()->getSaveInAddressBook()):?> checked="checked"<?php endif;?> class="checkbox" />
+                <label class="label" for="billing:save_in_address_book"><span><?php echo __('Save in address book') ?></span></label>
+            </div>
+        <?php else:?>
+            <input type="hidden" name="billing[save_in_address_book]" value="1" />
+        <?php endif; ?>
+        <?php /* Extensions placeholder */ ?>
+        <?php echo $this->getChildHtml('checkout.onepage.billing.extra')?>
+</fieldset>
+<?php if ($this->canShip()): ?>
+    <div class="field choice">
+        <input type="radio" name="billing[use_for_shipping]" id="billing:use_for_shipping_yes" value="1"<?php if ($this->isUseBillingAddressForShipping()) {?> checked="checked"<?php }?> class="radio" />
+        <label class="label" for="billing:use_for_shipping_yes"><span><?php echo  __('Ship to this address') ?></span></label>
+    </div>
+    <div class="field choice">
+        <input type="radio" name="billing[use_for_shipping]" id="billing:use_for_shipping_no" value="0"<?php if (!$this->isUseBillingAddressForShipping()) {?> checked="checked"<?php }?> class="radio" />
+        <label class="label" for="billing:use_for_shipping_no"><span><?php echo __('Ship to different address') ?></span></label>
+    </div>
+<?php endif; ?>
+
+<?php if (!$this->canShip()): ?>
+    <input type="hidden" name="billing[use_for_shipping]" value="1" />
+<?php endif; ?>
+<div class="actions buttons-set form-buttons btn-only" id="billing-buttons-container">
+    <div class="primary"><button type="button" class="button action continue"><span><?php echo __('Continue') ?></span></button></div>
+    <span id="billing-please-wait" class="please-wait load indicator" style="display:none;">
+        <span><?php echo __('Loading next step...') ?></span>
+    </span>
+</div>
+</form>
+<script type="text/javascript">
+    (function($) {
+        head.js(
+            "<?php echo $this->getViewFileUrl('Magento_Checkout::js/region-updater.js') ?>",
+            function() {
+                $('#billing\\:country_id').regionUpdater({
+                    optionalRegionAllowed: <?php echo ($this->getConfig('general/region/display_all')? 'true' : 'false'); ?>,
+                    regionListId: '#billing\\:region_id',
+                    regionInputId: '#billing\\:region',
+                    postcodeId: '#billing\\:postcode',
+                    regionJson: <?php echo $this->helper('Magento\Directory\Helper\Data')->getRegionJson() ?>,
+                    defaultRegion: "<?php echo $this->getAddress()->getRegionId() ?>",
+                    countriesWithOptionalZip: <?php echo $this->helper('Magento\Directory\Helper\Data')->getCountriesWithOptionalZip(true) ?>
+                });
+            });
+    })(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/failure.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/failure.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..f0ccb4c1f26307d3e57e498db791fa467bb58cd1
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/failure.phtml
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if ($this->getRealOrderId()) : ?><p><?php echo __('Order #') . $this->getRealOrderId() ?></p><?php endif ?>
+<?php if ($error = $this->getErrorMessage()) : ?><p><?php echo $error ?></p><?php endif ?>
+<p><?php echo __('Click <a href="%1">here</a> to continue shopping.', $this->getContinueShoppingUrl()) ?></p>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/link.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/link.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..a016f12eacaf26dee1e8409beae3f57259c731d2
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/link.phtml
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if ($this->isPossibleOnepageCheckout()):?>
+    <button type="button" title="<?php echo __('Proceed to Checkout') ?>" class="action primary checkout<?php if ($this->isDisabled()):?> disabled<?php endif; ?>"<?php if ($this->isDisabled()):?> disabled="disabled"<?php endif; ?> onclick="window.location='<?php echo $this->getCheckoutUrl() ?>';"><span><span><?php echo __('Proceed to Checkout') ?></span></span></button>
+<?php endif?>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/login.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/login.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..a66ba381e917a45404acee1c659a75fd2f068c33
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/login.phtml
@@ -0,0 +1,154 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Customer onepage checkout login form template
+ *
+ */
+/** @var $this \Magento\Checkout\Block\Onepage\Login */
+?>
+<div class="step login wrapper">
+<?php echo $this->getChildHtml('login_before')?>
+<div class="block customer login">
+    <div class="title"><strong><?php echo __('Login') ?></strong></div>
+    <div class="content">
+        <form class="form login" id="login-form" action="<?php echo $this->getPostAction() ?>" method="post">
+            <fieldset class="fieldset login" data-hasrequired="<?php echo __('* Required Fields') ?>">
+                <p class="field note"><?php echo __('Already registered?') ?> <?php echo __('Please log in below:') ?></p>
+                <div class="field email required">
+                    <label class="label" for="login-email"><span><?php echo __('Email Address') ?></span></label>
+                    <div class="control">
+                        <input type="text" class="input-text" id="login-email" name="login[username]" data-validate="{required:true, 'validate-email':true}" value="<?php echo $this->escapeHtml($this->getUsername()) ?>" />
+                    </div>
+                </div>
+                <div class="field password required">
+                    <label for="login-password" class="label"><span><?php echo __('Password') ?></span></label>
+                    <div class="control">
+                        <input type="password" class="input-text" id="login-password" name="login[password]" data-validate="{required:true, 'validate-password':true}"/>
+                    </div>
+                </div>
+                <?php echo $this->getChildHtml('form_additional_info'); ?>
+                <div class="actions">
+                    <input name="context" type="hidden" value="checkout" />
+                    <div class="primary">
+                        <button type="submit" class="action login"><span><?php echo __('Login') ?></span></button>
+                    </div>
+                    <div class="secondary">
+                        <a class="action remind" href="<?php echo $this->helper('Magento\Customer\Helper\Data')->getForgotPasswordUrl()?>">
+                            <span><?php echo __('Forgot Your Password?') ?></span>
+                        </a>
+                    </div>
+                </div>
+            </fieldset>
+        </form>
+    </div>
+    <script type="text/javascript">
+        (function($) {
+            head.js(
+                "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+                "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+                "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+                "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+                function() {
+                    $('#login-form').validation();
+                });
+        })(jQuery);
+    </script>
+</div>
+<?php if ( $this->isAllowedGuestCheckout() || $this->helper('Magento\Customer\Helper\Data')->isRegistrationAllowed() ): ?>
+<div class="block guest">
+    <div class="title">
+        <strong>
+        <?php if( $this->isAllowedGuestCheckout() && $this->helper('Magento\Customer\Helper\Data')->isRegistrationAllowed() ): ?>
+            <?php echo __('Checkout as a Guest or Register') ?>
+        <?php elseif ( $this->isAllowedGuestCheckout() && !$this->helper('Magento\Customer\Helper\Data')->isRegistrationAllowed() ): ?>
+            <?php echo __('Checkout as a Guest') ?>
+        <?php else: ?>
+            <?php echo __('Register to Create an Account') ?>
+        <?php endif; ?>
+        </strong>
+    </div>
+    <div class="content">
+        <?php if( !$this->isAllowedGuestCheckout() && $this->helper('Magento\Customer\Helper\Data')->isRegistrationAllowed() ): ?>
+            <p><strong><?php echo __('Register and save time!') ?></strong><br />
+            <?php echo __('Register with us for future convenience:') ?></p>
+            <ul>
+                <li><?php echo __('Fast and easy check out') ?></li>
+                <li><?php echo __('Easy access to your order history and status') ?></li>
+            </ul>
+        <?php elseif( $this->isAllowedGuestCheckout() && $this->helper('Magento\Customer\Helper\Data')->isRegistrationAllowed() ): ?>
+            <p class="note"><?php echo __('Register with us for future convenience:') ?></p>
+        <?php endif ?>
+
+        <?php if( $this->isAllowedGuestCheckout() ): ?>
+            <fieldset class="fieldset guest">
+                <?php if( $this->isAllowedGuestCheckout() ): ?>
+                <div class="field choice">
+                    <input type="radio" name="checkout_method" id="login:guest" value="guest"<?php if($this->getQuote()->getCheckoutMethod()==Magento\Checkout\Model\Type\Onepage::METHOD_GUEST): ?> checked="checked"<?php endif; ?> class="radio" />
+                    <label class="label" for="login:guest"><span><?php echo __('Checkout as Guest') ?></span></label>
+                </div>
+                <?php endif; ?>
+                <?php if( $this->helper('Magento\Customer\Helper\Data')->isRegistrationAllowed() ): ?>
+                <div class="field choice">
+                    <input type="radio" name="checkout_method" id="login:register" value="register"<?php if($this->getQuote()->getCheckoutMethod()==Magento\Checkout\Model\Type\Onepage::METHOD_REGISTER || !$this->isAllowedGuestCheckout()): ?> checked="checked"<?php endif ?> class="radio" />
+                    <label class="label" for="login:register"><span><?php echo __('Register') ?></span></label>
+                </div>
+                <?php endif; ?>
+            </fieldset>
+        <?php else: ?>
+            <input type="hidden" name="checkout_method" id="login:register" value="register" checked="checked" />
+        <?php endif; ?>
+        <div class="actions">
+            <span class="please-wait load indicator" style="display:none;">
+                <span><?php echo __('Loading next step...') ?></span>
+            </span>
+            <?php if ($this->isAllowedGuestCheckout()): ?>
+                <button id="onepage-guest-register-button" type="button" class="action continue" data-checkout='{"isGuestCheckoutAllowed":true}'><span><?php echo __('Continue') ?></span></button>
+            <?php elseif ($this->helper('Magento\Checkout\Helper\Data')->isCustomerMustBeLogged()): ?>
+                <button id="onepage-guest-register-button" type="button" class="action register" data-checkout='{"isGuestCheckoutAllowed":false, "registrationUrl":"<?php echo $this->helper('Magento\Checkout\Helper\Url')->getRegistrationUrl();?>"}'><span><?php echo __('Register') ?></span></button>
+            <?php else: ?>
+                <form action="<?php echo $this->getUrl('persistent/index/saveMethod'); ?>">
+                    <button id="onepage-guest-register-button" type="submit" class="action register"><span><?php echo __('Register') ?></span></button>
+                </form>
+            <?php endif; ?>
+        </div>
+    </div>
+</div>
+<?php endif; ?>
+</div>
+<script type="text/javascript">
+    (function($) {
+        head.js(
+            "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+            function() {
+                $('#login-form').validation();
+            }
+        )}
+    )(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/payment.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/payment.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..fe8f86c816f82bf15bbdba719ea64e8602361cf8
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/payment.phtml
@@ -0,0 +1,43 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<form action="" id="co-payment-form" class="form payments">
+    <fieldset class="fieldset">
+        <?php echo $this->getChildChildHtml('methods_additional') ?>
+        <?php echo $this->getChildHtml('methods') ?>
+    </fieldset>
+    <?php echo $this->getChildChildHtml('additional') ?>
+    <div class="buttons-set actions" id="payment-buttons-container">
+        <div class="primary">
+            <button type="button" class="button action continue"><span><?php echo __('Continue') ?></span></button>
+        </div>
+        <div class="secondary">
+            <a class="action back" href="#"><span><?php echo __('Back') ?></span></a>
+        </div>
+        <span id="payment-please-wait" class="please-wait load indicator" style="display:none">
+            <span><?php echo __('Loading next step...') ?></span>
+        </span>
+    </div>
+</form>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/progress.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/progress.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..5719d1f996263d390f43aafc728e20ce66452ac5
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/progress.phtml
@@ -0,0 +1,114 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/* @var $this \Magento\Checkout\Block\Onepage\Progress */
+?>
+<div class="block progress onepage opc-block-progress">
+    <div class="title">
+        <strong><?php echo __('Your Checkout Progress') ?></strong>
+    </div>
+    <div class="content">
+        <dl>
+        <?php if ($this->getCheckout()->getStepData('billing', 'is_show')): ?>
+        <?php if ($this->isStepComplete('billing')): ?>
+            <dt class="complete">
+                <?php echo __('Billing Address') ?> <span class="separator">|</span>
+                <a href="#billing" data-goto-section="billing"><?php echo __('Change') ?></a>
+            </dt>
+            <dd class="complete">
+                <address><?php echo $this->getBilling()->format('html') ?></address>
+            </dd>
+        <?php else: ?>
+            <dt>
+                <?php echo __('Billing Address') ?>
+            </dt>
+        <?php endif; ?>
+        <?php endif; ?>
+
+        <?php if ($this->getCheckout()->getStepData('shipping', 'is_show')): ?>
+        <?php if ($this->isStepComplete('shipping')): ?>
+            <dt class="complete">
+                <?php echo __('Shipping Address') ?> <span class="separator">|</span>
+                <a href="#payment" data-goto-section="shipping"><?php echo __('Change') ?></a>
+            </dt>
+            <dd class="complete">
+                <address><?php echo $this->getShipping()->format('html') ?></address>
+            </dd>
+        <?php else: ?>
+            <dt>
+                <?php echo __('Shipping Address') ?>
+            </dt>
+        <?php endif; ?>
+        <?php endif; ?>
+
+        <?php if ($this->getCheckout()->getStepData('shipping_method', 'is_show')): ?>
+        <?php if ($this->isStepComplete('shipping_method')): ?>
+            <dt class="complete">
+                <?php echo __('Shipping Method') ?> <span class="separator">|</span>
+                <a href="#shipping_method" data-goto-section="shipping_method"><?php echo __('Change') ?></a>
+            </dt>
+            <dd class="complete">
+                <?php if ($this->getShippingMethod()): ?>
+                    <?php echo $this->escapeHtml($this->getShippingDescription()) ?>
+
+                    <?php $_excl = $this->getShippingPriceExclTax(); ?>
+                    <?php $_incl = $this->getShippingPriceInclTax(); ?>
+                    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayShippingPriceIncludingTax()): ?>
+                        <?php echo $_incl; ?>
+                    <?php else: ?>
+                        <?php echo $_excl; ?>
+                    <?php endif; ?>
+                    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayShippingBothPrices() && $_incl != $_excl): ?>
+                        (<?php echo __('Incl. Tax'); ?> <?php echo $_incl; ?>)
+                    <?php endif; ?>
+
+                <?php else: ?>
+                    <?php echo __('Shipping method has not been selected yet') ?>
+                <?php endif; ?>
+            </dd>
+        <?php else: ?>
+            <dt>
+                <?php echo __('Shipping Method') ?>
+            </dt>
+        <?php endif; ?>
+        <?php endif; ?>
+
+        <?php if ($this->getCheckout()->getStepData('payment', 'is_show')): ?>
+        <?php if ($this->isStepComplete('payment')): ?>
+            <dt class="complete">
+                <?php echo __('Payment Method') ?> <span class="separator">|</span>
+                <a href="#payment" data-goto-section="payment"><?php echo __('Change') ?></a>
+            </dt>
+            <dd class="complete">
+                <?php echo $this->getPaymentHtml() ?>
+            </dd>
+        <?php else: ?>
+            <dt>
+                <?php echo __('Payment Method') ?>
+            </dt>
+        <?php endif; ?>
+        <?php endif; ?>
+        </dl>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/button.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/button.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..35ddad1c26c8fceed6ea68be4bdd3c0da51b6fa6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/button.phtml
@@ -0,0 +1,26 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<button role='review-save' type="submit" title="<?php echo __('Place Order') ?>" class="button btn-checkout action checkout"><span><?php echo __('Place Order') ?></span></button>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/info.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/info.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..9b8fc74bc4330f8dcf72c75614fbf8c67a5c0a0d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/info.phtml
@@ -0,0 +1,65 @@
+\<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php echo $this->getChildHtml('items_before'); ?>
+<div id="checkout-review-table-wrapper" class="review table wrapper">
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): $colspan = $rowspan = 2; else: $colspan = $rowspan = 1; endif; ?>
+    <table class="order review items data" id="checkout-review-table">
+        <thead>
+            <tr>
+                <th rowspan="<?php echo $rowspan ?>" class="col item"><?php echo __('Product Name') ?></th>
+                <th colspan="<?php echo $colspan ?>" class="col price"><?php echo __('Price') ?></th>
+                <th rowspan="<?php echo $rowspan ?>" class="col qty"><?php echo __('Qty') ?></th>
+                <th colspan="<?php echo $colspan ?>" class="col subtotal"><?php echo __('Subtotal') ?></th>
+            </tr>
+            <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+                <tr>
+                    <th class="col price excl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
+                    <th class="col price incl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
+                    <th class="col subtotal excl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
+                    <th class="col subtotal incl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
+                </tr>
+            <?php endif; ?>
+        </thead>
+        <?php echo $this->getChildHtml('totals'); ?>
+        <tbody>
+        <?php foreach($this->getItems() as $_item): ?>
+            <?php echo $this->getItemHtml($_item)?>
+        <?php endforeach ?>
+        </tbody>
+    </table>
+</div>
+<?php echo $this->getChildHtml('items_after'); ?>
+
+<div id="checkout-review-submit" class="checkout submit order">
+    <?php echo $this->getChildHtml('agreements') ?>
+    <div class="buttons-set actions" id="review-buttons-container">
+        <div class="primary"><?php echo $this->getChildHtml('button') ?></div>
+        <div class="secondary"><?php echo __('Forgot an Item?') ?> <a href="<?php echo $this->getUrl('checkout/cart') ?>" class="action edit"><span><?php echo __('Edit Your Cart') ?></span></a></div>
+        <span class="please-wait load indicator" id="review-please-wait" style="display:none;">
+            <span><?php echo __('Submitting order information...') ?></span>
+        </span>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/item.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/item.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..a177ee2976dc58b8f86318dfc7ddd9d480d0cd99
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/item.phtml
@@ -0,0 +1,238 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_item = $this->getItem()?>
+<tr>
+    <td class="col item"><strong class="product name"><?php echo $this->escapeHtml($this->getProductName()) ?></strong>
+        <?php if ($_options = $this->getOptionList()):?>
+        <dl class="review item options">
+            <?php foreach ($_options as $_option) : ?>
+            <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+            <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>><?php echo $_formatedOptionValue['value'] ?>
+                <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                <div class="truncated_full_value">
+                    <dl class="item-options">
+                        <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                        <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                    </dl>
+                </div>
+                <?php endif; ?>
+            </dd>
+            <?php endforeach; ?>
+        </dl>
+        <?php endif;?>
+        <?php if ($addtInfoBlock = $this->getProductAdditionalInformationBlock()):?>
+            <?php echo $addtInfoBlock->setItem($_item)->toHtml() ?>
+        <?php endif;?>
+    </td>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td class="col price excl tax">
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()) ?>
+            <?php endif; ?>
+
+        </span>
+
+
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="eunit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></small></span><br />
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td class="col price incl tax">
+        <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($_item); ?>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxDisposition()) ?>
+            <?php endif; ?>
+
+        </span>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="unit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></small></span><br />
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+    <td class="col qty"><span class="qty"><?php echo $_item->getQty() ?></span></td>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td class="col subtotal excl tax">
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()) ?>
+            <?php endif; ?>
+
+        </span>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></small></span><br />
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td class="col subtotal incl tax">
+        <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($_item); ?>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxRowDisposition()) ?>
+            <?php endif; ?>
+
+        </span>
+
+
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="subtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></small></span><br />
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+</tr>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/totals.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/totals.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..70938f939717d65d40718bd15fdf8ad806881c6b
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/review/totals.phtml
@@ -0,0 +1,46 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+ * @see \Magento\Checkout\Block\Cart\Totals
+ */
+?>
+<?php if ($this->getTotals()): ?>
+<tfoot>
+    <?php $_colspan = $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices() ? 5 : 3; ?>
+    <?php echo $this->renderTotals(null, $_colspan); ?>
+    <?php echo $this->renderTotals('footer', $_colspan); ?>
+    <?php if ($this->needDisplayBaseGrandtotal()):?>
+    <tr>
+        <td class="col label" colspan="<?php echo $_colspan; ?>">
+            <small><?php echo __('Your credit card will be charged for') ?></small>
+        </td>
+        <td class="col total">
+            <small><?php echo $this->displayBaseGrandtotal() ?></small>
+        </td>
+    </tr>
+    <?php endif?>
+</tfoot>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..6c183170aee1719231d54c70950ecaf79dd7c0e5
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping.phtml
@@ -0,0 +1,144 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<form class="form shipping address" action="" id="co-shipping-form" data-hasrequired="<?php echo __('* Required Fields') ?>">
+
+<?php if ($this->customerHasAddresses()): ?>
+   <div class="field addresses">
+       <label class="label" for="shipping-address-select"><span><?php echo __('Select a shipping address from your address book or enter a new address.') ?></span></label>
+       <div class="control"><?php echo $this->getAddressesHtmlSelect('shipping') ?></div>
+   </div>
+<?php endif ?>
+    <fieldset class="fieldset address" id="shipping-new-address-form"<?php if ($this->customerHasAddresses()): ?> style="display:none;"<?php endif ?>>
+        <input type="hidden" name="shipping[address_id]" value="<?php echo $this->getAddress()->getId() ?>" id="shipping:address_id" />
+        <?php echo $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Name')->setObject($this->getAddress())->setFieldIdFormat('shipping:%s')->setFieldNameFormat('shipping[%s]')->toHtml() ?>
+        <div class="field company">
+            <label class="label" for="shipping:company"><span><?php echo __('Company') ?></span></label>
+            <div class="control">
+                <input type="text" id="shipping:company" name="shipping[company]" value="<?php echo $this->escapeHtml($this->getAddress()->getCompany()) ?>" title="<?php echo __('Company') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('company') ?>" />
+            </div>
+        </div>
+        <?php if ($this->helper('Magento\Customer\Helper\Address')->isVatAttributeVisible()) : ?>
+        <div class="field taxvat">
+            <label class="label" for="shipping:vat_id"><span><?php echo __('VAT Number'); ?></span></label>
+            <div class="control">
+                <input type="text" id="shipping:vat_id" name="shipping[vat_id]" value="<?php echo $this->escapeHtml($this->getAddress()->getVatId()); ?>" title="<?php echo __('VAT Number'); ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('vat_id') ?>" />
+            </div>
+        </div>
+        <?php endif; ?>
+        <?php $_streetValidationClass = $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('street'); ?>
+        <div class="field street required">
+            <label class="label" for="shipping:street1"><span><?php echo __('Address') ?></span></label>
+            <div class="control">
+                <input type="text" title="<?php echo __('Street Address') ?>" name="shipping[street][]" id="shipping:street1" value="<?php echo $this->escapeHtml($this->getAddress()->getStreet(1)) ?>" class="input-text <?php echo $_streetValidationClass ?>" />
+                <div class="nested">
+                <?php $_streetValidationClass = trim(str_replace('required-entry', '', $_streetValidationClass)); ?>
+                <?php for ($_i = 2, $_n = $this->helper('Magento\Customer\Helper\Address')->getStreetLines(); $_i <= $_n; $_i++): ?>
+                     <div class="field additional no-label">
+                        <div class="control">
+                            <input type="text" title="<?php echo __('Street Address %1', $_i) ?>" name="shipping[street][]" id="shipping:street<?php echo $_i ?>" value="<?php echo $this->escapeHtml($this->getAddress()->getStreet($_i)) ?>" class="input-text <?php echo $_streetValidationClass ?>" />
+                        </div>
+                    </div>
+                <?php endfor; ?>
+                </div>
+            </div>
+        </div>
+
+        <div class="field city required">
+            <label class="label" for="shipping:city"><span><?php echo __('City') ?></span></label>
+            <div class="control">
+                <input type="text" title="<?php echo __('City') ?>" name="shipping[city]" value="<?php echo $this->escapeHtml($this->getAddress()->getCity()) ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('city') ?>" id="shipping:city" />
+            </div>
+        </div>
+        <div class="field region required">
+            <label class="label" for="shipping:region"><span><?php echo __('State/Province') ?></span></label>
+            <div class="control">
+                <select id="shipping:region_id" name="shipping[region_id]" title="<?php echo __('State/Province') ?>" class="validate-select" style="display:none;">
+                    <option value=""><?php echo __('Please select region, state or province') ?></option>
+                </select>
+                <input type="text" id="shipping:region" name="shipping[region]" value="<?php echo $this->escapeHtml($this->getAddress()->getRegion()) ?>" title="<?php echo __('State/Province') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('region') ?>" style="display:none;" />
+            </div>
+        </div>
+        <div class="field zip required">
+            <label class="label" for="shipping:postcode"><span><?php echo __('Zip/Postal Code') ?></span></label>
+            <div class="control">
+                <input type="text" title="<?php echo __('Zip/Postal Code') ?>" name="shipping[postcode]" id="shipping:postcode" value="<?php echo $this->escapeHtml($this->getAddress()->getPostcode()) ?>" class="input-text validate-zip-international <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('postcode') ?>" />
+            </div>
+        </div>
+        <div class="field country required">
+            <label class="label" for="shipping:country_id"><span><?php echo __('Country') ?></span></label>
+            <div class="control">
+                <?php echo $this->getCountryHtmlSelect('shipping') ?>
+            </div>
+        </div>
+        <div class="field telephone required">
+            <label class="label" for="shipping:telephone"><span><?php echo __('Telephone') ?></span></label>
+            <div class="control">
+                <input type="text" name="shipping[telephone]" value="<?php echo $this->escapeHtml($this->getAddress()->getTelephone()) ?>" title="<?php echo __('Telephone') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('telephone') ?>" id="shipping:telephone" />
+            </div>
+        </div>
+        <div class="field fax">
+            <label class="label" for="shipping:fax"><span><?php echo __('Fax') ?></span></label>
+            <div class="control">
+                <input type="text" name="shipping[fax]" value="<?php echo $this->escapeHtml($this->getAddress()->getFax()) ?>" title="<?php echo __('Fax') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('fax') ?>" id="shipping:fax" />
+            </div>
+        </div>
+
+        <?php if ($this->isCustomerLoggedIn() && $this->customerHasAddresses()):?>
+            <div class="field choice save">
+                <input type="checkbox" name="shipping[save_in_address_book]" value="1" title="<?php echo __('Save in address book') ?>" id="shipping:save_in_address_book" <?php if ($this->getAddress()->getSaveInAddressBook()):?> checked="checked"<?php endif;?> class="checkbox" />
+                <label class="label" for="shipping:save_in_address_book"><span><?php echo __('Save in address book') ?></span></label>
+            </div>
+        <?php else:?>
+            <input type="hidden" name="shipping[save_in_address_book]" value="1" />
+        <?php endif;?>
+    </fieldset>
+    <div class="choice field">
+            <input type="checkbox" name="shipping[same_as_billing]" id="shipping:same_as_billing" value="1"<?php if($this->getAddress()->getSameAsBilling()): ?> checked="checked"<?php endif; ?> class="checkbox" />
+        <label class="label" for="shipping:same_as_billing"><span><?php echo __('Use Billing Address') ?></span></label>
+    </div>
+    <div class="actions buttons-set form-buttons" id="shipping-buttons-container">
+        <div class="primary"><button type="button" class="button action continue"><span><?php echo __('Continue') ?></span></button></div>
+        <div class="secondary"><a href="#" class="action back"><span><?php echo __('Back') ?></span></a>
+        <span id="shipping-please-wait" class="please-wait load indicator" style="display:none;"><span><?php echo __('Loading next step...') ?></span></span>
+    </div>
+</form>
+<script type="text/javascript">
+    (function($) {
+        head.js(
+            "<?php echo $this->getViewFileUrl('Magento_Checkout::js/region-updater.js') ?>",
+            function() {
+                $('#shipping\\:country_id').regionUpdater({
+                    optionalRegionAllowed: <?php echo ($this->getConfig('general/region/display_all')? 'true' : 'false'); ?>,
+                    regionListId: '#shipping\\:region_id',
+                    regionInputId: '#shipping\\:region',
+                    postcodeId: '#shipping\\:postcode',
+                    regionJson: <?php echo $this->helper('Magento\Directory\Helper\Data')->getRegionJson() ?>,
+                    defaultRegion: "<?php echo $this->getAddress()->getRegionId() ?>",
+                    countriesWithOptionalZip: <?php echo $this->helper('Magento\Directory\Helper\Data')->getCountriesWithOptionalZip(true) ?>
+                });
+            });
+    })(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping_method.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping_method.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..955011f9ff0c8646b51e2a9ff3170083c0b62df2
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping_method.phtml
@@ -0,0 +1,40 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<form class="form shipping methods" id="co-shipping-method-form" action="">
+    <div id="checkout-shipping-method-load">
+        <?php echo $this->getChildHtml('available') ?>
+    </div>
+    <div id="onepage-checkout-shipping-method-additional-load">
+        <?php echo $this->getChildHtml('additional') ?>
+    </div>
+    <div class="actions buttons-set" id="shipping-method-buttons-container">
+        <div class="primary"><button type="button" class="button action continue"><span><?php echo __('Continue') ?></span></button></div>
+        <div class="secondary"><a class="action back" href="#"><span><?php echo __('Back') ?></span></a></div>
+        <span id="shipping-method-please-wait" class="please-wait load indicator" style="display:none;">
+            <span><?php echo __('Loading next step...') ?></span>
+        </span>
+    </div>
+</form>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping_method/available.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping_method/available.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..15c7081b7466a32a3faea21b3562519221d4ee86
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/onepage/shipping_method/available.phtml
@@ -0,0 +1,63 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /** @var $this \Magento\Checkout\Block\Onepage\Shipping\Method\Available */ ?>
+<?php $_shippingRateGroups = $this->getShippingRates(); ?>
+<?php if (!$_shippingRateGroups): ?>
+    <p><?php echo __('Sorry, no quotes are available for this order at this time.') ?></p>
+<?php else: ?>
+    <dl class="sp-methods items methods">
+    <?php $shippingCodePrice = array(); ?>
+    <?php $_sole = count($_shippingRateGroups) == 1; foreach ($_shippingRateGroups as $code => $_rates): ?>
+        <dt class="item title"><?php echo $this->escapeHtml($this->getCarrierName($code)) ?></dt>
+        <dd class="item options">
+            <?php $_sole = $_sole && count($_rates) == 1; foreach ($_rates as $_rate): ?>
+                <?php $shippingCodePrice[] = '"'.$_rate->getCode().'":'.(float)$_rate->getPrice(); ?>
+                <div class="field choice">
+                   <?php if ($_rate->getErrorMessage()): ?>
+                    <ul class="messages"><li class="error-msg"><ul><li><?php echo $this->escapeHtml($_rate->getErrorMessage()) ?></li></ul></li></ul>
+                   <?php else: ?>
+                        <?php if ($_sole) : ?>
+                        <span class="no-display"><input name="shipping_method" type="radio" value="<?php echo $_rate->getCode() ?>" id="s_method_<?php echo $_rate->getCode() ?>" checked="checked" /></span>
+                        <?php else: ?>
+                        <input name="shipping_method" type="radio" value="<?php echo $_rate->getCode() ?>" id="s_method_<?php echo $_rate->getCode() ?>"<?php if($_rate->getCode()===$this->getAddressShippingMethod()) echo ' checked="checked"' ?> class="radio"/>
+                        <?php endif; ?>
+                        <label class="label" for="s_method_<?php echo $_rate->getCode() ?>"><span><?php echo $this->escapeHtml($_rate->getMethodTitle()) ?>
+                        <?php $_excl = $this->getShippingPrice($_rate->getPrice(), $this->helper('Magento\Tax\Helper\Data')->displayShippingPriceIncludingTax()); ?>
+                        <?php $_incl = $this->getShippingPrice($_rate->getPrice(), true); ?>
+                        <?php echo $_excl; ?>
+                        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayShippingBothPrices() && $_incl != $_excl): ?>
+                            (<?php echo __('Incl. Tax'); ?> <?php echo $_incl; ?>)
+                        <?php endif; ?>
+                        </span>
+                        </label>
+                   <?php endif ?>
+                </div>
+            <?php endforeach; ?>
+        </dd>
+    <?php endforeach; ?>
+    </dl>
+    <div class="no-display" data-shipping-code-price='{<?php echo implode(",",$shippingCodePrice); ?>}'></div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/success.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/success.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..95681ab6f6e26bf453c8e003ce4d4f85ed7b3109
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/success.phtml
@@ -0,0 +1,58 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<h2 class="subtitle"><?php echo __('Thank you for your purchase!') ?></h2>
+<?php if ($this->getOrderId()):?>
+    <?php if ($this->getCanViewOrder()) :?>
+        <p><?php echo __('Your order # is: %1.', sprintf('<a href="%s">%s</a>', $this->escapeHtml($this->getViewOrderUrl()), $this->escapeHtml($this->getOrderId()))) ?></p>
+    <?php  else :?>
+        <p><?php echo __('Your order # is: %1.', $this->escapeHtml($this->getOrderId())) ?></p>
+    <?php endif;?>
+        <p><?php echo __('You will receive an order confirmation email with details of your order and a link to track its progress.') ?></p>
+    <?php if ($this->getCanViewOrder() && $this->getCanPrintOrder()) :?>
+        <p>
+            <?php echo __('Click <a href="%1" onclick="this.target=\'_blank\'">here to print</a> a copy of your order confirmation.', $this->getPrintUrl()) ?>
+            <?php echo $this->getChildHtml() ?>
+        </p>
+    <?php endif;?>
+<?php endif;?>
+
+<?php if ($this->getAgreementRefId()): ?>
+    <p><?php echo __('Your billing agreement # is: %1.', sprintf('<a href="%s">%s</a>', $this->escapeHtml($this->getAgreementUrl()), $this->escapeHtml($this->getAgreementRefId())))?></p>
+<?php endif;?>
+
+<?php if ($profiles = $this->getRecurringProfiles()):?>
+<p><?php echo __('Your recurring payment profiles:'); ?></p>
+<ul>
+<?php foreach($profiles as $profile):?>
+<?php $profileIdHtml = ($this->getCanViewProfiles() ? sprintf('<a href="%s">%s</a>', $this->escapeHtml($this->getProfileUrl($profile)), $this->escapeHtml($this->getObjectData($profile, 'reference_id'))) : $this->escapeHtml($this->getObjectData($profile, 'reference_id')));?>
+    <li><?php echo __('Payment profile # %1: "%2".', $profileIdHtml, $this->escapeHtml($this->getObjectData($profile, 'schedule_description')))?></li>
+<?php endforeach;?>
+</ul>
+<?php endif;?>
+
+<div class="actions">
+    <a class="action continue" title="<?php echo __('Continue Shopping') ?>" href="<?php echo $this->getUrl() ?>"><span><?php echo __('Continue Shopping') ?></span></a>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Checkout/total/default.phtml b/app/design/frontend/magento_plushe/Magento_Checkout/total/default.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..06114863baefc625e15c6b09316610ecffcace03
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Checkout/total/default.phtml
@@ -0,0 +1,37 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<tr class="discount">
+    <td colspan="<?php echo $this->getColspan(); ?>" style="<?php echo $this->getTotal()->getStyle() ?>" class="mark">
+        <?php if ($this->getRenderingArea() == $this->getTotal()->getArea()): ?><strong><?php endif; ?>
+            <?php echo $this->escapeHtml($this->getTotal()->getTitle()); ?>
+        <?php if ($this->getRenderingArea() == $this->getTotal()->getArea()): ?></strong><?php endif; ?>
+    </td>
+    <td style="<?php echo $this->getTotal()->getStyle() ?>" class="amount">
+        <?php if ($this->getRenderingArea() == $this->getTotal()->getArea()): ?><strong><?php endif; ?>
+            <span><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotal()->getValue()) ?></span>
+        <?php if ($this->getRenderingArea() == $this->getTotal()->getArea()): ?></strong><?php endif; ?>
+    </td>
+</tr>
diff --git a/app/design/frontend/magento_plushe/Magento_Cms/default/footerbanners.phtml b/app/design/frontend/magento_plushe/Magento_Cms/default/footerbanners.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..5c3641cab134036f2ee294a7249b98b9eaa117ce
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Cms/default/footerbanners.phtml
@@ -0,0 +1,37 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="widget widget-static-block"> 
+    <div class="place locator">
+        <strong>plushe Near You:</strong> <a class="link locator" href="#">Find stores and retailers.</a>
+    </div>
+    <div class="place blog">
+        <a class="link blog" href="#">Blog</a>
+    </div>
+    <div class="place info">
+        <img src="<?php echo $this->getViewFileUrl('images/info_photo.jpg')?>" alt="plushe" align="left" /> <strong>Our Story:</strong>
+        <p>Use this space to tell customers a little about your business, such as when you opened. And why.</p>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Cms/default/home.phtml b/app/design/frontend/magento_plushe/Magento_Cms/default/home.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..781ecd46d401388c2db786fc5bd3f551930f3569
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Cms/default/home.phtml
@@ -0,0 +1,53 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="home main slider">
+    <div class="banner main">
+        <img class="banner image" alt="plushe" src="<?php echo $this->getViewFileUrl('images/main_image1.jpg') ?>" />
+        <div class="banner content">
+            <span contenteditable="true" class="banner text">NEW ARRIVALS</span>
+            <a class="action banner" href="#"><span contenteditable="true">Shop now</span></a>
+        </div>
+    </div>
+</div>
+
+<div class="home banners">
+    <a href="#" class="banner link style1">
+        <img class="banner image" alt="plushe" src="<?php echo $this->getViewFileUrl('images/banner1.jpg') ?>" />
+        <span contenteditable="true" class="banner text">MY plushe</span>
+    </a>
+    <a href="#" class="banner link style2">
+        <img class="banner image" alt="plushe" src="<?php echo $this->getViewFileUrl('images/banner2.jpg') ?>" />
+        <span contenteditable="true" class="banner text">FOOTWEAR</span>
+    </a>
+    <a href="#" class="banner link style3">
+        <img class="banner image" alt="plushe" src="<?php echo $this->getViewFileUrl('images/banner3.jpg') ?>" />
+        <span contenteditable="true" class="banner text">SPRING <b>SALE</b></span>
+    </a>
+    <a href="#" class="banner link style4">
+        <img class="banner image" alt="plushe" src="<?php echo $this->getViewFileUrl('images/banner4.jpg') ?>" />
+        <span contenteditable="true" class="banner text">ITEM OF THE WEEK</span>
+    </a>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Cms/layout/override/default.xml b/app/design/frontend/magento_plushe/Magento_Cms/layout/override/default.xml
new file mode 100644
index 0000000000000000000000000000000000000000..85d511a027c8f026806ca37b216a7e981279e9bd
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Cms/layout/override/default.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="footer">
+        <container name="cms_footer_links_container" label="CMS Footer Links" htmlTag="div" htmlClass="links" before="footer_links">
+            <block class="Magento\Cms\Block\Block" name="cms_footer_links">
+                <arguments>
+                    <argument name="block_id" xsi:type="string">footer_links</argument>
+                </arguments>
+            </block>
+        </container>
+    </referenceContainer>
+</layout>
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Db/_files/config.xml b/app/design/frontend/magento_plushe/Magento_Cms/layout/override/print.xml
similarity index 93%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Db/_files/config.xml
rename to app/design/frontend/magento_plushe/Magento_Cms/layout/override/print.xml
index 0c12897169ac419514cb35c44177bb7a4466bf2e..6c60196129d6c92ce012ad36ab5a4e7194de6ea6 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Db/_files/config.xml
+++ b/app/design/frontend/magento_plushe/Magento_Cms/layout/override/print.xml
@@ -19,10 +19,8 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Mage
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
  */
 -->
-<config/>
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
diff --git a/app/design/frontend/magento_plushe/Magento_Contacts/form.phtml b/app/design/frontend/magento_plushe/Magento_Contacts/form.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..44de81662b0057c16b727419ab53704adada49fa
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Contacts/form.phtml
@@ -0,0 +1,70 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<form class="form contact" action="<?php echo $this->getFormAction(); ?>" id="contact-form" method="post" data-hasrequired="<?php echo __('* Required Fields') ?>">
+    <fieldset class="fieldset">
+        <legend class="legend"><span><?php echo __('Contact Information') ?></span></legend><br />
+        <div class="field name required">
+            <label class="label" for="name"><span><?php echo __('Name') ?></span></label>
+            <div class="control">
+                <input name="name" id="name" title="<?php echo __('Name') ?>" value="<?php echo $this->escapeHtml($this->helper('Magento\Contacts\Helper\Data')->getUserName()) ?>" class="input-text" type="text" data-validate="{required:true}"/>
+            </div>
+        </div>
+        <div class="field email required">
+            <label class="label" for="email"><span><?php echo __('Email') ?></span></label>
+            <div class="control">
+                <input name="email" id="email" title="<?php echo __('Email') ?>" value="<?php echo $this->escapeHtml($this->helper('Magento\Contacts\Helper\Data')->getUserEmail()) ?>" class="input-text" type="text" data-validate="{required:true, 'validate-email':true}"/>
+            </div>
+        </div>
+        <div class="field telephone">
+            <label class="label" for="telephone"><span><?php echo __('Telephone') ?></span></label>
+            <div class="control">
+                <input name="telephone" id="telephone" title="<?php echo __('Telephone') ?>" value="" class="input-text" type="text" />
+            </div>
+        </div>
+        <div class="field comment required">
+            <label class="label" for="comment"><span><?php echo __('Comment') ?></span></label>
+            <div class="control">
+                <textarea name="comment" id="comment" title="<?php echo __('Comment') ?>" class="input-text" cols="5" rows="3" data-validate="{required:true}"></textarea>
+            </div>
+        </div>
+    </fieldset>
+    <div class="actions">
+        <input type="hidden" name="hideit" id="hideit" value="" />
+        <button type="submit" title="<?php echo __('Submit') ?>" class="action submit">
+            <span><?php echo __('Submit') ?></span>
+        </button>
+    </div>
+</form>
+<script type="text/javascript">
+    (function($) {
+        head.js("<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>", function() {
+                $('#contact-form').validation();
+            });
+    })(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Contacts/layout/contacts_index_index.xml b/app/design/frontend/magento_plushe/Magento_Contacts/layout/contacts_index_index.xml
new file mode 100644
index 0000000000000000000000000000000000000000..58a124e9c1548c48d2f9940eb8fde0d14e697d6c
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Contacts/layout/contacts_index_index.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="page_one_column"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Contacts/layout/override/default.xml b/app/design/frontend/magento_plushe/Magento_Contacts/layout/override/default.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d9b1bc6867ee2354c12d28856c67a80b28f34054
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Contacts/layout/override/default.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="footer_links">
+        <block class="Magento\Page\Block\Link" ifconfig="contacts/contacts/enabled"
+               name="contact-us-link">
+            <arguments>
+                <argument name="label" xsi:type="string">Contact Us</argument>
+                <argument name="href" xsi:type="string">contacts</argument>
+            </arguments>
+        </block>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Core/text.phtml b/app/design/frontend/magento_plushe/Magento_Core/text.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..26002f9e02f9851ecef32d47c42335c174379ca3
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Core/text.phtml
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+$attributes = $this->getCssClass() ? ' class="' . $this->getCssClass() . '"' : '';
+$attr = $this->getAttributes();
+if ( !empty($attr) ) {
+    foreach ($this->getAttributes() as $attribute => $value ) {
+        $attributes .= ' '. $attribute . '="' . $value . '"';
+    }
+};
+echo
+    '<' . $this->getTag() . $attributes . '>' . $this->getText() . '</' . $this->getTag() . '>';
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/account/customer.phtml b/app/design/frontend/magento_plushe/Magento_Customer/account/customer.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..f158025e4468a3d7613937955e63a8235de26cf4
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/account/customer.phtml
@@ -0,0 +1,37 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if($this->customerLoggedIn()): ?>
+    <li class="customer welcome">
+        <strong class="customer name" data-toggle="dropdown">
+            <span><?php echo $this->getCustomerName(); ?></span>
+        </strong>
+        <?php if($this->getChildHtml()):?>
+        <menu class="menu" data-target="dropdown">
+            <?php echo $this->getChildHtml();?>
+        </menu>
+        <?php endif; ?>
+    </li>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/account/dashboard/address.phtml b/app/design/frontend/magento_plushe/Magento_Customer/account/dashboard/address.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..b0c420fc344ee5dae4864954c75837c728f5c227
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/account/dashboard/address.phtml
@@ -0,0 +1,51 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="block dashboard addresses">
+    <div class="title">
+        <strong><?php echo __('Address Book') ?></strong>
+        <a class="action edit" href="<?php echo $this->getAddressBookUrl() ?>"><span><?php echo __('Manage Addresses') ?></span></a>
+    </div>
+    <div class="content">
+        <div class="box address billing">
+            <strong class="subtitle">
+                <span><?php echo __('Default Billing Address') ?></span>
+                <a class="action edit" href="<?php echo $this->getPrimaryBillingAddressEditUrl() ?>"><span><?php echo __('Edit Address') ?></span></a>
+            </strong>
+            <address>
+                <?php echo $this->getPrimaryBillingAddressHtml() ?>
+            </address>
+        </div>
+        <div class="box address shipping">
+            <strong class="subtitle">
+                <span><?php echo __('Default Shipping Address') ?></span>
+                <a class="action edit" href="<?php echo $this->getPrimaryShippingAddressEditUrl() ?>"><span><?php echo __('Edit Address') ?></span></a>
+            </strong>
+            <address>
+                <?php echo $this->getPrimaryShippingAddressHtml() ?>
+            </address>
+        </div>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/account/dashboard/hello.phtml b/app/design/frontend/magento_plushe/Magento_Customer/account/dashboard/hello.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..29e0f6bbfe238e8368740f982169c4746214139c
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/account/dashboard/hello.phtml
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="block dashboard welcome">
+    <div class="title"><strong><?php echo __('Hello, %1!', $this->escapeHtml($this->getCustomerName())) ?></strong></div>
+    <div class="content">
+        <p><?php echo __('From your My Account Dashboard you have the ability to view a snapshot of your recent account activity and update your account information. Select a link below to view or edit information.') ?></p>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/account/dashboard/info.phtml b/app/design/frontend/magento_plushe/Magento_Customer/account/dashboard/info.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..c9a1d6f15fdb2685d5021b5471041aa977781ba6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/account/dashboard/info.phtml
@@ -0,0 +1,58 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="block dashboard info">
+    <div class="title"><strong><?php echo __('Account Information') ?></strong></div>
+    <div class="content">
+        <div class="box information">
+            <strong class="subtitle">
+                <?php echo __('Contact Information') ?>
+                <a class="action edit" href="<?php echo $this->getUrl('customer/account/edit') ?>"><span><?php echo __('Edit') ?></span></a>
+            </strong>
+            <p>
+                <?php echo $this->escapeHtml($this->getCustomer()->getName()) ?><br />
+                <?php echo $this->escapeHtml($this->getCustomer()->getEmail()) ?><br />
+                <a href="<?php echo $this->getChangePasswordUrl() ?>"><?php echo __('Change Password') ?></a>
+            </p>
+        </div>
+    <?php if( $this->isNewsletterEnabled() ): ?>
+        <div class="box newsletter">
+            <strong class="subtitle">
+                <?php echo __('Newsletters') ?>
+                <a class="action edit" href="<?php echo $this->getUrl('newsletter/manage') ?>"><span><?php echo __('Edit') ?></span></a>
+            </strong>
+            <p>
+                <?php if( $this->getIsSubscribed() ): ?>
+                    <?php echo __("You are currently subscribed to 'General Subscription'.") ?>
+                <?php else: ?>
+                    <?php echo __('You are currently not subscribed to any newsletter.') ?>
+                <?php endif; ?>
+            </p>
+            <?php /* Extensions placeholder */ ?>
+            <?php echo $this->getChildHtml('customer.account.dashboard.info.extra')?>
+        </div>
+    <?php endif; ?>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/account/link/back.phtml b/app/design/frontend/magento_plushe/Magento_Customer/account/link/back.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..f983ab287d73e89f786c8ce0bf3d36ce3b194a60
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/account/link/back.phtml
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="actions">
+    <div class="secondary"><a class="action back" href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>"><span><?php echo __('Back') ?></span></a></div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/account/navigation.phtml b/app/design/frontend/magento_plushe/Magento_Customer/account/navigation.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..cb0c609ef628afcf7cbe8f9fc7d8d2f16d7d12b7
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/account/navigation.phtml
@@ -0,0 +1,38 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /** @var $this \Magento\Customer\Block\Account\Navigation */ ?>
+<div class="block account nav">
+    <div class="title">
+        <strong><?php echo __('My Account'); ?></strong>
+    </div>
+    <div class="content">
+        <navigation class="account nav">
+        <ul class="nav items">
+            <?php echo $this->getChildHtml();?>
+        </ul>
+        </navigation>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/address/book.phtml b/app/design/frontend/magento_plushe/Magento_Customer/address/book.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..797ef9838b46d2e5576498c60f91f4e131054acc
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/address/book.phtml
@@ -0,0 +1,110 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Temlate for \Magento\Customer\Block\Address\Book block
+ * @var $test \Magento\Customer\Block\Address\Book
+ */
+?>
+<div class="block addresses default">
+    <div class="title"><strong><?php echo __('Default Addresses') ?></strong></div>
+    <div class="content">
+        <?php if($_pAddsses = $this->getDefaultBilling()): ?>
+            <div class="box address billing">
+                <strong class="subtitle">
+                    <span><?php echo __('Default Billing Address') ?></span>
+                    <a class="action edit" href="<?php echo $this->getAddressEditUrl($this->getAddressById($_pAddsses)) ?>">
+                        <span><?php echo __('Change Billing Address') ?></span>
+                    </a>
+                </strong>
+                <address>
+                <?php echo $this->getAddressHtml($this->getAddressById($_pAddsses)) ?>
+                </address>
+           </div>
+        <?php else: ?>
+            <div class="box address no billing">
+                <strong class="box-title"><span><?php echo __('Default Billing Address') ?></span></strong>
+                <p><?php echo __('You have no default billing address in your address book.') ?></p>
+            </div>
+        <?php endif ?>
+
+        <?php if($_pAddsses = $this->getDefaultShipping()): ?>
+            <div class="box address shipping">
+                <strong class="subtitle">
+                    <span><?php echo __('Default Shipping Address') ?></span>
+                    <a class="action edit" href="<?php echo $this->getAddressEditUrl($this->getAddressById($_pAddsses)) ?>">
+                        <span><?php echo __('Change Shipping Address') ?></span>
+                    </a>
+                </strong>
+                <address>
+                    <?php echo $this->getAddressHtml($this->getAddressById($_pAddsses)) ?>
+                </address>
+            </div>
+        <?php else: ?>
+            <div class="box address shipping">
+                <strong class="subtitle"><span><?php echo __('Default Shipping Address') ?></span></strong>
+                <p><?php echo __('You have no default shipping address in your address book.') ?></p>
+            </div>
+        <?php endif ?>
+    </div>
+</div>
+
+<div class="block addresses list">
+    <div class="title"><strong><?php echo __('Additional Address Entries') ?></strong></div>
+    <div class="content">
+        <?php if($_pAddsses = $this->getAdditionalAddresses()): ?>
+        <ol class="items addresses">
+            <?php foreach($_pAddsses as $_address): ?>
+            <li class="item">
+                <address>
+                    <?php echo $this->getAddressHtml($_address) ?><br />
+                </address>
+                <div class="item actions">
+                    <a class="action edit" href="<?php echo $this->getUrl('customer/address/edit', array('id'=>$_address->getId())) ?>"><span><?php echo __('Edit Address') ?></span></a>
+                    <a class="action delete" href="#" role="delete-address" data-address="<?php echo $_address->getId() ?>"><span><?php echo __('Delete Address') ?></span></a>
+                </div>
+            </li>
+            <?php endforeach; ?>
+        </ol>
+        <?php else: ?>
+        <p><?php echo __('You have no additional address entries in your address book.') ?></p>
+        <?php endif ?>
+    </div>
+</div>
+
+<div class="actions">
+    <div class="secondary"><a class="action back" href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>"><span><?php echo __('Back') ?></span></a></div>
+</div>
+<script type="text/javascript">
+    head.js("<?php echo $this->getViewFileUrl('Magento_Customer::address.js'); ?>", function() {
+        jQuery('hgroup.page.title').address({
+            deleteAddress: "li.item a[role='delete-address']",
+            deleteUrlPrefix: '<?php echo $this->getDeleteUrl() ?>id/',
+            addAddress: "button[role='add-address']",
+            addAddressLocation: '<?php echo $this->getAddAddressUrl() ?>'
+        });
+    });
+</script>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/address/button.phtml b/app/design/frontend/magento_plushe/Magento_Customer/address/button.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..7cf5a8cafe8ee9e75d24b3895bc70613a2ed3d5f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/address/button.phtml
@@ -0,0 +1,32 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Temlate for \Magento\Customer\Block\Address\Book block
+ * @var $test \Magento\Customer\Block\Address\Book
+ */
+?>
+<button type="button" role="add-address" title="<?php echo __('Add New Address') ?>" class="action add"><span><?php echo __('Add New Address') ?></span></button>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/address/edit.phtml b/app/design/frontend/magento_plushe/Magento_Customer/address/edit.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..560d23a119d4a44d4d28a2af02a76cbb4fc2423e
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/address/edit.phtml
@@ -0,0 +1,164 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Edit customer address template
+ *
+ * @see \Magento\Customer\Block\Address\Edit
+ */
+?>
+<form class="form address edit" action="<?php echo $this->getSaveUrl() ?>" method="post" id="form-validate" enctype="multipart/form-data" data-hasrequired="<?php echo __('* Required Fields') ?>">
+    <fieldset class="fieldset">
+        <legend class="legend"><span><?php echo __('Contact Information') ?></span></legend><br />
+        <?php echo $this->getBlockHtml('formkey')?>
+        <input type="hidden" name="success_url" value="<?php echo $this->getSuccessUrl() ?>" />
+        <input type="hidden" name="error_url" value="<?php echo $this->getErrorUrl() ?>" />
+        <?php echo $this->getNameBlockHtml() ?>
+        <div class="field company">
+            <label class="label" for="company"><span><?php echo __('Company') ?></span></label>
+            <div class="control">
+                <input type="text" name="company" id="company" title="<?php echo __('Company') ?>" value="<?php echo $this->escapeHtml($this->getAddress()->getCompany()) ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('company') ?>" />
+            </div>
+        </div>
+        <div class="field telephone required">
+            <label class="label" for="telephone"><span><?php echo __('Telephone') ?></span></label>
+            <div class="control">
+                <input type="text" name="telephone" value="<?php echo $this->escapeHtml($this->getAddress()->getTelephone()) ?>" title="<?php echo __('Telephone') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('telephone') ?>" id="telephone" />
+            </div>
+        </div>
+        <div class="field fax">
+            <label class="label" for="fax"><span><?php echo __('Fax') ?></span></label>
+            <div class="control">
+                <input type="text" name="fax" id="fax" title="<?php echo __('Fax') ?>" value="<?php echo $this->escapeHtml($this->getAddress()->getFax()) ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('fax') ?>" />
+            </div>
+        </div>
+    </fieldset>
+    <fieldset class="fieldset">
+        <legend class="legend"><span><?php echo __('Address') ?></span></legend><br />
+        <?php $_streetValidationClass = $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('street'); ?>
+        <div class="field street required">
+            <label for="street_1" class="label"><span><?php echo __('Street Address') ?></span></label>
+            <div class="control">
+                <input type="text" name="street[]" value="<?php echo $this->escapeHtml($this->getAddress()->getStreet(1)) ?>" title="<?php echo __('Street Address') ?>" id="street_1" class="input-text <?php echo $_streetValidationClass ?>"  />
+                <div class="nested">
+                <?php $_streetValidationClass = trim(str_replace('required-entry', '', $_streetValidationClass)); ?>
+                <?php for ($_i = 2, $_n = $this->helper('Magento\Customer\Helper\Address')->getStreetLines(); $_i <= $_n; $_i++): ?>
+                    <div class="field additional no-label">
+                        <div class="control">
+                            <input type="text" name="street[]" value="<?php echo $this->escapeHtml($this->getAddress()->getStreet($_i)) ?>" title="<?php echo __('Street Address %1', $_i) ?>" id="street_<?php echo $_i ?>" class="input-text <?php echo $_streetValidationClass ?>" />
+                        </div>
+                    </div>
+                <?php endfor; ?>
+                </div>
+            </div>
+        </div>
+
+        <?php if ($this->helper('Magento\Customer\Helper\Address')->isVatAttributeVisible()) : ?>
+        <div class="field taxvat">
+            <label class="label" for="vat_id"><span><?php echo __('VAT Number') ?></span></label>
+            <div class="control">
+                <input type="text" name="vat_id" value="<?php echo $this->escapeHtml($this->getAddress()->getVatId()) ?>" title="<?php echo __('VAT Number') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('vat_id') ?>" id="vat_id" />
+            </div>
+        </div>
+        <?php endif; ?>
+        <div class="field city required">
+            <label class="label" for="city"><span><?php echo __('City') ?></span></label>
+            <div class="control">
+                <input type="text" name="city" value="<?php echo $this->escapeHtml($this->getAddress()->getCity()) ?>" title="<?php echo __('City') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('city') ?>" id="city" />
+            </div>
+        </div>
+        <div class="field region required">
+            <label class="label" for="region_id"><span><?php echo __('State/Province') ?></span></label>
+            <div class="control">
+                <select id="region_id" name="region_id" title="<?php echo __('State/Province') ?>" class="validate-select" style="display:none;">
+                   <option value=""><?php echo __('Please select region, state or province') ?></option>
+                </select>
+                <input type="text" id="region" name="region" value="<?php echo $this->escapeHtml($this->getAddress()->getRegion()) ?>"  title="<?php echo __('State/Province') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('region') ?>" />
+            </div>
+        </div>
+        <div class="field zip required">
+            <label class="label" for="zip"><span><?php echo __('Zip/Postal Code') ?></span></label>
+            <div class="control">
+                <input type="text" name="postcode" value="<?php echo $this->escapeHtml($this->getAddress()->getPostcode()) ?>" title="<?php echo __('Zip/Postal Code') ?>" id="zip" class="input-text validate-zip-international <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('postcode') ?>" />
+            </div>
+        </div>
+        <div class="field country required">
+            <label class="label" for="country"><span><?php echo __('Country') ?></span></label>
+            <div class="control">
+                <?php echo $this->getCountryHtmlSelect() ?>
+            </div>
+        </div>
+
+        <?php if($this->isDefaultBilling()): ?>
+            <div class="field note default"><?php echo __('Default Billing Address') ?></div>
+        <?php elseif($this->canSetAsDefaultBilling()): ?>
+        <div class="field choice set billing">
+            <input type="checkbox" id="primary_billing" name="default_billing" value="1" class="checkbox" />
+            <label class="label" for="primary_billing"><span><?php echo __('Use as my default billing address') ?></span></label>
+        </div>
+        <?php else: ?>
+            <input type="hidden" name="default_billing" value="1" />
+        <?php endif; ?>
+
+        <?php if($this->isDefaultShipping()): ?>
+            <div class="field note default"><?php echo __('Default Shipping Address') ?></div>
+        <?php elseif($this->canSetAsDefaultShipping()): ?>
+            <div class="field choice set shipping">
+                <input type="checkbox" id="primary_shipping" name="default_shipping" value="1" class="checkbox" />
+                <label class="label" for="primary_shipping"><span><?php echo __('Use as my default shipping address') ?></span></label>
+            </div>
+        <?php else: ?>
+            <input type="hidden" name="default_shipping" value="1" />
+        <?php endif; ?>
+    </fieldset>
+    <div class="actions">
+        <div class="primary"><button type="submit" class="action submit" title="<?php echo __('Save Address') ?>"><span><?php echo __('Save Address') ?></span></button></div>
+        <div class="secondary"><a class="action back" href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>"><span><?php echo __('Go back') ?></span></a></div>
+    </div>
+</form>
+<script type="text/javascript">
+    (function($) {
+        head.js(
+            "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+            "<?php echo $this->getViewFileUrl('Magento_Checkout::js/region-updater.js') ?>",
+            function() {
+                $('#country').regionUpdater({
+                    optionalRegionAllowed: <?php echo ($this->getConfig('general/region/display_all')? 'true' : 'false'); ?>,
+                    regionListId: '#region_id',
+                    regionInputId: '#region',
+                    postcodeId: '#zip',
+                    form: $('#form-validate').validation(),
+                    regionJson: <?php echo $this->helper('Magento\Directory\Helper\Data')->getRegionJson() ?>,
+                    defaultRegion: "<?php echo $this->getAddress()->getRegionId() ?>",
+                    countriesWithOptionalZip: <?php echo $this->helper('Magento\Directory\Helper\Data')->getCountriesWithOptionalZip(true) ?>
+                });
+            });
+    })(jQuery);
+</script>
+
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/form/address.phtml b/app/design/frontend/magento_plushe/Magento_Customer/form/address.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..b2493aded84f2086e6e4165411f4cf184050ec82
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/form/address.phtml
@@ -0,0 +1,155 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="page-title">
+    <h1><?php if($data->getAddressId()): ?><?php echo __('Edit Address Entry') ?><?php else: ?><?php echo __('New Address Entry') ?><?php endif ?></h1>
+</div>
+<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
+<form action="<?php echo $action ?>" method="post" id="form-validate">
+    <div class="fieldset">
+    <input type="hidden" name="address_id" value="<?php echo $data->getAddressId() ?>" />
+    <input type="hidden" name="customer_id" id="address_id" value="<?php echo $data->getCustomerId() ?>" />
+        <h2 class="legend"><?php echo __('Personal Information') ?></h2>
+        <ul class="form-list">
+            <li class="fields">
+                <?php echo $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Name')->setObject($data)->toHtml() ?>
+            </li>
+            <li>
+                <label for="company"><?php echo __('Company') ?></label>
+                <div class="input-box">
+                    <input type="text" name="company" id="company" title="<?php echo __('Company') ?>" value="<?php echo $this->escapeHtml($data->getCompany()) ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('company') ?>" />
+                </div>
+            </li>
+        </ul>
+    </div>
+    <div class="fieldset">
+        <h2 class="legend"><?php echo __('Address') ?></h2>
+        <ul class="form-list">
+        <?php $_streetValidationClass = $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('street'); ?>
+            <li>
+                <label for="street_1" class="required"><em>*</em><?php echo __('Street Address') ?></label>
+                <div class="input-box">
+                    <input type="text" name="street[]" value="<?php echo $this->escapeHtml($data->getStreet(1)) ?>" title="<?php echo __('Street Address') ?>" id="street_1" class="input-text <?php echo $_streetValidationClass ?>" />
+                </div>
+            </li>
+        <?php $_streetValidationClass = trim(str_replace('required-entry', '', $_streetValidationClass)); ?>
+        <?php for ($_i = 2, $_n = $this->helper('Magento\Customer\Helper\Address')->getStreetLines(); $_i <= $_n; $_i++): ?>
+            <li class="add-field">
+                <div class="input-box">
+                    <input type="text" name="street[]" value="<?php echo $this->escapeHtml($data->getStreet($_i)) ?>" title="<?php echo __('Street Address %1', $_i) ?>" id="street_<?php echo $_i ?>" class="input-text <?php echo $_streetValidationClass ?>" />
+                </div>
+            </li>
+        <?php endfor; ?>
+            <li class="fields">
+                <div class="field">
+                    <label for="city" class="required"><em>*</em><?php echo __('City') ?></label>
+                    <div class="input-box">
+                        <input type="text" name="city" value="<?php echo $this->escapeHtml($data->getCity()) ?>" title="<?php echo __('City') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('city') ?>" id="city" />
+                    </div>
+                </div>
+                <div class="field">
+                    <label for="region_id" class="required"><em>*</em><?php echo __('State/Province') ?></label>
+                    <div class="input-box">
+                        <select id="region_id" name="region_id" title="<?php echo __('State/Province') ?>" class="validate-select" style="display:none;">
+                            <option value=""><?php echo __('Please select region, state or province') ?></option>
+                        </select>
+                        <input type="text" id="region" name="region" value="<?php echo $this->escapeHtml($this->getAddress()->getRegion()) ?>"  title="<?php echo __('State/Province') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('region') ?>" style="display:none;" />
+                    </div>
+                </div>
+            </li>
+            <li class="fields">
+                <div class="field">
+                    <label for="zip" class="required"><em>*</em><?php echo __('Zip/Postal Code') ?></label>
+                    <div class="input-box">
+                        <input type="text" name="postcode" value="<?php echo $this->escapeHtml($data->getPostcode()) ?>" title="<?php echo __('Zip/Postal Code') ?>" id="zip" class="input-text validate-zip-international <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('postcode') ?>" />
+                    </div>
+                </div>
+                <div class="field">
+                    <label for="country" class="required"><em>*</em><?php echo __('Country') ?></label>
+                    <div class="input-box">
+                        <select name="country_id" id="country" title="<?php echo __('Country') ?>" class="validate-select">
+                            <?php echo $countries->toHtmlOptions($data->getCountryId()) ?>
+                        </select>
+                    </div>
+                </div>
+            </li>
+            <li class="fields">
+                <div class="field">
+                    <label for="telephone" class="required"><em>*</em><?php echo __('Telephone') ?></label>
+                    <div class="input-box">
+                        <input type="text" name="telephone" value="<?php echo $this->escapeHtml($data->getTelephone()) ?>" title="<?php echo __('Telephone') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('telephone') ?>" id="telephone" />
+                    </div>
+                </div>
+                <div class="field">
+                    <label for="fax"><?php echo __('Fax') ?></label>
+                    <div class="input-box">
+                        <input type="text" name="fax" value="<?php echo $this->escapeHtml($data->getFax()) ?>" title="<?php echo __('Fax') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('fax') ?>" id="fax" />
+                    </div>
+                </div>
+            </li>
+            <?php foreach ($primaryTypes as $code=>$type): ?>
+                <li class="control">
+                <?php if ($address->isPrimary($type['address_type_id'])): ?>
+                    <p><?php echo __("This is My Default %1 Address", ucfirst($type['name'])) ?></p>
+                <?php else: ?>
+                    <div class="input-box">
+                        <input type="checkbox" id="primary_<?php echo $code ?>" name="primary_types[]" value="<?php echo $type['address_type_id'] ?>" class="checkbox" />
+                    </div>
+                    <label for="primary_<?php echo $code ?>"><?php echo __("Use as My Default %1 Address", ucfirst($type['name'])) ?></label>
+                <?php endif ?>
+                </li>
+            <?php endforeach ?>
+        </ul>
+    </div>
+    <div class="buttons-set form-buttons">
+        <p class="back-link"><a href="<?php echo $this->getUrl('customer/address/') ?>"><small>&laquo; </small><?php echo __('Back') ?></a></p>
+        <button class="button" type="submit"><span><span><?php echo __('Save Address') ?></span></span></button>
+    </div>
+    <p class="required"><?php echo __('* Required Fields') ?></p>
+</form>
+<script type="text/javascript">
+    //<![CDATA[
+    (function($) {
+        head.js(
+            "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+            "<?php echo $this->getViewFileUrl('Magento_Checkout::js/region-updater.js') ?>",
+            function() {
+                $('#country').regionUpdater({
+                    optionalRegionAllowed: <?php echo ($this->getConfig('general/region/display_all')? 'true' : 'false'); ?>,
+                    regionListId: '#region_id',
+                    regionInputId: '#region',
+                    postcodeId: '#zip',
+                    form: $('#form-validate').validation(),
+                    regionJson: <?php echo $this->helper('Magento\Directory\Helper\Data')->getRegionJson() ?>,
+                    defaultRegion: "<?php echo $this->getAddress()->getRegionId() ?>",
+                    countriesWithOptionalZip: <?php echo $this->helper('Magento\Directory\Helper\Data')->getCountriesWithOptionalZip(true) ?>
+                });
+            });
+    })(jQuery);
+    //]]>
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/form/changepassword.phtml b/app/design/frontend/magento_plushe/Magento_Customer/form/changepassword.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..756af607ee28c46609ff280e2e5fa5bdde552633
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/form/changepassword.phtml
@@ -0,0 +1,68 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
+<form action="<?php echo $action ?>" method="post" id="form-validate">
+<div class="fieldset">
+    <ul class="form-list">
+        <li class="fields">
+            <div class="field">
+                <label for="current_password" class="required"><em>*</em><?php echo __('Current Password') ?></label>
+                <div class="input-box">
+                    <input type="password" class="input-text" name="current_password" id="current_password" data-validate="{required:true, 'validate-password':true}"/>
+                </div>
+            </div>
+        </li>
+        <li class="fields">
+            <div class="field">
+                <label for="password" class="required"><em>*</em><?php echo __('New Password') ?></label>
+                <div class="input-box">
+                    <input type="password" class="input-text" name="password" id="password" data-validate="{required:true, 'validate-password':true}"/>
+                </div>
+            </div>
+            <div class="field">
+                <label for="confirmation" class="required"><em>*</em><?php echo __('Confirm New Password') ?></label>
+                <div class="input-box">
+                    <input type="password" class="input-text" name="confirmation" id="confirmation" data-validate="{required:true, equalTo:'#password'}"/>
+                </div>
+            </div>
+        </li>
+    </ul>
+</div>
+<div class="buttons-set form-buttons">
+    <p class="back-link"><a href="<?php echo $this->getUrl('customer/account') ?>"><small>&laquo; </small><?php echo __('Back') ?></a></p>
+    <button type="submit" class="button"><span><span><?php echo __('Save Password') ?></span></span></button>
+</div>
+<p class="required"><?php echo __('* Required Fields') ?></p>
+</form>
+<script type="text/javascript">
+    head.js(
+        "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+        "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+        "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+        "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>", function() {
+            jQuery('#form-validate').validation();
+    });
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/form/confirmation.phtml b/app/design/frontend/magento_plushe/Magento_Customer/form/confirmation.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..e1c81f393e71d7e270e642f3a17924eb6db819f7
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/form/confirmation.phtml
@@ -0,0 +1,59 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="page-title">
+    <h1><?php echo __('Send confirmation link') ?></h1>
+</div>
+<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
+<form action="" method="post" id="form-validate">
+    <div class="fieldset">
+        <p><?php echo __('Please enter your email below and we will send you the confirmation link for it.') ?></p>
+        <ul class="form-list">
+            <li>
+                <label for="email_address" class="required"><em>*</em><?php echo __('Email Address') ?></label>
+                <div class="input-box">
+                    <input type="text" name="email" id="email_address" class="input-text" value="<?php echo $this->escapeHtml($this->getEmail()) ?>" data-validate="{required:true, 'validate-email':true}"/>
+                </div>
+            </li>
+        </ul>
+    </div>
+    <div class="buttons-set form-buttons">
+        <p class="back-link"><a href="<?php echo $this->helper('Magento\Customer\Helper\Data')->getLoginUrl() ?>"><small>&laquo; </small><?php echo __('Back to Login') ?></a></p>
+        <button type="submit" class="button right"><span><span><?php echo __('Submit') ?></span></span></button>
+    </div>
+    <p class="required"><?php echo __('* Required Fields') ?></p>
+</form>
+<script type="text/javascript">
+    (function($) {
+        head.js(
+            "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+            function() {
+                $('#form-validate').validation();
+            });
+    })(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/form/edit.phtml b/app/design/frontend/magento_plushe/Magento_Customer/form/edit.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..6f95865e86918211c5d4b343e9329c45b06d9d11
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/form/edit.phtml
@@ -0,0 +1,129 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<form class="form edit account" action="<?php echo $this->getUrl('customer/account/editPost') ?>" method="post" id="form-validate" enctype="multipart/form-data" data-hasrequired="<?php echo __('* Required Fields') ?>">
+<fieldset class="fieldset info">
+    <?php echo $this->getBlockHtml('formkey')?>
+    <legend class="legend"><span><?php echo __('Account Information') ?></span></legend><br />
+    <?php echo $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Name')->setObject($this->getCustomer())->toHtml() ?>
+    <div class="field email required">
+        <label class="label" for="email"><span><?php echo __('Email Address') ?></span></label>
+        <div class="control">
+            <input type="text" name="email" id="email" value="<?php echo $this->escapeHtml($this->getCustomer()->getEmail()) ?>" title="<?php echo __('Email Address') ?>" class="input-text" data-validate="{required:true, 'validate-email':true}" />
+        </div>
+    </div>
+    <?php $_dob = $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Dob') ?>
+    <?php $_taxvat = $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Taxvat') ?>
+    <?php $_gender = $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Gender') ?>
+    <?php if ($_dob->isEnabled()): ?>
+        <?php echo $_dob->setDate($this->getCustomer()->getDob())->toHtml() ?>
+    <?php endif ?>
+    <?php if ($_taxvat->isEnabled()): ?>
+        <?php echo $_taxvat->setTaxvat($this->getCustomer()->getTaxvat())->toHtml() ?>
+    <?php endif ?>
+    <?php if ($_gender->isEnabled()): ?>
+        <?php echo $_gender->setGender($this->getCustomer()->getGender())->toHtml() ?>
+    <?php endif ?>
+    <div class="field choice">
+        <input type="checkbox" name="change_password" id="change-password" value="1" title="<?php echo __('Change Password') ?>"<?php if($this->getCustomer()->getChangePassword()==1): ?> checked="checked"<?php endif; ?> class="checkbox" />
+        <label class="label" for="change-password"><span><?php echo __('Change Password') ?></span></label>
+    </div>
+</fieldset>
+
+<fieldset class="fieldset password" style="display:none;">
+    <legend class="legend"><span><?php echo __('Change Password') ?></span></legend><br />
+    <div class="field password current required">
+        <label class="label" for="current-password"><span><?php echo __('Current Password') ?></span></label>
+        <div class="control">
+            <input type="password" class="input-text" name="current_password" id="current-password" />
+        </div>
+    </div>
+    <div class="field new password required">
+        <label class="label" for="password"><span><?php echo __('New Password') ?></span></label>
+        <div class="control">
+            <input type="password" class="input-text" name="password" id="password" />
+        </div>
+    </div>
+    <div class="field confirm password required">
+        <label class="label" for="confirmation"><span><?php echo __('Confirm New Password') ?></span></label>
+        <div class="control">
+            <input type="password" class="input-text" name="confirmation" id="confirmation" />
+        </div>
+    </div>
+</fieldset>
+<div class="actions">
+    <div class="primary">
+        <button type="submit" class="action save" title="<?php echo __('Save') ?>"><span><?php echo __('Save') ?></span></button>
+    </div>
+    <div class="secondary">
+        <a class="action back" href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>"><span><?php echo __('Go back') ?></span></a>
+    </div>
+</div>
+</form>
+<script type="text/javascript">
+    (function($) {
+        head.js(
+            "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+            "<?php echo $this->getViewFileUrl('Magento_Customer::set-password.js') ?>",
+            <?php if ($_dob->isEnabled()): ?>
+            "<?php echo $this->getViewFileUrl('mage/validation/dob-rule.js') ?>",
+            <?php endif ?>
+            function() {
+                $('#change-password').setPassword({
+                    currentPasswordId: '#current-password',
+                    passwordId: '#password',
+                    confirmationId: '#confirmation',
+                    passwordContainer: 'fieldset.fieldset.password',
+                    showOnDefault: <?php echo $this->getCustomer()->getChangePassword() ? 'true' : 'false' ?>
+                });
+                var dataForm = $('#form-validate'), ignore;
+                <?php if ($_dob->isEnabled()): ?>
+                    ignore = 'input[id$="full"]';
+                <?php endif ?>
+                dataForm.validation({
+                <?php if ($_dob->isEnabled()): ?>
+                    errorPlacement: function(error, element) {
+                        if (element.prop('id').search('full') !== -1) {
+                            var dobElement = $(element).parents('.customer-dob'),
+                                errorClass = error.prop('class');
+                            error.insertAfter(element.parent());
+                            dobElement.find('.validate-custom').addClass(errorClass)
+                                .after('<div class="' + errorClass + '"></div>');
+                        }
+                        else {
+                            error.insertAfter(element);
+                        }
+                    },
+                    ignore: ':hidden:not(' + ignore + ')'
+                <?php else: ?>
+                    ignore: ignore ? ':hidden:not(' + ignore + ')' : ':hidden'
+                <?php endif ?>
+                });
+            });
+    })(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/form/forgotpassword.phtml b/app/design/frontend/magento_plushe/Magento_Customer/form/forgotpassword.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..8e253400da2f12de9e841a8045c50cbc9c2182d6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/form/forgotpassword.phtml
@@ -0,0 +1,57 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<form class="form password forget" action="<?php echo $this->getUrl('*/*/forgotpasswordpost') ?>" method="post" id="form-validate">
+    <fieldset class="fieldset" data-hasrequired="<?php echo __('* Required Fields') ?>">
+        <p class="field note"><?php echo __('Please enter your email address below. You will receive a link to reset your password.'); ?></p>
+        <div class="field email required">
+            <label for="email_address" class="label"><span><?php echo __('Email Address') ?></span></label>
+            <div class="control">
+                <input type="text" name="email" alt="email" id="email_address" class="input-text" value="<?php echo $this->escapeHtml($this->getEmailValue()) ?>" data-validate="{required:true, 'validate-email':true}" />
+            </div>
+        </div>
+        <?php echo $this->getChildHtml('form_additional_info'); ?>
+    </fieldset>
+    <div class="actions">
+        <div class="primary">
+            <button type="submit" class="action submit"><span><?php echo __('Submit') ?></span></button>
+        </div>
+        <div class="secondary">
+            <a class="action back" href="<?php echo $this->helper('Magento\Customer\Helper\Data')->getLoginUrl() ?>"><span><?php echo __('Go back') ?></span></a>
+        </div>
+    </div>
+</form>
+<script type="text/javascript">
+    (function($) {
+        head.js(
+            "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+            function() {
+                $('#form-validate').validation();
+            });
+    })(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/form/login.phtml b/app/design/frontend/magento_plushe/Magento_Customer/form/login.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..2c6b40d8dbb09c4e4b87ea55eb819aca7e1e966f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/form/login.phtml
@@ -0,0 +1,82 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Customer login form template
+ *
+ * @see \Magento\Customer\Block\Form\Login
+ */
+?>
+<?php /*
+<div class="account-login<?php if (!$this->helper('Magento\Customer\Helper\Data')->isRegistrationAllowed()) echo ' login-only' ?>">
+    <div class="page-title">
+        <h1><?php if ($this->helper('Magento\Customer\Helper\Data')->isRegistrationAllowed()): ?>
+            <?php echo __('Login or Create an Account') ?>
+            <?php else: ?>
+            <?php echo __('Login'); ?>
+            <?php endif; ?></h1>
+    </div>
+    */
+?>
+<div class="block customer login">
+    <div class="title"><strong><?php echo __('Registered Customers') ?></strong></div>
+    <div class="content">
+        <form class="form login" action="<?php echo $this->getPostActionUrl() ?>" method="post" id="login-form">
+            <fieldset class="fieldset login" data-hasrequired="<?php echo __('* Required Fields') ?>">
+                <p class="field note"><?php echo __('If you have an account with us, log in using your email address.') ?></p>
+                <div class="field email required">
+                    <label class="label" for="email"><span><?php echo __('Email Address') ?></span></label>
+                    <div class="control">
+                        <input name="login[username]" value="<?php echo $this->escapeHtml($this->getUsername()) ?>" id="email" type="text" class="input-text" title="<?php echo __('Email Address') ?>" data-validate="{required:true, 'validate-email':true}" />
+                    </div>
+                </div>
+                <div class="field password required">
+                    <label for="pass" class="label"><span><?php echo __('Password') ?></span></label>
+                    <div class="control">
+                        <input name="login[password]" type="password" class="input-text" id="pass" title="<?php echo __('Password') ?>" data-validate="{required:true, 'validate-password':true}"  />
+                    </div>
+                </div>
+                <?php echo $this->getChildHtml('form_additional_info'); ?>
+                <div class="actions">
+                    <div class="primary"><button type="submit" class="action login" name="send" id="send2"><span><?php echo __('Login') ?></span></button></div>
+                    <div class="secondary"><a class="action remind" href="<?php echo $this->getForgotPasswordUrl() ?>"><span><?php echo __('Forgot Your Password?') ?></span></a></div>
+                </div>
+            </fieldset>
+        </form>
+    </div>
+    <script type="text/javascript">
+        (function($) {
+            head.js(
+                "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+                "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+                "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+                "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+                function() {
+                    $('#login-form').validation();
+                });
+        })(jQuery);
+    </script>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/form/newsletter.phtml b/app/design/frontend/magento_plushe/Magento_Customer/form/newsletter.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..cd4a812be3748e189544cfd1bbb1437d36bb441e
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/form/newsletter.phtml
@@ -0,0 +1,45 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php echo $this->getChildHtml('form_before')?>
+<form class="form newsletter manage" action="<?php echo $this->getAction() ?>" method="post" id="form-validate">
+    <fieldset class="fieldset">
+        <?php echo $this->getBlockHtml('formkey')?>
+        <legend class="legend"><span><?php echo __('Subscription option') ?></span></legend><br />
+            <div class="field choice">
+                <input type="checkbox" name="is_subscribed" id="subscription" value="1" title="<?php echo __('General Subscription') ?>"<?php if($this->getIsSubscribed()): ?> checked="checked"<?php endif; ?> class="checkbox" />
+                <label for="subscription" class="label"><span><?php echo __('General Subscription') ?></span></label>
+            </div>
+            <?php /* Extensions placeholder */ ?>
+            <?php echo $this->getChildHtml('customer.form.newsletter.extra')?>
+        </ul>
+    </fieldset>
+    <div class="actions">
+        <div class="primary"><button type="submit" title="<?php echo __('Save') ?>" class="action save"><span><?php echo __('Save') ?></span></button></div>
+        <div class="secondary"><a class="action back" href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>"><span><?php echo __('Back') ?></span></a></div>
+    </div>
+</form>
+<?php /* Extensions placeholder */ ?>
+<?php echo $this->getChildHtml('customer.form.newsletter.extra2')?>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/form/register.phtml b/app/design/frontend/magento_plushe/Magento_Customer/form/register.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..be555e0be84ba14fcfcc4f65e83f26ee6005e662
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/form/register.phtml
@@ -0,0 +1,234 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Create account form template
+ *
+ * @see \Magento\Customer\Block\Form\Register
+ */
+?>
+
+    <?php echo $this->getChildHtml('form_fields_before')?>
+    <?php /* Extensions placeholder */ ?>
+    <?php echo $this->getChildHtml('customer.form.register.extra')?>
+    <form class="form create account" action="<?php echo $this->getPostActionUrl() ?>" method="post" id="form-validate" enctype="multipart/form-data">
+        <fieldset class="fieldset create info">
+            <legend class="legend"><span><?php echo __('Personal Information') ?></span></legend><br />
+            <input type="hidden" name="success_url" value="<?php echo $this->getSuccessUrl() ?>" />
+            <input type="hidden" name="error_url" value="<?php echo $this->getErrorUrl() ?>" />
+
+            <?php echo $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Name')->setObject($this->getFormData())->setForceUseCustomerAttributes(true)->toHtml() ?>
+
+            <div class="field required">
+                <label for="email_address" class="label"><span><?php echo __('Email Address') ?></span></label>
+                <div class="control">
+                    <input type="text" name="email" id="email_address" value="<?php echo $this->escapeHtml($this->getFormData()->getEmail()) ?>" title="<?php echo __('Email Address') ?>" class="input-text" data-validate="{required:true, 'validate-email':true}" />
+                </div>
+            </div>
+
+            <?php if ($this->isNewsletterEnabled()): ?>
+            <div class="field choice newsletter">
+                <input type="checkbox" name="is_subscribed" title="<?php echo __('Sign Up for Newsletter') ?>" value="1" id="is_subscribed"<?php if($this->getFormData()->getIsSubscribed()): ?> checked="checked"<?php endif; ?> class="checkbox" />
+                <label for="is_subscribed" class="label"><span><?php echo __('Sign Up for Newsletter') ?></span></label>
+            </div>
+                <?php /* Extensions placeholder */ ?>
+                <?php echo $this->getChildHtml('customer.form.register.newsletter')?>
+            <?php endif ?>
+
+            <?php $_dob = $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Dob') ?>
+            <?php if ($_dob->isEnabled()): ?>
+                <?php echo $_dob->setDate($this->getFormData()->getDob())->toHtml() ?>
+            <?php endif ?>
+
+            <?php $_taxvat = $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Taxvat') ?>
+            <?php if ($_taxvat->isEnabled()): ?>
+                <?php echo $_taxvat->setTaxvat($this->getFormData()->getTaxvat())->toHtml() ?>
+            <?php endif ?>
+
+            <?php $_gender = $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Gender') ?>
+            <?php if ($_gender->isEnabled()): ?>
+                <?php echo $_gender->setGender($this->getFormData()->getGender())->toHtml() ?>
+            <?php endif ?>
+
+        </fieldset>
+
+    <?php if($this->getShowAddressFields()): ?>
+        <fieldset class="fieldset address">
+            <legend class="legend"><span><?php echo __('Address Information') ?></span></legend><br />
+            <input type="hidden" name="create_address" value="1" />
+            <div class="field company">
+                <label for="company" class="label"><span><?php echo __('Company') ?></span></label>
+                <div class="control">
+                    <input type="text" name="company" id="company" value="<?php echo $this->escapeHtml($this->getFormData()->getCompany()) ?>" title="<?php echo __('Company') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('company') ?>" />
+                </div>
+            </div>
+            <div class="field telephone">
+                <label for="telephone" class="label"><span><?php echo __('Telephone') ?></span></label>
+                <div class="control">
+                    <input type="text" name="telephone" id="telephone" value="<?php echo $this->escapeHtml($this->getFormData()->getTelephone()) ?>" title="<?php echo __('Telephone') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('telephone') ?>" />
+                </div>
+            </div>
+
+            <?php $_streetValidationClass = $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('street'); ?>
+
+            <div class="field street required">
+                <label for="street_1" class="label"><span><?php echo __('Street Address') ?></span></label>
+                <div class="control">
+                    <input type="text" name="street[]" value="<?php echo $this->escapeHtml($this->getFormData()->getStreet(0)) ?>" title="<?php echo __('Street Address') ?>" id="street_1" class="input-text <?php echo $_streetValidationClass ?>" />
+                    <div class="nested">
+                    <?php $_streetValidationClass = trim(str_replace('required-entry', '', $_streetValidationClass)); ?>
+                    <?php for ($_i = 2, $_n = $this->helper('Magento\Customer\Helper\Address')->getStreetLines(); $_i <= $_n; $_i++): ?>
+                        <div class="field additional no-label">
+                            <div class="control">
+                                <input type="text" name="street[]" value="<?php echo $this->escapeHtml($this->getFormData()->getStreet($_i - 1)) ?>" title="<?php echo __('Street Address %1', $_i) ?>" id="street_<?php echo $_i ?>" class="input-text <?php echo $_streetValidationClass ?>" />
+                            </div>
+                        </div>
+                    <?php endfor; ?>
+                    </div>
+                </div>
+            </div>
+
+            <div class="field required">
+                <label for="city" class="label"><span><?php echo __('City') ?></span></label>
+                <div class="control">
+                    <input type="text" name="city" value="<?php echo $this->escapeHtml($this->getFormData()->getCity()) ?>" title="<?php echo __('City') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('city') ?>" id="city" />
+                </div>
+            </div>
+
+            <div class="field region required">
+                <label for="region_id" class="label"><span><?php echo __('State/Province') ?></span></label>
+                <div class="control">
+                    <select id="region_id" name="region_id" title="<?php echo __('State/Province') ?>" class="validate-select" style="display:none;">
+                        <option value=""><?php echo __('Please select region, state or province') ?></option>
+                    </select>
+                    <input type="text" id="region" name="region" value="<?php echo $this->escapeHtml($this->getRegion()) ?>" title="<?php echo __('State/Province') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('region') ?>" style="display:none;" />
+                </div>
+            </div>
+
+            <div class="field zip required">
+                <label for="zip" class="label"><span><?php echo __('Zip/Postal Code') ?></span></label>
+                <div class="control">
+                    <input type="text" name="postcode" value="<?php echo $this->escapeHtml($this->getFormData()->getPostcode()) ?>" title="<?php echo __('Zip/Postal Code') ?>" id="zip" class="input-text validate-zip-international <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('postcode') ?>" />
+                </div>
+            </div>
+
+            <div class="field country required">
+                <label for="country" class="label"><span><?php echo __('Country') ?></span></label>
+                <div class="control">
+                    <?php echo $this->getCountryHtmlSelect() ?>
+                </div>
+            </div>
+                <?php $addressAttributes = $this->getChildBlock('customer_form_address_user_attributes');?>
+                <?php if ($addressAttributes): ?>
+                    <?php $addressAttributes->setEntity($this->getAddress());?>
+                    <?php $addressAttributes->setFieldIdFormat('address:%1$s')->setFieldNameFormat('address[%1$s]');?>
+                    <?php $this->restoreSessionData($addressAttributes->getForm(), 'address');?>
+                    <?php echo $addressAttributes->setShowContainer(false)->toHtml()?>
+                <?php endif;?>
+            <input type="hidden" name="default_billing" value="1" />
+            <input type="hidden" name="default_shipping" value="1" />
+        </fieldset>
+
+    <?php endif; ?>
+        <fieldset class="fieldset create account" data-hasrequired="<?php echo __('* Required Fields') ?>">
+            <legend class="legend"><span><?php echo __('Login Information') ?></span></legend><br />
+
+            <div class="field password required">
+                <label for="password" class="label"><span><?php echo __('Password') ?></span></label>
+                <div class="control">
+                    <input type="password" name="password" id="password" title="<?php echo __('Password') ?>" class="input-text" data-validate="{required:true, 'validate-password':true}" />
+                </div>
+            </div>
+            <div class="field confirmation required">
+                <label for="confirmation" class="label"><span><?php echo __('Confirm Password') ?></span></label>
+                <div class="control">
+                    <input type="password" name="confirmation" title="<?php echo __('Confirm Password') ?>" id="confirmation" class="input-text" data-validate="{required:true, equalTo:'#password'}" />
+                </div>
+            </div>
+            <?php echo $this->getChildHtml('form_additional_info'); ?>
+        </fieldset>
+        <div class="actions">
+            <div class="primary">
+                <button type="submit" class="action submit" title="<?php echo __('Submit') ?>"><span><?php echo __('Submit') ?></span></button>
+            </div>
+            <div class="secondary">
+                <a class="action back" href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>"><span><?php echo __('Back') ?></span></a>
+            </div>
+        </div>
+    </form>
+    <script type="text/javascript">
+        (function($) {
+            head.js(
+                "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+                "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+                "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+                "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+                <?php if ($this->getShowAddressFields()): ?>
+                    "<?php echo $this->getViewFileUrl('Magento_Checkout::js/region-updater.js') ?>",
+                <?php endif ?>
+                <?php if ($_dob->isEnabled()): ?>
+                    "<?php echo $this->getViewFileUrl('mage/validation/dob-rule.js') ?>",
+                <?php endif ?>
+                function() {
+                    var dataForm = $('#form-validate'), ignore;
+                    <?php if ($_dob->isEnabled()): ?>
+                        ignore = 'input[id$="full"]';
+                    <?php endif ?>
+                    dataForm.validation({
+                    <?php if ($_dob->isEnabled()): ?>
+                        errorPlacement: function(error, element) {
+                            if (element.prop('id').search('full') !== -1) {
+                                var dobElement = $(element).parents('.customer-dob'),
+                                    errorClass = error.prop('class');
+                                error.insertAfter(element.parent());
+                                dobElement.find('.validate-custom').addClass(errorClass)
+                                    .after('<div class="' + errorClass + '"></div>');
+                            }
+                            else {
+                                error.insertAfter(element);
+                            }
+                        },
+                        ignore: ':hidden:not(' + ignore + ')'
+                    <?php else: ?>
+                        ignore: ignore ? ':hidden:not(' + ignore + ')' : ':hidden'
+                    <?php endif ?>
+                    }).find('input:text').attr('autocomplete', 'off');
+                    <?php if ($this->getShowAddressFields()): ?>
+                        $('#country').regionUpdater({
+                            optionalRegionAllowed: <?php echo ($this->getConfig('general/region/display_all')? 'true' : 'false'); ?>,
+                            regionListId: '#region_id',
+                            regionInputId: '#region',
+                            postcodeId: '#zip',
+                            form: dataForm,
+                            regionJson: <?php echo $this->helper('Magento\Directory\Helper\Data')->getRegionJson() ?>,
+                            defaultRegion: "<?php echo $this->getFormData()->getRegionId() ?>",
+                            countriesWithOptionalZip: <?php echo $this->helper('Magento\Directory\Helper\Data')->getCountriesWithOptionalZip(true) ?>
+                        });
+                    <?php endif; ?>
+                });
+        })(jQuery);
+    </script>
+
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/form/resetforgottenpassword.phtml b/app/design/frontend/magento_plushe/Magento_Customer/form/resetforgottenpassword.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..5cb725070f61c446a4158ee947c31773c8b4ea28
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/form/resetforgottenpassword.phtml
@@ -0,0 +1,59 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<form action="<?php echo $this->getUrl('*/*/resetpasswordpost', array('_query' => array('id' => $this->getCustomerId(), 'token' => $this->getResetPasswordLinkToken()))); ?>" method="post" id="form-validate" class="form password reset">
+    <fieldset class="fieldset" data-hasrequired="<?php echo __('* Required Fields'); ?>">
+        <div class="field password required">
+            <label class="label" for="password"><span><?php echo __('New Password'); ?></span></label>
+            <div class="control">
+                <input type="password" class="input-text" name="password" id="password" data-validate="{required:true, 'validate-password':true}"/>
+            </div>
+        </div>
+        <div class="field confirmation required">
+            <label class="label" for="confirmation"><span><?php echo __('Confirm New Password'); ?></span></label>
+            <div class="control">
+                <input type="password" class="input-text" name="confirmation" id="confirmation" data-validate="{required:true,equalTo:'#password'}"/>
+            </div>
+        </div>
+    </fieldset>
+    <div class="actions">
+        <div class="primary">
+            <button type="submit" title="<?php echo __('Reset a Password'); ?>" class="action submit"><span><?php echo __('Reset a Password'); ?></span></button>
+        </div>
+    </div>
+</form>
+<script type="text/javascript">
+    (function($) {
+        head.js(
+            "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+            function() {
+                $('#form-validate').validation();
+            });
+    })(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/layout/customer_account.xml b/app/design/frontend/magento_plushe/Magento_Customer/layout/customer_account.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c8cdb22c4514aadbe4f35f6701aefe1b5cc392bd
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/layout/customer_account.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="page_two_columns_left"/>
+    <referenceBlock name="root">
+        <action method="addBodyClass">
+            <argument name="class" xsi:type="string">account</argument>
+        </action>
+    </referenceBlock>
+    <remove name="catalog.compare.sidebar"/>
+    <remove name="tags_popular"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/layout/default.xml b/app/design/frontend/magento_plushe/Magento_Customer/layout/default.xml
new file mode 100644
index 0000000000000000000000000000000000000000..78ca4af2db4bc41ac88e6e77324816bd7324df44
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/layout/default.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="header.links">
+        <block class="Magento\Customer\Block\Account\Customer" name="customer" template="account/customer.phtml" />
+        <block class="Magento\Customer\Block\Account\RegisterLink" after="authorization-link-login" name="register-link">
+            <arguments>
+                <argument name="label" xsi:type="string">register</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Customer\Block\Account\AuthorizationLink" name="authorization-link-login"/>
+    </referenceBlock>
+    <move element="top.links" destination="customer"/>
+    <move element="authorization-link" destination="top.links" after="-"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_create.xml b/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_create.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7dd7c664bdd18a8716a70b3f08b1898c7cef2a8e
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_create.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Customer Account Registration Form" type="page" parent="customer_account">
+    <referenceBlock name="root">
+        <action method="setTemplate">
+            <argument name="template" xsi:type="string">1column.phtml</argument>
+        </action>
+    </referenceBlock>
+    <container name="customer.form.register.fields.before" label="Form Fields Before" htmlTag="div" htmlClass="rewards"/>
+    <referenceContainer name="content">
+        <block class="Magento\Customer\Block\Form\Register" name="customer_form_register" template="form/register.phtml">
+            <container name="form.additional.info" label="invisible" as="form_additional_info"/>
+            <action method="append">
+                <argument name="element" xsi:type="string">customer.form.register.fields.before</argument>
+                <argument name="alias" xsi:type="string">form_fields_before</argument>
+            </action>
+        </block>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_edit.xml b/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_edit.xml
new file mode 100644
index 0000000000000000000000000000000000000000..df916091a3c1d152ab5a51b5d6ea2369316486c9
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_edit.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Customer Account Edit Form" type="page" parent="customer_account">
+    <update handle="customer_account"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="title" xsi:type="string">Edit Account Info</argument>
+        </action>
+    </referenceBlock>
+    <referenceBlock name="my.account.wrapper">
+        <block class="Magento\Customer\Block\Form\Edit" name="customer_edit" template="form/edit.phtml"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_forgotpassword.xml b/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_forgotpassword.xml
new file mode 100644
index 0000000000000000000000000000000000000000..128f53260916ba59c486e5bfb64e0c72f8cbd0bd
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_forgotpassword.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Customer Forgot Password Form" type="page" parent="customer_account">
+    <referenceBlock name="head">
+        <action method="setTitle">
+            <argument translate="true" name="title" xsi:type="string">Forgot Your Password</argument>
+        </action>
+    </referenceBlock>
+    <referenceBlock name="root">
+        <action method="setTemplate">
+            <argument name="template" xsi:type="string">1column.phtml</argument>
+        </action>
+        <action method="setHeaderTitle">
+            <argument translate="true" name="title" xsi:type="string">Password forgotten</argument>
+        </action>
+    </referenceBlock>
+    <referenceContainer name="content">
+        <block class="Magento\Customer\Block\Account\Forgotpassword" name="forgotPassword" template="form/forgotpassword.phtml">
+            <container name="form.additional.info" label="invisible" as="form_additional_info"/>
+        </block>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_index.xml b/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_index.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3aa28cf32072f89d7579fe773c1dd1fc14d07568
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_index.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Customer My Account Dashboard" type="page" parent="customer_account">
+    <update handle="customer_account"/>
+    <update handle="page_two_columns_left"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument translate="true" name="title" xsi:type="string">My Dashboard</argument>
+        </action>
+    </referenceBlock>
+    <referenceBlock name="my.account.wrapper">
+        <block class="Magento\Customer\Block\Account\Dashboard\Hello" name="customer_account_dashboard_hello" as="hello" template="account/dashboard/hello.phtml"/>
+        <block class="Magento\Core\Block\Template" name="customer_account_dashboard_top" as="top"/>
+        <block class="Magento\Customer\Block\Account\Dashboard\Info" name="customer_account_dashboard_info" as="info" template="account/dashboard/info.phtml"/>
+        <block class="Magento\Customer\Block\Account\Dashboard\Address" name="customer_account_dashboard_address" as="address" template="account/dashboard/address.phtml"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_login.xml b/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_login.xml
new file mode 100644
index 0000000000000000000000000000000000000000..50e86321f0267f0997c6bce605334f7389e8c877
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_account_login.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Customer Account Login Form" type="page" parent="customer_account">
+    <referenceBlock name="root">
+        <action method="setTemplate">
+            <argument name="template" xsi:type="string">1column.phtml</argument>
+        </action>
+    </referenceBlock>
+    <referenceContainer name="content">
+        <!-- customer.form.login.extra -->
+        <container name="customer.login.container" label="Customer Login Container" htmlTag="div" htmlClass="login container">
+            <block class="Magento\Customer\Block\Form\Login" name="customer_form_login" template="form/login.phtml">
+                <container name="form.additional.info" label="invisible" as="form_additional_info"/>
+            </block>
+            <block class="Magento\Customer\Block\Form\Login" name="customer.new" template="newcustomer.phtml"/>
+        </container>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_address_index.xml b/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_address_index.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c864da39dd2026dc4dbfe63201624c08ef526ba8
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/layout/override/customer_address_index.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Customer My Account Address Book" type="page" parent="customer_account_index">
+    <update handle="customer_account"/>
+    <referenceBlock name="page.main.title">
+        <block class="Magento\Customer\Block\Address\Book" name="address.book.button" template="address/button.phtml"/>
+    </referenceBlock>
+    <referenceBlock name="my.account.wrapper">
+        <block class="Magento\Customer\Block\Address\Book" name="address_book" template="address/book.phtml"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/newcustomer.phtml b/app/design/frontend/magento_plushe/Magento_Customer/newcustomer.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..52620acc2d5c4acd76b36c76e077c1812ce47e8b
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/newcustomer.phtml
@@ -0,0 +1,44 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * New Customer block template
+ *
+ * @see \Magento\Customer\Block\Form\Login
+ */
+?>
+<?php if ($this->helper('Magento\Customer\Helper\Data')->isRegistrationAllowed()): ?>
+<div class="block new customer">
+    <div class="title"><strong><?php echo __('New Customers') ?></strong></div>
+    <div class="content">
+        <p><?php echo __('By creating an account with our store, you will be able to move through the checkout process faster, store multiple shipping addresses, view and track your orders in your account and more.') ?></p>
+        <div class="actions">
+            <a href="<?php echo $this->getCreateAccountUrl() ?>" class="action create"><span><?php echo __('Register') ?></span></a>
+        </div>
+    </div>
+</div>
+<?php endif; ?>
+
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/widget/dob.phtml b/app/design/frontend/magento_plushe/Magento_Customer/widget/dob.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..8bede142247742f0d8546cc035ff2dec87cdcc62
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/widget/dob.phtml
@@ -0,0 +1,84 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+USAGE:
+
+Simple:
+
+<?php echo $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Dob')
+   ->setDate($this->getCustomer()->getDob())
+   ->toHtml() ?>
+
+For checkout/onepage/billing.phtml:
+
+<?php echo $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Dob')
+   ->setDate($this->getCustomer()->getDob())
+   ->setFieldIdFormat('billing:%s')
+   ->setFieldNameFormat('billing[%s]')
+   ->toHtml() ?>
+
+NOTE: Regarding styles - if we leave it this way, we'll move it to boxes.css
+      Alternatively we could calculate widths automatically using block input parameters.
+*/
+
+/**
+ * @see \Magento\Customer\Block\Widget\Dob
+ */
+?>
+<div class="field dob<?php if ($this->isRequired()) echo ' required' ?>">
+    <label class="label" for="<?php echo $this->getFieldId('month')?>"><span><?php echo __('Date of Birth') ?></span></label>
+    <div class="control customer-dob">
+        <div class="fields group group-3">
+        <?php
+            $this->setDateInput('d',
+                '<div class="field dob-day day">
+                     <label class="label" for="' . $this->getFieldId('day') . '"><span>' . __('DD') . '</span></label>
+                     <div class="control"><input type="text" id="' . $this->getFieldId('day') . '" name="' . $this->getFieldName('day') . '" value="' . $this->getDay() . '" title="' . __('Day') . '" class="input-text validate-custom" ' . $this->getFieldParams() . ' /></div>
+                 </div>'
+            );
+
+            $this->setDateInput('m',
+                '<div class="field dob-month month">
+                     <label class="label" for="' . $this->getFieldId('month') . '"><span>' . __('MM')  . '</span></label>
+                     <div class="control"><input type="text" id="' . $this->getFieldId('month') . '" name="' . $this->getFieldName('month') . '" value="' . $this->getMonth()  . '" title="' . __('Month')  . '" class="input-text validate-custom" ' . $this->getFieldParams()  . ' /></div>
+                 </div>'
+            );
+
+            $this->setDateInput('y',
+                '<div class="field dob-year year">
+                     <label class="label" for="' . $this->getFieldId('year') . '"><span>' . __('YYYY')  . '</span></label>
+                     <div class="control"><input type="text" id="' . $this->getFieldId('year') . '" name="' . $this->getFieldName('year') . '" value="' . $this->getYear()  . '" title="' . __('Year')  . '" class="input-text validate-custom" ' . $this->getFieldParams()  . ' /></div>
+                 </div>'
+            );
+        ?>
+        <?php echo $this->getSortedDateInputs() ?>
+        </div>
+        <span class="dob-full" style="display:none;">
+            <input type="hidden" id="<?php echo $this->getFieldId('full')?>" name="<?php echo $this->getFieldName('dob')?>" data-validate="{'validate-dob': ['.dob-day', '.dob-month', '.dob-year', <?php echo $this->isRequired() ? 'true' : 'false' ?>]<?php if ($this->getMinDateRange() && $this->getMaxDateRange()):?>, 'validate-date-between':['<?php echo $this->getMinDateRange()?>', '<?php echo $this->getMaxDateRange()?>']<?php endif;?>}"/>
+        </span>
+        <div class="validation-advice" id="<?php echo $this->getFieldId('date-advice')?>" style="opacity:0.999999; display:none;"></div>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/widget/gender.phtml b/app/design/frontend/magento_plushe/Magento_Customer/widget/gender.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..13010e23213abd949a564f745802ab0ebae807e3
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/widget/gender.phtml
@@ -0,0 +1,37 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="field gender<?php if ($this->isRequired()) echo ' required' ?>">
+    <label class="label" for="<?php echo $this->getFieldId('gender')?>"><span><?php echo __('Gender') ?></span></label>
+    <div class="control">
+        <select id="<?php echo $this->getFieldId('gender')?>" name="<?php echo $this->getFieldName('gender')?>" title="<?php echo __('Gender') ?>"<?php if ($this->isRequired()):?> class="validate-select" data-validate="{required:true}"<?php endif; ?> <?php echo $this->getFieldParams() ?>>
+            <?php $options = $this->getGenderOptions(); ?>
+            <?php $value = $this->getGender();?>
+            <?php foreach ($options as $option):?>
+                <option value="<?php echo $option['value'] ?>"<?php if ($option['value'] == $value) echo ' selected="selected"' ?>><?php echo $option['label'] ?></option>
+            <?php endforeach;?>
+        </select>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/widget/name.phtml b/app/design/frontend/magento_plushe/Magento_Customer/widget/name.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..cc30b8872c90bd9f813a3ea4f7ca1b13c40e1263
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/widget/name.phtml
@@ -0,0 +1,112 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+USAGE:
+
+Simple:
+
+<?php echo $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Name')
+   ->setObject($this->getAddress())
+   ->toHtml() ?>
+
+For checkout/onepage/shipping.phtml:
+
+<?php echo $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Name')
+   ->setObject($this->getAddress())
+   ->setFieldIdFormat('shipping:%s')
+   ->setFieldNameFormat('shipping[%s]')
+   ->setFieldParams('onchange="shipping.setSameAsBilling(false);"')
+   ->toHtml() ?>
+*/
+/* @var $this \Magento\Customer\Block\Widget\Name */
+$prefix = $this->showPrefix();
+$middle = $this->showMiddlename();
+$suffix = $this->showSuffix();
+?>
+<?php if ($prefix || $middle || $suffix && !$this->getNoWrap()): ?>
+<div class="field required fullname <?php echo $this->getContainerClassName()?>">
+    <label for="<?php echo $this->getFieldId('firstname')?>" class="label"><span><?php echo __('Name')?></span></label>
+    <div class="control">
+        <div class="fields group group-<?php echo 2 + intval($prefix) + intval($middle) + intval($suffix)?>">
+<?php endif; ?>
+<?php if ($prefix): ?>
+    <div class="field name-prefix<?php if ($this->isPrefixRequired()) echo ' required' ?>">
+        <label class="label" for="<?php echo $this->getFieldId('prefix')?>"><span><?php echo $this->getStoreLabel('prefix') ?></span></label>
+        <div class="control">
+            <?php if ($this->getPrefixOptions() === false): ?>
+                <input type="text" id="<?php echo $this->getFieldId('prefix')?>" name="<?php echo $this->getFieldName('prefix')?>" value="<?php echo $this->escapeHtml($this->getObject()->getPrefix()) ?>" title="<?php echo $this->getStoreLabel('prefix') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('prefix') ?>" <?php echo $this->getFieldParams() ?> <?php if ($this->isPrefixRequired()) echo ' data-validate="{required:true}"' ?> />
+            <?php else: ?>
+                <select id="<?php echo $this->getFieldId('prefix')?>" name="<?php echo $this->getFieldName('prefix')?>" title="<?php echo $this->getStoreLabel('prefix') ?>" class="<?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('prefix') ?>" <?php echo $this->getFieldParams() ?> <?php if ($this->isPrefixRequired()) echo ' data-validate="{required:true}"' ?> >
+                <?php foreach ($this->getPrefixOptions() as $_option): ?>
+                    <option value="<?php echo $_option?>"<?php if ($this->getObject()->getPrefix()==$_option):?> selected="selected"<?php endif; ?>><?php echo __($_option)?></option>
+                <?php endforeach; ?>
+                </select>
+            <?php endif; ?>
+        </div>
+    </div>
+<?php endif; ?>
+    <div class="field name-firstname required">
+        <label class="label" for="<?php echo $this->getFieldId('firstname')?>"><span><?php echo $this->getStoreLabel('firstname') ?></span></label>
+        <div class="control">
+            <input type="text" id="<?php echo $this->getFieldId('firstname')?>" name="<?php echo $this->getFieldName('firstname')?>" value="<?php echo $this->escapeHtml($this->getObject()->getFirstname()) ?>" title="<?php echo $this->getStoreLabel('firstname') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('firstname') ?>" <?php echo $this->getFieldParams() ?> <?php if ($this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('firstname') == 'required-entry') echo ' data-validate="{required:true}"' ?> />
+        </div>
+    </div>
+<?php if ($middle): ?>
+<?php $isMiddlenameRequired = $this->isMiddlenameRequired(); ?>
+    <div class="field name-middlename<?php echo $isMiddlenameRequired ? ' required' : '' ?>">
+        <label class="label" for="<?php echo $this->getFieldId('middlename')?>"><span><?php echo $this->getStoreLabel('middlename') ?></span></label>
+        <div class="control">
+            <input type="text" id="<?php echo $this->getFieldId('middlename')?>" name="<?php echo $this->getFieldName('middlename')?>" value="<?php echo $this->escapeHtml($this->getObject()->getMiddlename()) ?>" title="<?php echo $this->getStoreLabel('middlename') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('middlename') ?>" <?php echo $this->getFieldParams() ?> <?php echo $isMiddlenameRequired ? ' data-validate="{required:true}"' : '' ?> />
+        </div>
+    </div>
+<?php endif; ?>
+    <div class="field name-lastname required">
+        <label class="label" for="<?php echo $this->getFieldId('lastname')?>"><span><?php echo $this->getStoreLabel('lastname') ?></span></label>
+        <div class="control">
+            <input type="text" id="<?php echo $this->getFieldId('lastname')?>" name="<?php echo $this->getFieldName('lastname')?>" value="<?php echo $this->escapeHtml($this->getObject()->getLastname()) ?>" title="<?php echo $this->getStoreLabel('lastname') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('lastname') ?>" <?php echo $this->getFieldParams() ?> <?php if ($this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('lastname') == 'required-entry') echo ' data-validate="{required:true}"' ?> />
+        </div>
+    </div>
+<?php if ($suffix): ?>
+    <div class="field name-suffix<?php if ($this->isSuffixRequired()) echo ' required' ?>">
+        <label class="label" for="<?php echo $this->getFieldId('suffix')?>"><span><?php echo $this->getStoreLabel('suffix') ?></span></label>
+        <div class="control">
+        <?php if ($this->getSuffixOptions() === false): ?>
+            <input type="text" id="<?php echo $this->getFieldId('suffix')?>" name="<?php echo $this->getFieldName('suffix')?>" value="<?php echo $this->escapeHtml($this->getObject()->getSuffix()) ?>" title="<?php echo $this->getStoreLabel('suffix') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('suffix') ?>" <?php echo $this->getFieldParams() ?> <?php if ($this->isSuffixRequired()) echo ' data-validate="{required:true}"' ?> />
+        <?php else: ?>
+            <select id="<?php echo $this->getFieldId('suffix')?>" name="<?php echo $this->getFieldName('suffix')?>" title="<?php echo $this->getStoreLabel('suffix') ?>" class="<?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('suffix') ?>" <?php echo $this->getFieldParams() ?> <?php if ($this->isSuffixRequired()) echo ' data-validate="{required:true}"' ?>>
+            <?php foreach ($this->getSuffixOptions() as $_option): ?>
+                <option value="<?php echo $_option?>"<?php if ($this->getObject()->getSuffix()==$_option):?> selected="selected"<?php endif; ?>><?php echo __($_option)?></option>
+            <?php endforeach; ?>
+            </select>
+        <?php endif; ?>
+        </div>
+    </div>
+<?php endif; ?>
+<?php if ($prefix || $middle || $suffix && !$this->getNoWrap()): ?>
+        </div>
+    </div>
+</div>
+<?php endif; ?>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Customer/widget/taxvat.phtml b/app/design/frontend/magento_plushe/Magento_Customer/widget/taxvat.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..57fc40a725d6f5995ed2b9c4cb2e8d6eea368483
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Customer/widget/taxvat.phtml
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="field taxvat<?php if ($this->isRequired()) echo ' required'; ?>">
+    <label class="label" for="<?php echo $this->getFieldId('taxvat')?>"><span><?php echo __('Tax/VAT number') ?></span></label>
+    <div class="control">
+        <input type="text" id="<?php echo $this->getFieldId('taxvat')?>" name="<?php echo $this->getFieldName('taxvat')?>" value="<?php echo $this->escapeHtml($this->getTaxvat()) ?>" title="<?php echo __('Tax/VAT number') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('taxvat') ?>" <?php echo $this->getFieldParams() ?> <?php if ($this->isRequired()) echo ' data-validate="{required:true}"' ?> />
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_DesignEditor/controls/image_sizing.xml b/app/design/frontend/magento_plushe/Magento_DesignEditor/controls/image_sizing.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2d4d9e45b793f8940f097f7796cc304d3a031cfb
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_DesignEditor/controls/image_sizing.xml
@@ -0,0 +1,787 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    Magento
+ * @package     Magento_DesignEditor
+ * @subpackage  integration_tests
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+ -->
+<controls>
+    <control name="product_image_border" title="Product image white borders">
+        <type>white-border</type>
+        <components>
+            <control name="product_image_border:white-border">
+                <type>white-border</type>
+                <var>Magento_Catalog::product_image_white_borders</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="review_page_product_image" title="Review Page Product Image">
+        <type>image-sizing</type>
+        <components>
+            <control name="review_page_product_image-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::review_page_product_image:type</var>
+            </control>
+            <control name="review_page_product_image-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::review_page_product_image:width</var>
+            </control>
+            <control name="review_page_product_image-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::review_page_product_image:ratio</var>
+            </control>
+            <control name="review_page_product_image-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::review_page_product_image:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="customer_account_product_review_page" title="Customer Account: Product Review Page">
+        <type>image-sizing</type>
+        <components>
+            <control name="customer_account_product_review_page-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::customer_account_product_review_page:type</var>
+            </control>
+            <control name="customer_account_product_review_page-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::customer_account_product_review_page:width</var>
+            </control>
+            <control name="customer_account_product_review_page-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::customer_account_product_review_page:ratio</var>
+            </control>
+            <control name="customer_account_product_review_page-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::customer_account_product_review_page:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="category_page_list" title="Category Page - List View">
+        <type>image-sizing</type>
+        <components>
+            <control name="category_page_list-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::category_page_list:type</var>
+            </control>
+            <control name="category_page_list-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::category_page_list:width</var>
+            </control>
+            <control name="category_page_list-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::category_page_list:ratio</var>
+            </control>
+            <control name="category_page_list-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::category_page_list:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="category_page_grid" title="Category Page - Grid View">
+        <type>image-sizing</type>
+        <components>
+            <control name="category_page_grid-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::category_page_grid:type</var>
+            </control>
+            <control name="category_page_grid-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::category_page_grid:width</var>
+            </control>
+            <control name="category_page_grid-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::category_page_grid:ratio</var>
+            </control>
+            <control name="category_page_grid-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::category_page_grid:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="product_comparison_list" title="Product Comparison List">
+        <type>image-sizing</type>
+        <components>
+            <control name="product_comparison_list-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::product_comparison_list:type</var>
+            </control>
+            <control name="product_comparison_list-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::product_comparison_list:width</var>
+            </control>
+            <control name="product_comparison_list-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::product_comparison_list:ratio</var>
+            </control>
+            <control name="product_comparison_list-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::product_comparison_list:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="related_products_list" title="Related Products List">
+        <type>image-sizing</type>
+        <components>
+            <control name="related_products_list-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::related_products_list:type</var>
+            </control>
+            <control name="related_products_list-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::related_products_list:width</var>
+            </control>
+            <control name="related_products_list-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::related_products_list:ratio</var>
+            </control>
+            <control name="related_products_list-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::related_products_list:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="upsell_products_list" title="Up-sell Products List">
+        <type>image-sizing</type>
+        <components>
+            <control name="upsell_products_list-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::upsell_products_list:type</var>
+            </control>
+            <control name="upsell_products_list-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::upsell_products_list:width</var>
+            </control>
+            <control name="upsell_products_list-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::upsell_products_list:ratio</var>
+            </control>
+            <control name="upsell_products_list-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::upsell_products_list:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="product_page_main_image" title="Product Page Main Image">
+        <type>image-sizing</type>
+        <components>
+            <control name="product_page_main_image-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::product_page_main_image:type</var>
+            </control>
+            <control name="product_page_main_image-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::product_page_main_image:width</var>
+            </control>
+            <control name="product_page_main_image-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::product_page_main_image:ratio</var>
+            </control>
+            <control name="product_page_main_image-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::product_page_main_image:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="product_page_main_image_default" title="Product Page Main Image (Default)">
+        <type>image-sizing</type>
+        <components>
+            <control name="product_page_main_image_default-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::product_page_main_image_default:type</var>
+            </control>
+            <control name="product_page_main_image_default-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::product_page_main_image_default:width</var>
+            </control>
+            <control name="product_page_main_image_default-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::product_page_main_image_default:ratio</var>
+            </control>
+            <control name="product_page_main_image_default-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::product_page_main_image_default:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="product_page_more_views" title="Product Page - More Views">
+        <type>image-sizing</type>
+        <components>
+            <control name="product_page_more_views-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::product_page_more_views:type</var>
+            </control>
+            <control name="product_page_more_views-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::product_page_more_views:width</var>
+            </control>
+            <control name="product_page_more_views-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::product_page_more_views:ratio</var>
+            </control>
+            <control name="product_page_more_views-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::product_page_more_views:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="side_column_widget_product_thumbnail" title="Side Column Widget Product Thumbnail">
+        <type>image-sizing</type>
+        <components>
+            <control name="side_column_widget_product_thumbnail-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::side_column_widget_product_thumbnail:type</var>
+            </control>
+            <control name="side_column_widget_product_thumbnail-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::side_column_widget_product_thumbnail:width</var>
+            </control>
+            <control name="side_column_widget_product_thumbnail-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::side_column_widget_product_thumbnail:ratio</var>
+            </control>
+            <control name="side_column_widget_product_thumbnail-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::side_column_widget_product_thumbnail:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="new_products_content_widget_list" title="New Products Content Widget - List View">
+        <type>image-sizing</type>
+        <components>
+            <control name="new_products_content_widget_list-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::new_products_content_widget_list:type</var>
+            </control>
+            <control name="new_products_content_widget_list-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::new_products_content_widget_list:width</var>
+            </control>
+            <control name="new_products_content_widget_list-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::new_products_content_widget_list:ratio</var>
+            </control>
+            <control name="new_products_content_widget_list-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::new_products_content_widget_list:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="new_products_content_widget_grid" title="New Products Content Widget - Grid View">
+        <type>image-sizing</type>
+        <components>
+            <control name="new_products_content_widget_grid-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::new_products_content_widget_grid:type</var>
+            </control>
+            <control name="new_products_content_widget_grid-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::new_products_content_widget_grid:width</var>
+            </control>
+            <control name="new_products_content_widget_grid-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::new_products_content_widget_grid:ratio</var>
+            </control>
+            <control name="new_products_content_widget_grid-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::new_products_content_widget_grid:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="recently_compared_products_images_names_widget" title="Recently Compared Products Images and Names Widget">
+        <type>image-sizing</type>
+        <components>
+            <control name="recently_compared_products_images_names_widget-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::recently_compared_products_images_names_widget:type</var>
+            </control>
+            <control name="recently_compared_products_images_names_widget-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::recently_compared_products_images_names_widget:width</var>
+            </control>
+            <control name="recently_compared_products_images_names_widget-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::recently_compared_products_images_names_widget:ratio</var>
+            </control>
+            <control name="recently_compared_products_images_names_widget-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::recently_compared_products_images_names_widget:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="recently_viewed_products_images_names_widget" title="Recently Viewed Products Images and Names Widget">
+        <type>image-sizing</type>
+        <components>
+            <control name="recently_viewed_products_images_names_widget-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::recently_viewed_products_images_names_widget:type</var>
+            </control>
+            <control name="recently_viewed_products_images_names_widget-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::recently_viewed_products_images_names_widget:width</var>
+            </control>
+            <control name="recently_viewed_products_images_names_widget-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::recently_viewed_products_images_names_widget:ratio</var>
+            </control>
+            <control name="recently_viewed_products_images_names_widget-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::recently_viewed_products_images_names_widget:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="recently_compared_products_images_only_widget" title="Recently Compared Products Images Only Widget">
+        <type>image-sizing</type>
+        <components>
+            <control name="recently_compared_products_images_only_widget-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::recently_compared_products_images_only_widget:type</var>
+            </control>
+            <control name="recently_compared_products_images_only_widget-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::recently_compared_products_images_only_widget:width</var>
+            </control>
+            <control name="recently_compared_products_images_only_widget-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::recently_compared_products_images_only_widget:ratio</var>
+            </control>
+            <control name="recently_compared_products_images_only_widget-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::recently_compared_products_images_only_widget:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="recently_viewed_products_images_only_widget" title="Recently Viewed Products Images Only Widget">
+        <type>image-sizing</type>
+        <components>
+            <control name="recently_viewed_products_images_only_widget-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::recently_viewed_products_images_only_widget:type</var>
+            </control>
+            <control name="recently_viewed_products_images_only_widget-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::recently_viewed_products_images_only_widget:width</var>
+            </control>
+            <control name="recently_viewed_products_images_only_widget-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::recently_viewed_products_images_only_widget:ratio</var>
+            </control>
+            <control name="recently_viewed_products_images_only_widget-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::recently_viewed_products_images_only_widget:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="bundled_product_customization_page" title="Bundle Product - Customization Page">
+        <type>image-sizing</type>
+        <components>
+            <control name="bundled_product_customization_page-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::bundled_product_customization_page:type</var>
+            </control>
+            <control name="bundled_product_customization_page-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::bundled_product_customization_page:width</var>
+            </control>
+            <control name="bundled_product_customization_page-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::bundled_product_customization_page:ratio</var>
+            </control>
+            <control name="bundled_product_customization_page-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::bundled_product_customization_page:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="recently_compared_products_grid_content_widget" title="Recently Compared Products Grid View Content Widget">
+        <type>image-sizing</type>
+        <components>
+            <control name="recently_compared_products_grid_content_widget-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::recently_compared_products_grid_content_widget:type</var>
+            </control>
+            <control name="recently_compared_products_grid_content_widget-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::recently_compared_products_grid_content_widget:width</var>
+            </control>
+            <control name="recently_compared_products_grid_content_widget-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::recently_compared_products_grid_content_widget:ratio</var>
+            </control>
+            <control name="recently_compared_products_grid_content_widget-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::recently_compared_products_grid_content_widget:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="recently_compared_products_list_content_widget" title="Recently Compared Products List View Content Widget">
+        <type>image-sizing</type>
+        <components>
+            <control name="recently_compared_products_list_content_widget-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::recently_compared_products_list_content_widget:type</var>
+            </control>
+            <control name="recently_compared_products_list_content_widget-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::recently_compared_products_list_content_widget:width</var>
+            </control>
+            <control name="recently_compared_products_list_content_widget-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::recently_compared_products_list_content_widget:ratio</var>
+            </control>
+            <control name="recently_compared_products_list_content_widget-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::recently_compared_products_list_content_widget:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="recently_viewed_products_grid_content_widget" title="Recently Viewed Products Grid View Content Widget">
+        <type>image-sizing</type>
+        <components>
+            <control name="recently_viewed_products_grid_content_widget-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::recently_viewed_products_grid_content_widget:type</var>
+            </control>
+            <control name="recently_viewed_products_grid_content_widget-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::recently_viewed_products_grid_content_widget:width</var>
+            </control>
+            <control name="recently_viewed_products_grid_content_widget-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::recently_viewed_products_grid_content_widget:ratio</var>
+            </control>
+            <control name="recently_viewed_products_grid_content_widget-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::recently_viewed_products_grid_content_widget:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="recently_viewed_products_list_content_widget" title="Recently Viewed Products List View Content Widget">
+        <type>image-sizing</type>
+        <components>
+            <control name="recently_viewed_products_list_content_widget-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::recently_viewed_products_list_content_widget:type</var>
+            </control>
+            <control name="recently_viewed_products_list_content_widget-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::recently_viewed_products_list_content_widget:width</var>
+            </control>
+            <control name="recently_viewed_products_list_content_widget-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::recently_viewed_products_list_content_widget:ratio</var>
+            </control>
+            <control name="recently_viewed_products_list_content_widget-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::recently_viewed_products_list_content_widget:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="customer_shared_wishlist" title="Customer's Shared Wishlist">
+        <type>image-sizing</type>
+        <components>
+            <control name="customer_shared_wishlist-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::customer_shared_wishlist:type</var>
+            </control>
+            <control name="customer_shared_wishlist-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::customer_shared_wishlist:width</var>
+            </control>
+            <control name="customer_shared_wishlist-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::customer_shared_wishlist:ratio</var>
+            </control>
+            <control name="customer_shared_wishlist-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::customer_shared_wishlist:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="wishlist_thumbnail" title="Wishlist Thumbnail">
+        <type>image-sizing</type>
+        <components>
+            <control name="wishlist_thumbnail-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::wishlist_thumbnail:type</var>
+            </control>
+            <control name="wishlist_thumbnail-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::wishlist_thumbnail:width</var>
+            </control>
+            <control name="wishlist_thumbnail-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::wishlist_thumbnail:ratio</var>
+            </control>
+            <control name="wishlist_thumbnail-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::wishlist_thumbnail:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="wishlist_sidebar_block" title="Wishlist Sidebar Block">
+        <type>image-sizing</type>
+        <components>
+            <control name="wishlist_sidebar_block-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::wishlist_sidebar_block:type</var>
+            </control>
+            <control name="wishlist_sidebar_block-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::wishlist_sidebar_block:width</var>
+            </control>
+            <control name="wishlist_sidebar_block-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::wishlist_sidebar_block:ratio</var>
+            </control>
+            <control name="wishlist_sidebar_block-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::wishlist_sidebar_block:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="shared_wishlist_email" title="Shared Wishlist Email">
+        <type>image-sizing</type>
+        <components>
+            <control name="shared_wishlist_email-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::shared_wishlist_email:type</var>
+            </control>
+            <control name="shared_wishlist_email-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::shared_wishlist_email:width</var>
+            </control>
+            <control name="shared_wishlist_email-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::shared_wishlist_email:ratio</var>
+            </control>
+            <control name="shared_wishlist_email-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::shared_wishlist_email:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="customer_account_my_tags_tag_view" title="Customer Account: My Tags - Tag View">
+        <type>image-sizing</type>
+        <components>
+            <control name="customer_account_my_tags_tag_view-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::customer_account_my_tags_tag_view:type</var>
+            </control>
+            <control name="customer_account_my_tags_tag_view-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::customer_account_my_tags_tag_view:width</var>
+            </control>
+            <control name="customer_account_my_tags_tag_view-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::customer_account_my_tags_tag_view:ratio</var>
+            </control>
+            <control name="customer_account_my_tags_tag_view-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::customer_account_my_tags_tag_view:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="cart_cross_sell_products" title="Cart Cross-sell Products">
+        <type>image-sizing</type>
+        <components>
+            <control name="cart_cross_sell_products-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::cart_cross_sell_products:type</var>
+            </control>
+            <control name="cart_cross_sell_products-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::cart_cross_sell_products:width</var>
+            </control>
+            <control name="cart_cross_sell_products-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::cart_cross_sell_products:ratio</var>
+            </control>
+            <control name="cart_cross_sell_products-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::cart_cross_sell_products:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="gift_messages_checkout_thumbnail" title="Gift Messages on Checkout (Thumbnail)">
+        <type>image-sizing</type>
+        <components>
+            <control name="gift_messages_checkout_thumbnail-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::gift_messages_checkout_thumbnail:type</var>
+            </control>
+            <control name="gift_messages_checkout_thumbnail-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::gift_messages_checkout_thumbnail:width</var>
+            </control>
+            <control name="gift_messages_checkout_thumbnail-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::gift_messages_checkout_thumbnail:ratio</var>
+            </control>
+            <control name="gift_messages_checkout_thumbnail-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::gift_messages_checkout_thumbnail:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="gift_messages_checkout_small_image" title="Gift Messages on Checkout (Small Image)">
+        <type>image-sizing</type>
+        <components>
+            <control name="gift_messages_checkout_small_image-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::gift_messages_checkout_small_image:type</var>
+            </control>
+            <control name="gift_messages_checkout_small_image-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::gift_messages_checkout_small_image:width</var>
+            </control>
+            <control name="gift_messages_checkout_small_image-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::gift_messages_checkout_small_image:ratio</var>
+            </control>
+            <control name="gift_messages_checkout_small_image-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::gift_messages_checkout_small_image:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="mini_cart_product_thumbnail" title="Mini Cart Product Thumbnail">
+        <type>image-sizing</type>
+        <components>
+            <control name="mini_cart_product_thumbnail-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::mini_cart_product_thumbnail:type</var>
+            </control>
+            <control name="mini_cart_product_thumbnail-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::mini_cart_product_thumbnail:width</var>
+            </control>
+            <control name="mini_cart_product_thumbnail-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::mini_cart_product_thumbnail:ratio</var>
+            </control>
+            <control name="mini_cart_product_thumbnail-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::mini_cart_product_thumbnail:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="new_products_images_only_widget" title="New Products Images Only Widget">
+        <type>image-sizing</type>
+        <components>
+            <control name="new_products_images_only_widget-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::new_products_images_only_widget:type</var>
+            </control>
+            <control name="new_products_images_only_widget-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::new_products_images_only_widget:width</var>
+            </control>
+            <control name="new_products_images_only_widget-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::new_products_images_only_widget:ratio</var>
+            </control>
+            <control name="new_products_images_only_widget-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::new_products_images_only_widget:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="cart_page_product_thumbnail" title="Cart Page - Product Thumbnail">
+        <type>image-sizing</type>
+        <components>
+            <control name="cart_page_product_thumbnail-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::cart_page_product_thumbnail:type</var>
+            </control>
+            <control name="cart_page_product_thumbnail-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::cart_page_product_thumbnail:width</var>
+            </control>
+            <control name="cart_page_product_thumbnail-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::cart_page_product_thumbnail:ratio</var>
+            </control>
+            <control name="cart_page_product_thumbnail-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::cart_page_product_thumbnail:height</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="product_stock_alert_email_product_image" title="Product Stock Alert Email Product Image">
+        <type>image-sizing</type>
+        <components>
+            <control name="product_stock_alert_email_product_image-type">
+                <type>image-type</type>
+                <var>Magento_Catalog::product_stock_alert_email_product_image:type</var>
+            </control>
+            <control name="product_stock_alert_email_product_image-width">
+                <type>image-width</type>
+                <var>Magento_Catalog::product_stock_alert_email_product_image:width</var>
+            </control>
+            <control name="product_stock_alert_email_product_image-ratio">
+                <type>image-ratio</type>
+                <var>Magento_Catalog::product_stock_alert_email_product_image:ratio</var>
+            </control>
+            <control name="product_stock_alert_email_product_image-height">
+                <type>image-height</type>
+                <var>Magento_Catalog::product_stock_alert_email_product_image:height</var>
+            </control>
+        </components>
+    </control>
+</controls>
diff --git a/app/design/frontend/magento_plushe/Magento_DesignEditor/controls/quick_styles.xml b/app/design/frontend/magento_plushe/Magento_DesignEditor/controls/quick_styles.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d3956d3d84927577b15cea301a6fa1151e7cd786
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_DesignEditor/controls/quick_styles.xml
@@ -0,0 +1,1118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    Magento
+ * @package     Magento_DesignEditor
+ * @subpackage  integration_tests
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+ -->
+<controls>
+    <control name="store-name" title="Store Name" tab="header" column="left">
+        <type>logo</type>
+        <components>
+            <control name="store-name:font">
+                <type>font</type>
+                <components>
+                    <control name="store-name:font-picker">
+                        <type>font-picker</type>
+                        <selector><![CDATA[.logo]]></selector>
+                        <attribute>font-family</attribute>
+                        <options>
+                            <option>"marvel"</option>
+                            <option>Tahoma, Geneva, sans-serif</option>
+                            <option>Georgia, serif</option>
+                            <option>Impact, Charcoal, sans-serif</option>
+                            <option>‘Palatino Linotype’, ‘Book Antiqua’, Palatino, serif</option>
+                            <option>Century Gothic, sans-serif</option>
+                            <option>‘Lucida Sans Unicode’, ‘Lucida Grande’, sans-serif</option>
+                            <option>‘Arial Black’, Gadget, sans-serif</option>
+                            <option>‘Times New Roman’, Times, serif</option>
+                            <option>‘Arial Narrow’, sans-serif</option>
+                            <option>Verdana, Geneva, sans-serif</option>
+                            <option>Copperplate / Copperplate Gothic Light, sans-serif</option>
+                            <option>‘Lucida Console’, Monaco, monospace</option>
+                            <option>‘Trebuchet MS’, Helvetica, sans-serif</option>
+                            <option>‘Courier New’, Courier, monospace</option>
+                            <option>Arial, Helvetica, sans-serif</option>
+                        </options>
+                        <var>Magento_DesignEditor::store-name:font-picker</var>
+                    </control>
+                    <control name="store-name:color-picker">
+                        <type>color-picker</type>
+                        <selector><![CDATA[.logo span]]></selector>
+                        <attribute>color</attribute>
+                        <var>Magento_DesignEditor::store-name:color-picker</var>
+                    </control>
+                </components>
+            </control>
+            <control name="store-name:logo-uploader">
+                <type>logo-uploader</type>
+                <selector></selector>
+                <attribute></attribute>
+                <var>Magento_DesignEditor::store-name:logo-uploader</var>
+            </control>
+        </components>
+    </control>
+    <control name="header-background" title="Background" tab="header" column="left">
+        <type>background</type>
+        <components>
+            <control name="header-background:color-picker">
+                <type>color-picker</type>
+                <selector><![CDATA[.header]]></selector>
+                <attribute>background-color</attribute>
+                <var>Magento_DesignEditor::header-background:color-picker</var>
+            </control>
+            <control name="header-background:background-uploader">
+                <type>background-uploader</type>
+                <components>
+                    <control name="header-background:image-uploader">
+                        <type>image-uploader</type>
+                        <selector><![CDATA[.header]]></selector>
+                        <attribute>background-image</attribute>
+                        <var>Magento_DesignEditor::header-background:image-uploader</var>
+                    </control>
+                    <control name="header-background:tile">
+                        <type>checkbox</type>
+                        <selector><![CDATA[.header]]></selector>
+                        <attribute>background-repeat</attribute>
+                        <options>
+                            <option>no-repeat</option>
+                            <option>repeat</option>
+                            <option>repeat-x</option>
+                            <option>repeat-y</option>
+                            <option>inherit</option>
+                        </options>
+                        <var>Magento_DesignEditor::header-background:tile</var>
+                    </control>
+                </components>
+            </control>
+        </components>
+    </control>
+
+    <control name="menu-background" title="Menu Background" tab="header" column="middle">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .navigation > ul > .level-top > .submenu,
+            .navigation > ul > .level-top.more > .submenu > ul,
+            .level-top.more.hover:after,
+            .switcher .options > ul
+        ]]></selector>
+        <attribute>background-color</attribute>
+        <var>Magento_DesignEditor::menu-background</var>
+    </control>
+    <control name="menu-stroke" title="Menu Stroke" tab="header" column="middle">
+        <type>color-picker</type>
+        <selector>
+            .navigation > ul > .level-top > .submenu,
+            .switcher .options > ul
+        </selector>
+        <attribute>border-color</attribute>
+        <var>Magento_DesignEditor::menu-stroke</var>
+    </control>
+    <control name="menu-links" title="Menu Links" tab="header" column="middle">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .navigation > ul > .level-top > .submenu a,
+            .navigation > ul > .level-top > .submenu a span
+        ]]></selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::menu-links</var>
+    </control>
+    <control name="menu-links-hover" title="Menu Links Hover" tab="header" column="middle">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .navigation > ul > .level-top > .submenu a:hover,
+            .navigation > ul > .level-top > .submenu a:hover span
+        ]]></selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::menu-links-hover</var>
+    </control>
+
+    <control name="header-links" title="Header Links" tab="header" column="right">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .navigation > ul > .level-top > a,
+            .navigation > ul > .level-top > a > span,
+            .action.showcart,
+            .header > .content .links a,
+            .switcher .options > ul a,
+            .action.switch
+        ]]></selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::header-links</var>
+    </control>
+    <control name="header-links-hover" title="Header Links Hover" tab="header" column="right">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .navigation > ul > .level-top > a:hover,
+            .navigation > ul > .level-top > a:hover > span,
+            .navigation > ul > .level-top > a:active span,
+            .navigation > ul > .level-top > a:focus span,
+            .navigation > ul > .level-top.hover:hover > a span,
+            .navigation > ul > .level-top.hover.parent.hover > a span,
+            .navigation > ul > .level-top.hover.parent > a span,
+            .action.showcart:hover,
+            .action.showcart:active,
+            .action.showcart:focus,
+            .action.showcart.active,
+            .header > .content .links a:hover,
+            .switcher .options > ul a:hover,
+            .action.switch:focus,
+            .action.switch:hover,
+            .action.switch.active
+        ]]></selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::header-links-hover</var>
+    </control>
+    <!--
+    <control name="header-scroll-bar-background" title="Scroll Bar Background" tab="header" column="right">
+        <type>color-picker</type>
+        <selector>.scroll</selector>
+        <attribute>background-color</attribute>
+        <var>Magento_DesignEditor::header-scroll-bar-background</var>
+    </control>
+    <control name="header-scroll-bar-handle" title="Scroll Bar Handle" tab="header" column="right">
+        <type>color-picker</type>
+        <selector>.scroll .handle</selector>
+        <attribute>background-color</attribute>
+        <var>Magento_DesignEditor::header-scroll-bar-handle</var>
+    </control>
+-->
+    <control name="search-field" title="Search Field" tab="header" column="right">
+        <type>color-picker</type>
+        <selector>
+            .block.search input,
+            .block.search .action.search
+        </selector>
+        <attribute>background-color</attribute>
+        <var>Magento_DesignEditor::search-field</var>
+    </control>
+    <control name="search-field-text" title="Search Field Text, Search Icon" tab="header" column="right">
+        <type>color-picker</type>
+        <selector>
+            .block.search input,
+            .block.search .action.search span,
+            .block.search input[type="password"]::-webkit-input-placeholder,
+            .block.search input[type="text"]::-webkit-input-placeholder
+        </selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::search-field-text</var>
+    </control>
+    <control name="search-field-stroke" title="Search Field Stroke" tab="header" column="right">
+        <type>color-picker</type>
+        <selector>
+            .block.search input,
+            .block.search .action.search
+        </selector>
+        <attribute>border-color</attribute>
+        <var>Magento_DesignEditor::search-field-stroke</var>
+    </control>
+
+
+    <control name="page-background" title="Page Background" tab="backgrounds" column="left">
+        <type>background</type>
+        <components>
+            <control name="page-background:color-picker">
+                <type>color-picker</type>
+                <selector><![CDATA[
+                    .page.wrapper,
+                    .product.data > .item.title:not(.disabled) > .switch:active,
+                    .product.data > .item.title:not(.disabled) > .switch:focus,
+                    .product.data > .item.title:not(.disabled) > .switch:hover,
+                    .product.data > .item.title.active > .switch,
+                    .footer
+                ]]></selector>
+                <attribute>background-color</attribute>
+                <var>Magento_DesignEditor::page-background:color-picker</var>
+            </control>
+            <control name="page-background:background-uploader">
+                <type>background-uploader</type>
+                <components>
+                    <control name="page-background:image-uploader">
+                        <type>image-uploader</type>
+                        <selector><![CDATA[
+                            .page.wrapper,
+                            .footer
+                        ]]></selector>
+                        <attribute>background-image</attribute>
+                        <var>Magento_DesignEditor::page-background:image-uploader</var>
+                    </control>
+                    <control name="page-background:tile">
+                        <type>checkbox</type>
+                        <selector><![CDATA[
+                            .page.wrapper,
+                            .footer
+                        ]]></selector>
+                        <attribute>background-repeat</attribute>
+                        <options>
+                            <option>no-repeat</option>
+                            <option>repeat</option>
+                            <option>repeat-x</option>
+                            <option>repeat-y</option>
+                            <option>inherit</option>
+                        </options>
+                        <var>Magento_DesignEditor::page-background:tile</var>
+                    </control>
+                </components>
+            </control>
+        </components>
+    </control>
+
+    <control name="form-background" title="Form Background" tab="backgrounds" column="middle">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .login.container,
+            .block.add.review,
+            .opc.wrapper > .opc .section > .step,
+            .opc.wrapper > .opc .section.active > .step-title,
+            .items.data tbody:nth-child(even) tr,
+            .cart.summary,
+            .minicart.wrapper .block.minicart,
+            .prices.tier,
+            .form.send.friend .fieldset,
+            .form.address.edit .fieldset,
+            .form.edit.account .fieldset,
+            .form.search.advanced,
+            .form.orders.search,
+            .form.contact,
+            .form.password.forget .fieldset,
+            .form.create.account .fieldset,
+            .form.wishlist.share .fieldset,
+            .block.dashboard:not(.welcome):not(.orders) .content,
+            .block.reviews.list .item.review:nth-child(odd),
+            .fieldset.bundle.options > .field,
+            .block.bundle.summary,
+            .data.table.reviews tbody tr:nth-child(even) td,
+            .data.table.wishlist tbody tr:nth-child(even),
+            .data.table.tags tbody tr:nth-child(even) td,
+            .data.comparison tr:nth-child(odd) .cell.attribute
+        ]]></selector>
+        <attribute>background-color</attribute>
+        <var>Magento_DesignEditor::form-background</var>
+    </control>
+    <!--
+    <control name="form-stroke" title="Form 1 Stroke" tab="backgrounds" column="middle">
+        <type>color-picker</type>
+        <selector></selector>
+        <attribute>border-color</attribute>
+        <var>Magento_DesignEditor::form-stroke</var>
+    </control>
+    <control name="form2-background" title="Form 2 Background" tab="backgrounds" column="middle">
+        <type>color-picker</type>
+        <selector></selector>
+        <attribute>background-color</attribute>
+        <var>Magento_DesignEditor::form2-background</var>
+    </control>
+    <control name="form2-stroke" title="Form 2 Stroke" tab="backgrounds" column="middle">
+        <type>color-picker</type>
+        <selector></selector>
+        <attribute>border-color</attribute>
+        <var>Magento_DesignEditor::form2-stroke</var>
+    </control>
+    -->
+    <control name="form-field-stroke" title="Form Field Stroke" tab="backgrounds" column="middle">
+        <type>color-picker</type>
+        <selector><![CDATA[input[type="password"], input[type="text"], select, textarea, .fieldset > .field .addon .addbefore, .fieldset > .field .addon .addafter, .product.main.info .product.options.wrapper .field .addon .addbefore, .product.main.info .product.options.wrapper .field .addon .addafter, .form.password.forget .fieldset > .field .addon .addbefore, .form.create.account .fieldset > .field .addon .addbefore, .form.password.forget .fieldset > .field .addon .addafter, .form.create.account .fieldset > .field .addon .addafter, .block.add.review .fieldset > .field:not(.ratings) .addon .addbefore, .block.add.review .fieldset > .field:not(.ratings) .addon .addafter]]></selector>
+        <attribute>border-color</attribute>
+        <var>Magento_DesignEditor::form-field-stroke</var>
+    </control>
+    <control name="form-field-stroke-clicked" title="Form Field Stroke Clicked" tab="backgrounds" column="right">
+        <type>color-picker</type>
+        <selector>
+            input[type="password"]:focus,
+            input[type="text"]:focus,
+            select:focus,
+            textarea:focus
+        </selector>
+        <attribute>border-color</attribute>
+        <var>Magento_DesignEditor::form-field-stroke-clicked</var>
+    </control>
+    <control name="image-stroke-keylines" title="Image Stroke &amp; Keylines" tab="backgrounds" column="right">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .opc.wrapper > .opc .section > .step:before,
+            .step.login.wrapper .block.guest:before,
+            .order.data.items tfoot tr:first-child td,
+            .items.data .item.actions td:before,
+            .cart.summary .summary.title,
+            .cart.summary .block,
+            .data-table td,
+
+            .data.comparison .cell.product.info,
+            .data.comparison .addto.links,
+            .data.comparison .cell.label,
+            .data.comparison .cell.label.product,
+            .data.comparison .cell.label,
+            .data.comparison td:last-child,
+
+            .block.widget.viewed,
+            .block.crosssell,
+            .block.upsell,
+            .block.related,
+            .block.widget.viewed .products.list .item.product .addto.links,
+            .block.crosssell .products.list .item.product .addto.links,
+            .block.upsell .products.list .item.product .addto.links,
+            .block.related .products.list .item.product .addto.links,
+            .product.info.detailed + .block.upsell,
+            .product.info.detailed + .block.related,
+            .toolbar.alternative .pages,
+            .toolbar.alternative .amount,
+            .toolbar.alternative .limiter,
+            .toolbar .options,
+            .product.info.main .page.title.product + .price-box,
+            .product.info.main .product.addto.links,
+            .block.bundle.summary > .title,
+            .block.bundle.summary .photo,
+            .block.bundle.summary .box.tocart,
+            .block.bundle.summary .subtitle,
+            .product.photo.thumbs .item.thumb .active img,
+
+            .login.container .block.new:before,
+            .block.filter .filtered .item,
+            .block.add.review .fieldset > .legend,
+            .data.table.tags tbody td,
+            .data.table.reviews tbody td
+        ]]></selector>
+        <attribute>border-color</attribute>
+        <var>Magento_DesignEditor::image-stroke-keylines</var>
+    </control>
+
+<!--     <control name="scroll-bar-background" title="Scroll Bar Background" tab="backgrounds" column="right">
+    <type>color-picker</type>
+    <selector>.menu a:hover</selector>
+    <attribute>color</attribute>
+    <var>Magento_DesignEditor::scroll-bar-background</var>
+</control>
+<control name="scroll-bar-handle" title="Scroll Bar Handle" tab="backgrounds" column="right">
+    <type>color-picker</type>
+    <selector>.menu a:hover</selector>
+    <attribute>color</attribute>
+    <var>Magento_DesignEditor::scroll-bar-handle</var>
+</control> -->
+
+    <control name="radio-checkbox-icon" title="Radio Buttons/Checkboxes Icon" tab="buttons" column="left">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::radio-checkbox-icon</var>
+    </control>
+    <control name="radio-checkbox-background" title="Radio Buttons/Checkboxes Background" tab="buttons" column="left">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::radio-checkbox-background</var>
+    </control>
+    <control name="radio-checkbox-stroke" title="Radio Buttons/Checkboxes Stroke" tab="buttons" column="left">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::radio-checkbox-stroke</var>
+    </control>
+
+    <control name="button-text" title="Buttons Text" tab="buttons" column="left">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .block.add.review .action.submit span,
+            .step.login.wrapper button.action:not(.reload) span,
+            .cart.summary .block .action span,
+            .action.checkout span,
+            .action.subscribe span,
+            .action.tocart span,
+            .action.primary.customize span,
+            .action.primary.tocart span,
+            .login.container .action.login span,
+            .login.container .action.create span,
+
+            .form.send.friend .action.save span,
+            .form.address.edit .action.save span,
+            .form.edit.account .action.save span,
+            .form.search.advanced .action.save span,
+            .form.orders.search .action.save span,
+            .form.contact .action.save span,
+            .form.password.forget .action.save span,
+            .form.create.account .action.save span,
+            .form.wishlist.share .action.save span,
+            .form.password.reset .action.save span,
+            .form.add.tag .action.save span,
+
+            .form.send.friend .action.submit span,
+            .form.address.edit .action.submit span,
+            .form.edit.account .action.submit span,
+            .form.search.advanced .action.submit span,
+            .form.orders.search .action.submit span,
+            .form.contact .action.submit span,
+            .form.password.forget .action.submit span,
+            .form.create.account .action.submit span,
+            .form.wishlist.share .action.submit span,
+            .form.password.reset .action.submit span,
+            .form.add.tag .action.submit span,
+
+            .form.send.friend .action.add span,
+            .form.address.edit .action.add span,
+            .form.edit.account .action.add span,
+            .form.search.advanced .action.add span,
+            .form.orders.search .action.add span,
+            .form.contact .action.add span,
+            .form.password.forget .action.add span,
+            .form.create.account .action.add span,
+            .form.wishlist.share .action.add span,
+            .form.password.reset .action.add span,
+            .form.add.tag .action.add span,
+
+            .form.newsletter.manage .action.save span,
+
+            .form.search.advanced .action span,
+            .form.orders.search .action span,
+            .form.contact .action span,
+
+            .banner.main .banner.action span,
+            .opc.wrapper .form:not(.login) .actions button.action span,
+
+            .data.table.wishlist + .actions .primary .action.share span,
+            .data.table.wishlist + .actions .primary .action.update span
+        ]]></selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::button-text</var>
+    </control>
+    <control name="button-background" title="Buttons" tab="buttons" column="left">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .block.add.review .action.submit,
+            .step.login.wrapper button.action:not(.reload),
+            .cart.summary .block .action,
+            .action.checkout,
+            .action.subscribe,
+            .action.tocart,
+            .action.primary.customize,
+            .action.primary.tocart,
+            .login.container .action.login,
+            .login.container .action.create,
+
+            .form.send.friend .action.save,
+            .form.address.edit .action.save,
+            .form.edit.account .action.save,
+            .form.search.advanced .action.save,
+            .form.orders.search .action.save,
+            .form.contact .action.save,
+            .form.password.forget .action.save,
+            .form.create.account .action.save,
+            .form.wishlist.share .action.save,
+            .form.password.reset .action.save,
+            .form.add.tag .action.save,
+
+            .form.send.friend .action.submit,
+            .form.address.edit .action.submit,
+            .form.edit.account .action.submit,
+            .form.search.advanced .action.submit,
+            .form.orders.search .action.submit,
+            .form.contact .action.submit,
+            .form.password.forget .action.submit,
+            .form.create.account .action.submit,
+            .form.wishlist.share .action.submit,
+            .form.password.reset .action.submit,
+            .form.add.tag .action.submit,
+
+            .form.send.friend .action.add,
+            .form.address.edit .action.add,
+            .form.edit.account .action.add,
+            .form.search.advanced .action.add,
+            .form.orders.search .action.add,
+            .form.contact .action.add,
+            .form.password.forget .action.add,
+            .form.create.account .action.add,
+            .form.wishlist.share .action.add,
+            .form.password.reset .action.add,
+            .form.add.tag .action.add,
+
+            .form.newsletter.manage .action.save,
+
+            .form.search.advanced .action,
+            .form.orders.search .action,
+            .form.contact .action,
+
+            .banner.main .banner.action,
+            .opc.wrapper .form:not(.login) .actions button.action,
+
+            .data.table.wishlist + .actions .primary .action.share,
+            .data.table.wishlist + .actions .primary .action.update
+        ]]></selector>
+        <attribute>background-color</attribute>
+        <var>Magento_DesignEditor::button-background</var>
+    </control>
+    <control name="button-hover" title="Buttons Hover" tab="buttons" column="left">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .block.add.review .action.submit:hover,
+            .step.login.wrapper button.action:not(.reload):hover,
+            .cart.summary .block .action:hover,
+            .action.checkout:hover,
+            .action.subscribe:hover,
+            .action.tocart:hover,
+            .action.primary.customize:hover,
+            .action.primary.tocart:hover,
+            .login.container .action.login:hover,
+            .login.container .action.create:hover,
+
+            .form.send.friend .action.save:hover,
+            .form.address.edit .action.save:hover,
+            .form.edit.account .action.save:hover,
+            .form.search.advanced .action.save:hover,
+            .form.orders.search .action.save:hover,
+            .form.contact .action.save:hover,
+            .form.password.forget .action.save:hover,
+            .form.create.account .action.save:hover,
+            .form.wishlist.share .action.save:hover,
+            .form.password.reset .action.save:hover,
+            .form.add.tag .action.save:hover,
+
+            .form.send.friend .action.submit:hover,
+            .form.address.edit .action.submit:hover,
+            .form.edit.account .action.submit:hover,
+            .form.search.advanced .action.submit:hover,
+            .form.orders.search .action.submit:hover,
+            .form.contact .action.submit:hover,
+            .form.password.forget .action.submit:hover,
+            .form.create.account .action.submit:hover,
+            .form.wishlist.share .action.submit:hover,
+            .form.password.reset .action.submit:hover,
+            .form.add.tag .action.submit:hover,
+
+            .form.send.friend .action.add:hover,
+            .form.address.edit .action.add:hover,
+            .form.edit.account .action.add:hover,
+            .form.search.advanced .action.add:hover,
+            .form.orders.search .action.add:hover,
+            .form.contact .action.add:hover,
+            .form.password.forget .action.add:hover,
+            .form.create.account .action.add:hover,
+            .form.wishlist.share .action.add:hover,
+            .form.password.reset .action.add:hover,
+            .form.add.tag .action.add:hover,
+
+            .form.newsletter.manage .action.save:hover,
+
+            .form.search.advanced .action:hover,
+            .form.orders.search .action:hover,
+            .form.contact .action:hover,
+
+            .banner.main .banner.action:hover,
+            .opc.wrapper .form:not(.login) .actions button.action:hover,
+
+            .data.table.wishlist + .actions .primary .action.share:hover,
+            .data.table.wishlist + .actions .primary .action.update:hover
+        ]]></selector>
+        <attribute>background-color</attribute>
+        <var>Magento_DesignEditor::button-hover</var>
+    </control>
+    <control name="icons" title="Icons" tab="buttons" column="middle">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .minicart.wrapper .action.previous span,
+            .minicart.wrapper .action.next span,
+            .action.delete span,
+            .toolbar .modes .mode span,
+            .toolbar .action.next span,
+            .toolbar .action.previous span,
+            .action.mailto span
+        ]]></selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::icons</var>
+    </control>
+    <control name="icons-hover" title="Icons Hover" tab="buttons" column="middle">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .minicart.wrapper .action.previous:hover span,
+            .minicart.wrapper .action.next:hover span,
+            .action.delete:hover span,
+            .toolbar .modes .mode:hover span,
+            .toolbar .action.next:hover span,
+            .toolbar .action.previous:hover span,
+            .action.mailto:hover span
+        ]]></selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::icons-hover</var>
+    </control>
+    <!--
+    <control name="icons2" title="Icons 2" tab="buttons" column="middle">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::icons2</var>
+    </control>
+
+    <control name="accents" title="Accent Color" tab="buttons" column="right">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::accents</var>
+    </control>
+
+    <control name="size-swatches" title="Size Swatches" tab="buttons" column="right">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::size-swatches</var>
+    </control>
+    <control name="size-swatches-unavailable" title="Size Swatches (Unavailable Size)" tab="buttons" column="right">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::size-swatches-unavailable</var>
+    </control>
+    <control name="size-swatches-hover" title="Size Swatches Hover/Selected Stroke" tab="buttons" column="right">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::size-swatches-hover</var>
+    </control>
+
+
+
+    <control name="tooltip-text" title="Tooltip 1 Text" tab="tips" column="left">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::tooltip-text</var>
+    </control>
+    <control name="tooltip-box" title="Tooltip 1 Box" tab="tips" column="left">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::tooltip-box</var>
+    </control>
+    <control name="tooltip-stroke" title="Tooltip 1 Stroke" tab="tips" column="left">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::tooltip-stroke</var>
+    </control>
+    <control name="tooltip2-text" title="Tooltip 2 Text" tab="tips" column="left">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::tooltip2-text</var>
+    </control>
+    <control name="tooltip2-box" title="Tooltip 2 Box" tab="tips" column="left">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::tooltip2-box</var>
+    </control>
+    <control name="tooltip2-stroke" title="Tooltip 2 Stroke" tab="tips" column="left">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::tooltip2-stroke</var>
+    </control>
+    -->
+
+    <control name="error-icon" title="Error Icon" tab="tips" column="left">
+        <type>color-picker</type>
+        <selector><![CDATA[.error-msg > *:first-child:before]]></selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::error-icon</var>
+    </control>
+    <control name="error-box" title="Error Box" tab="tips" column="left">
+        <type>color-picker</type>
+        <selector><![CDATA[.error-msg]]></selector>
+        <attribute>background-color</attribute>
+        <var>Magento_DesignEditor::error-box</var>
+    </control>
+
+    <control name="success-icon" title="Success Icon" tab="tips" column="middle">
+        <type>color-picker</type>
+        <selector><![CDATA[.success-msg > *:first-child:before]]></selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::success-icon</var>
+    </control>
+    <control name="success-box" title="Success Box" tab="tips" column="middle">
+        <type>color-picker</type>
+        <selector><![CDATA[.success-msg]]></selector>
+        <attribute>background-color</attribute>
+        <var>Magento_DesignEditor::success-box</var>
+    </control>
+
+    <control name="notice-icon" title="Notice Icon" tab="tips" column="right">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .notice-msg > *:first-child:before,
+            .note-msg > *:first-child:before
+        ]]></selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::notice-icon</var>
+    </control>
+    <control name="notice-box" title="Notice Box" tab="tips" column="right">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .notice-msg,
+            .note-msg
+        ]]></selector>
+        <attribute>background-color</attribute>
+        <var>Magento_DesignEditor::notice-box</var>
+    </control>
+
+    <control name="banner-text" title="Banner Text" tab="fonts" column="left">
+        <type>font</type>
+        <components>
+            <control name="banner-text:font-picker">
+                <type>font-picker</type>
+                <selector><![CDATA[.home.banners .banner.text]]></selector>
+                <attribute>font-family</attribute>
+                <options>
+                    <option>"marvel", Arial, sans-serif</option>
+                    <option>Tahoma, Geneva, sans-serif</option>
+                    <option>Georgia, serif</option>
+                    <option>Impact, Charcoal, sans-serif</option>
+                    <option>‘Palatino Linotype’, ‘Book Antiqua’, Palatino, serif</option>
+                    <option>Century Gothic, sans-serif</option>
+                    <option>‘Lucida Sans Unicode’, ‘Lucida Grande’, sans-serif</option>
+                    <option>‘Arial Black’, Gadget, sans-serif</option>
+                    <option>‘Times New Roman’, Times, serif</option>
+                    <option>‘Arial Narrow’, sans-serif</option>
+                    <option>Verdana, Geneva, sans-serif</option>
+                    <option>Copperplate / Copperplate Gothic Light, sans-serif</option>
+                    <option>‘Lucida Console’, Monaco, monospace</option>
+                    <option>‘Trebuchet MS’, Helvetica, sans-serif</option>
+                    <option>‘Courier New’, Courier, monospace</option>
+                    <option>Arial, Helvetica, sans-serif</option>
+                </options>
+                <var>Magento_DesignEditor::banner-text:font-picker</var>
+            </control>
+            <control name="banner-text:color-picker">
+                <type>color-picker</type>
+                <selector><![CDATA[.home.banners .banner.text]]></selector>
+                <attribute>color</attribute>
+                <var>Magento_DesignEditor::banner-text:color-picker</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="menu" title="Menu &amp; Header Links" tab="fonts" column="left">
+        <type>font</type>
+        <components>
+            <control name="menu:font-picker">
+                <type>font-picker</type>
+                <selector><![CDATA[
+                    .navigation > ul > .level-top > a,
+                    .action.showcart .qty,
+                    .switcher strong,
+                    .product.name,
+                    .toolbar .limiter select,
+                    .toolbar .sorter select,
+                    .navigation > ul > .level-top > .submenu > ul .level1 > a
+                ]]></selector>
+                <attribute>font-family</attribute>
+                <options>
+                    <option>"sourcesanspro", Arial, sans-serif</option>
+                    <option>Tahoma, Geneva, sans-serif</option>
+                    <option>Georgia, serif</option>
+                    <option>Impact, Charcoal, sans-serif</option>
+                    <option>‘Palatino Linotype’, ‘Book Antiqua’, Palatino, serif</option>
+                    <option>Century Gothic, sans-serif</option>
+                    <option>‘Lucida Sans Unicode’, ‘Lucida Grande’, sans-serif</option>
+                    <option>‘Arial Black’, Gadget, sans-serif</option>
+                    <option>‘Times New Roman’, Times, serif</option>
+                    <option>‘Arial Narrow’, sans-serif</option>
+                    <option>Verdana, Geneva, sans-serif</option>
+                    <option>Copperplate / Copperplate Gothic Light, sans-serif</option>
+                    <option>‘Lucida Console’, Monaco, monospace</option>
+                    <option>‘Trebuchet MS’, Helvetica, sans-serif</option>
+                    <option>‘Courier New’, Courier, monospace</option>
+                    <option>Arial, Helvetica, sans-serif</option>
+                </options>
+                <var>Magento_DesignEditor::menu:font-picker</var>
+            </control>
+            <control name="menu:color-picker">
+                <type>color-picker</type>
+                <selector><![CDATA[
+                    .navigation > ul > .level-top > a,
+                    .action.showcart .qty,
+                    .switcher strong,
+                    .product.name,
+                    .toolbar .limiter select,
+                    .toolbar .sorter select
+                ]]></selector>
+                <attribute>color</attribute>
+                <var>Magento_DesignEditor::menu:color-picker</var>
+            </control>
+        </components>
+    </control>
+    <control name="page-headings" title="Page Headings" tab="fonts" column="left">
+        <type>font</type>
+        <components>
+            <control name="page-headings:font-picker">
+                <type>font-picker</type>
+                <selector><![CDATA[
+                    .page.title .title,
+                    .opc.wrapper > .opc .section > .step-title h2,
+                    .column.main .block > .title
+                ]]></selector>
+                <attribute>font-family</attribute>
+                <options>
+                    <option>"sourcesanspro", Arial, sans-serif</option>
+                    <option>Tahoma, Geneva, sans-serif</option>
+                    <option>Georgia, serif</option>
+                    <option>Impact, Charcoal, sans-serif</option>
+                    <option>‘Palatino Linotype’, ‘Book Antiqua’, Palatino, serif</option>
+                    <option>Century Gothic, sans-serif</option>
+                    <option>‘Lucida Sans Unicode’, ‘Lucida Grande’, sans-serif</option>
+                    <option>‘Arial Black’, Gadget, sans-serif</option>
+                    <option>‘Times New Roman’, Times, serif</option>
+                    <option>‘Arial Narrow’, sans-serif</option>
+                    <option>Verdana, Geneva, sans-serif</option>
+                    <option>Copperplate / Copperplate Gothic Light, sans-serif</option>
+                    <option>‘Lucida Console’, Monaco, monospace</option>
+                    <option>‘Trebuchet MS’, Helvetica, sans-serif</option>
+                    <option>‘Courier New’, Courier, monospace</option>
+                    <option>Arial, Helvetica, sans-serif</option>
+                </options>
+                <var>Magento_DesignEditor::page-headings:font-picker</var>
+            </control>
+            <control name="page-headings:color-picker">
+                <type>color-picker</type>
+                <selector><![CDATA[
+                    .page.title .title,
+                    .opc.wrapper > .opc .section > .step-title h2,
+                    .column.main .block > .title
+                ]]></selector>
+                <attribute>color</attribute>
+                <var>Magento_DesignEditor::page-headings:color-picker</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="body-text" title="Body Text" tab="fonts" column="middle">
+        <type>font</type>
+        <components>
+            <control name="body-text:font-picker">
+                <type>font-picker</type>
+                <selector><![CDATA[
+                    body,
+                    .footer .links a,
+                    .toolbar .limiter .label,
+                    .toolbar .sorter .label,
+                    .products.wrapper .products.list .item .price-box,
+                    .reviews.summary .reviews.actions,
+                    .block.add.review .fieldset > .legend,
+                    .column.main .block > .title
+                ]]></selector>
+                <attribute>font-family</attribute>
+                <options>
+                    <option>"sourcesanspro", Arial, sans-serif</option>
+                    <option>Tahoma, Geneva, sans-serif</option>
+                    <option>Georgia, serif</option>
+                    <option>Impact, Charcoal, sans-serif</option>
+                    <option>‘Palatino Linotype’, ‘Book Antiqua’, Palatino, serif</option>
+                    <option>Century Gothic, sans-serif</option>
+                    <option>‘Lucida Sans Unicode’, ‘Lucida Grande’, sans-serif</option>
+                    <option>‘Arial Black’, Gadget, sans-serif</option>
+                    <option>‘Times New Roman’, Times, serif</option>
+                    <option>‘Arial Narrow’, sans-serif</option>
+                    <option>Verdana, Geneva, sans-serif</option>
+                    <option>Copperplate / Copperplate Gothic Light, sans-serif</option>
+                    <option>‘Lucida Console’, Monaco, monospace</option>
+                    <option>‘Trebuchet MS’, Helvetica, sans-serif</option>
+                    <option>‘Courier New’, Courier, monospace</option>
+                    <option>Arial, Helvetica, sans-serif</option>
+                </options>
+                <var>Magento_DesignEditor::body-text:font-picker</var>
+            </control>
+            <control name="body-text:color-picker">
+                <type>color-picker</type>
+                <selector><![CDATA[
+                    body,
+                    .footer .links a,
+                    .toolbar .limiter .label,
+                    .toolbar .sorter .label,
+                    .products.wrapper .products.list .item .price-box,
+                    .reviews.summary .reviews.actions,
+                    .block.add.review .fieldset > .legend,
+                    .column.main .block > .title
+                ]]></selector>
+                <attribute>color</attribute>
+                <var>Magento_DesignEditor::body-text:color-picker</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="buttons" title="Button Text" tab="fonts" column="middle">
+        <type>font</type>
+        <components>
+            <control name="buttons:font-picker">
+                <type>font-picker</type>
+                <selector><![CDATA[
+                    .block.add.review .action.submit span,
+                    .step.login.wrapper button.action:not(.reload) span,
+                    .cart.summary .block .action span,
+                    .action.checkout span,
+                    .action.subscribe span,
+                    .action.tocart span,
+                    .action.primary.customize span,
+                    .action.primary.tocart span,
+                    .login.container .action.login span,
+                    .login.container .action.create span,
+
+                    .form.send.friend .action.save span,
+                    .form.address.edit .action.save span,
+                    .form.edit.account .action.save span,
+                    .form.search.advanced .action.save span,
+                    .form.orders.search .action.save span,
+                    .form.contact .action.save span,
+                    .form.password.forget .action.save span,
+                    .form.create.account .action.save span,
+                    .form.wishlist.share .action.save span,
+                    .form.password.reset .action.save span,
+                    .form.add.tag .action.save span,
+
+                    .form.send.friend .action.submit span,
+                    .form.address.edit .action.submit span,
+                    .form.edit.account .action.submit span,
+                    .form.search.advanced .action.submit span,
+                    .form.orders.search .action.submit span,
+                    .form.contact .action.submit span,
+                    .form.password.forget .action.submit span,
+                    .form.create.account .action.submit span,
+                    .form.wishlist.share .action.submit span,
+                    .form.password.reset .action.submit span,
+                    .form.add.tag .action.submit span,
+
+                    .form.send.friend .action.add span,
+                    .form.address.edit .action.add span,
+                    .form.edit.account .action.add span,
+                    .form.search.advanced .action.add span,
+                    .form.orders.search .action.add span,
+                    .form.contact .action.add span,
+                    .form.password.forget .action.add span,
+                    .form.create.account .action.add span,
+                    .form.wishlist.share .action.add span,
+                    .form.password.reset .action.add span,
+                    .form.add.tag .action.add span,
+
+                    .form.newsletter.manage .action.save span,
+
+                    .form.search.advanced .action span,
+                    .form.orders.search .action span,
+                    .form.contact .action span,
+
+                    .banner.main .banner.action span,
+                    .opc.wrapper .form:not(.login) .actions button.action span,
+
+                    .data.table.wishlist + .actions .primary .action.share span,
+                    .data.table.wishlist + .actions .primary .action.update span
+                ]]></selector>
+                <attribute>font-family</attribute>
+                <options>
+                    <option>"marvel", Arial, sans-serif</option>
+                    <option>Tahoma, Geneva, sans-serif</option>
+                    <option>Georgia, serif</option>
+                    <option>Impact, Charcoal, sans-serif</option>
+                    <option>‘Palatino Linotype’, ‘Book Antiqua’, Palatino, serif</option>
+                    <option>Century Gothic, sans-serif</option>
+                    <option>‘Lucida Sans Unicode’, ‘Lucida Grande’, sans-serif</option>
+                    <option>‘Arial Black’, Gadget, sans-serif</option>
+                    <option>‘Times New Roman’, Times, serif</option>
+                    <option>‘Arial Narrow’, sans-serif</option>
+                    <option>Verdana, Geneva, sans-serif</option>
+                    <option>Copperplate / Copperplate Gothic Light, sans-serif</option>
+                    <option>‘Lucida Console’, Monaco, monospace</option>
+                    <option>‘Trebuchet MS’, Helvetica, sans-serif</option>
+                    <option>‘Courier New’, Courier, monospace</option>
+                    <option>Arial, Helvetica, sans-serif</option>
+                </options>
+                <var>Magento_DesignEditor::buttons:font-picker</var>
+            </control>
+            <control name="buttons:color-picker">
+                <type>color-picker</type>
+                <selector><![CDATA[
+                    .block.add.review .action.submit span,
+                    .step.login.wrapper button.action span,
+                    .cart.summary .block .action span,
+                    .action.checkout span,
+                    .action.subscribe span,
+                    .action.tocart span,
+                    .action.primary.customize span,
+                    .action.primary.tocart span,
+                    .login.container .action.login span,
+                    .login.container .action.create span,
+                    .form.password.forget .action.submit span,
+                    .form.create.account .action.submit span,
+                    .banner.main .banner.action span,
+                    .opc.wrapper .form:not(.login) .actions button.action span
+                ]]></selector>
+                <attribute>color</attribute>
+                <var>Magento_DesignEditor::buttons:color-picker</var>
+            </control>
+        </components>
+    </control>
+
+    <control name="text-links" title="Links" tab="fonts" column="right">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .product.info.main .product.addto.links .action > span,
+            .products.wrapper.grid .products.list .secondary .action > span,
+            .filter a
+        ]]></selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::text-links</var>
+    </control>
+    <control name="text-links-hover" title="Links Hover" tab="fonts" column="right">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .product.info.main .product.addto.links .action:hover > span,
+            .products.wrapper.grid .products.list .secondary .action:hover > span,
+            .filter a:hover
+        ]]></selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::text-links-hover</var>
+    </control>
+    <!--
+    <control name="text-links-active" title="Text Links Active" tab="fonts" column="right">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::text-links-active</var>
+    </control>
+    <control name="text-links-product" title="Text Links Product Name" tab="fonts" column="right">
+        <type>color-picker</type>
+        <selector>.menu a:hover</selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::text-links-product</var>
+    </control>
+    -->
+    <control name="small-links" title="Small Links" tab="fonts" column="right">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .minicart .product.options.wrapper .more
+        ]]></selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::small-links</var>
+    </control>
+    <control name="small-links-hover" title="Small Links Hover" tab="fonts" column="right">
+        <type>color-picker</type>
+        <selector><![CDATA[
+            .minicart .product.options.wrapper .more:hover
+        ]]></selector>
+        <attribute>color</attribute>
+        <var>Magento_DesignEditor::small-links-hover</var>
+    </control>
+</controls>
diff --git a/app/design/frontend/magento_plushe/Magento_Directory/currency.phtml b/app/design/frontend/magento_plushe/Magento_Directory/currency.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..74171ad140c58a4856a8b70ad91c0776cb315b38
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Directory/currency.phtml
@@ -0,0 +1,54 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Currency switcher
+ *
+ * @see \Magento\Directory\Block\Currency
+ */
+?>
+<?php if ($this->getCurrencyCount() > 1): ?>
+<?php $currencies = $this->getCurrencies(); ?>
+<?php $currentCurrencyCode = $this->getCurrentCurrencyCode(); ?>
+<div class="switcher currency">
+    <strong class="label"><span><?php echo __('Currency') ?></span></strong>
+    <div class="options">
+        <strong class="language-<?php echo $this->escapeHtml($this->getCurrentCurrencyCode()) ?>">
+            <span><?php echo $this->escapeHtml($currentCurrencyCode) ?> - <?php echo @$this->escapeHtml($currencies[$currentCurrencyCode]) ?></span>
+        </strong>
+        <button type="button" data-toggle="dropdown" class="action switch"><span><?php echo __('Change')?></span></button>
+        <ul data-target="dropdown">
+            <?php foreach ($currencies as $_code => $_name): ?>
+                <?php if($_code != $currentCurrencyCode): ?>
+                    <li class="currency-<?php echo $_code ?>">
+                        <a href="<?php echo $this->getSwitchCurrencyUrl($_code) ?>"><?php echo $_code ?> - <?php echo $_name ?></a>
+                    </li>
+                <?php endif; ?>
+            <?php endforeach; ?>
+        </ul>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/TemplateEngine/_files/simple.twig b/app/design/frontend/magento_plushe/Magento_Directory/layout/override/catalog_category_view.xml
similarity index 90%
rename from dev/tests/integration/testsuite/Magento/Core/Model/TemplateEngine/_files/simple.twig
rename to app/design/frontend/magento_plushe/Magento_Directory/layout/override/catalog_category_view.xml
index d2c6608ac1f9cd7a071ddc351cc46e2ae4e54d02..6c60196129d6c92ce012ad36ab5a4e7194de6ea6 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/TemplateEngine/_files/simple.twig
+++ b/app/design/frontend/magento_plushe/Magento_Directory/layout/override/catalog_category_view.xml
@@ -1,4 +1,5 @@
-{#
+<?xml version="1.0"?>
+<!--
 /**
  * Magento
  *
@@ -21,5 +22,5 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
  */
-#}
-<html><head><title>{{ simple.title }}</title></head><body></body></html>
\ No newline at end of file
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
diff --git a/app/design/frontend/magento_plushe/Magento_Directory/layout/override/catalogsearch_advanced_index.xml b/app/design/frontend/magento_plushe/Magento_Directory/layout/override/catalogsearch_advanced_index.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6c60196129d6c92ce012ad36ab5a4e7194de6ea6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Directory/layout/override/catalogsearch_advanced_index.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
diff --git a/app/design/frontend/magento_plushe/Magento_Directory/layout/override/catalogsearch_advanced_result.xml b/app/design/frontend/magento_plushe/Magento_Directory/layout/override/catalogsearch_advanced_result.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6c60196129d6c92ce012ad36ab5a4e7194de6ea6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Directory/layout/override/catalogsearch_advanced_result.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
diff --git a/app/design/frontend/magento_plushe/Magento_Directory/layout/override/catalogsearch_result_index.xml b/app/design/frontend/magento_plushe/Magento_Directory/layout/override/catalogsearch_result_index.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6c60196129d6c92ce012ad36ab5a4e7194de6ea6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Directory/layout/override/catalogsearch_result_index.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
diff --git a/app/design/frontend/magento_plushe/Magento_Directory/layout/override/default.xml b/app/design/frontend/magento_plushe/Magento_Directory/layout/override/default.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7eae7a3f7e9c4f9f1f9ebf55cc513bde87bb0e24
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Directory/layout/override/default.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="header.panel">
+        <block class="Magento\Directory\Block\Currency" name="currency" before="store_language" template="currency.phtml"/>
+    </referenceContainer>
+    <referenceBlock name="head">
+        <block class="Magento\Core\Block\Template" name="optional_zip_countries" as="optional_zip_countries" template="Magento_Directory::js/optional_zip_countries.phtml"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Downloadable/catalog/product/links.phtml b/app/design/frontend/magento_plushe/Magento_Downloadable/catalog/product/links.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..d494ef4bb92af19f6c4fd11818ec28e12693b804
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Downloadable/catalog/product/links.phtml
@@ -0,0 +1,68 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /* @var $this \Magento\Downloadable\Block\Catalog\Product\Links */ ?>
+<?php $_linksPurchasedSeparately = $this->getLinksPurchasedSeparately(); ?>
+<?php if ($this->getProduct()->isSaleable() && $this->hasLinks()):?>
+    <?php $_links = $this->getLinks(); ?>
+    <?php $_isRequired = $this->getLinkSelectionRequired(); ?>
+    <div class="field downloads<?php if ($_isRequired) echo ' required' ?>">
+        <label class="label"><span><?php echo $this->getLinksTitle() ?></span></label>
+        <div class="control" id="downloadable-links-list">
+            <?php foreach ($_links as $_link): ?>
+            <div class="field choice">
+                <?php if ($_linksPurchasedSeparately): ?>
+                <input type="checkbox" <?php if ($_isRequired): ?>data-validate="{'validate-one-checkbox-required-by-name':'downloadable-links-list'}" <?php endif; ?>
+                       name="links[]" id="links_<?php echo $_link->getId() ?>"
+                       value="<?php echo $_link->getId(); ?>" <?php echo $this->getLinkCheckedValue($_link); ?> />
+                <?php endif; ?>
+                <label class="label" for="links_<?php echo $_link->getId() ?>">
+                    <span><?php echo $this->escapeHtml($_link->getTitle()); ?></span>
+                    <?php if ($_link->getSampleFile() || $_link->getSampleUrl()): ?>
+                        <a class="sample" href="<?php echo $this->getLinkSamlpeUrl($_link) ?>" <?php echo $this->getIsOpenInNewWindow() ? 'target="_blank"' : ''; ?>><?php echo __('sample') ?></a>
+                    <?php endif; ?>
+                    <?php if ($_linksPurchasedSeparately): ?>
+                    <?php echo $this->getFormattedLinkPrice($_link); ?>
+                    <?php endif; ?>
+                </label>
+            </div>
+            <?php endforeach; ?>
+        </div>
+        <?php if ($_isRequired): ?>
+            <span id="links-advice-container"></span>
+        <?php endif;?>
+    </div>
+    <script type="text/javascript">
+        (function ($) {
+            head.js("<?php echo $this->getViewFileUrl('Magento_Downloadable::downloadable.js') ?>", function () {
+                $('#downloadable-links-list').downloadable({
+                    linkElement: 'input:checkbox',
+                    config: <?php echo $this->getJsonConfig() ?>
+                });
+            });
+    })(jQuery);
+</script>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Downloadable/catalog/product/samples.phtml b/app/design/frontend/magento_plushe/Magento_Downloadable/catalog/product/samples.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..a130635232b5b40d3632c2bb29b1266d850ac2e5
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Downloadable/catalog/product/samples.phtml
@@ -0,0 +1,44 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+ * Downloadable product links
+ *
+ * @see \Magento\Downloadable\Block\Catalog\Product\Samples
+ */
+?>
+
+<?php if ($this->hasSamples()): ?>
+    <dl class="downloadable samples">
+        <dt><?php echo $this->getSamplesTitle() ?></dt>
+        <?php $_samples = $this->getSamples() ?>
+        <?php foreach ($_samples as $_sample): ?>
+            <dd>
+                <a href="<?php echo $this->getSampleUrl($_sample) ?>" <?php echo $this->getIsOpenInNewWindow()?'onclick="this.target=\'_blank\'"':''; ?>><?php echo  $this->escapeHtml($_sample->getTitle()) ?></a>
+            </dd>
+        <?php endforeach; ?>
+    </dl>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Downloadable/catalog/product/type.phtml b/app/design/frontend/magento_plushe/Magento_Downloadable/catalog/product/type.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..36f5df0a2cfe26e785aeffeee45f8f8a55f9135e
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Downloadable/catalog/product/type.phtml
@@ -0,0 +1,41 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+ * Downloadable product type
+ *
+ * @see \Magento\Downloadable\Block\Catalog\Product\View\Type
+ */
+?>
+<?php $_product = $this->getProduct() ?>
+
+<?php if($_product->getIsSalable()): ?>
+    <p class="stock available" title="<?php echo __('Availability') ?>"><span><?php echo __('In stock') ?></span></p>
+<?php else: ?>
+    <p class="stock unavailable" title="<?php echo __('Availability') ?>"><span><?php echo __('Out of stock') ?></span></p>
+<?php endif; ?>
+<?php echo $this->getChildHtml('product_type_data_extra') ?>
+<?php echo $this->getPriceHtml($_product) ?>
+<?php echo $this->getChildHtml('samples') ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Downloadable/checkout/cart/item/default.phtml b/app/design/frontend/magento_plushe/Magento_Downloadable/checkout/cart/item/default.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..3e5638117de0fd85fb8e351b63621ea262d8c98f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Downloadable/checkout/cart/item/default.phtml
@@ -0,0 +1,305 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+$_item = $this->getItem();
+$isVisibleProduct = $_item->getProduct()->isVisibleInSiteVisibility();
+$canApplyMsrp = $this->helper('Magento\Catalog\Helper\Data')->canApplyMsrp($_item->getProduct(), \Magento\Catalog\Model\Product\Attribute\Source\Msrp\Type::TYPE_BEFORE_ORDER_CONFIRM);
+?>
+<?php echo $this->getChildHtml('item_extra') ?>
+<tbody class="cart item">
+<tr class="item info">
+    <td class="col item">
+        <?php if ($this->hasProductUrl()):?><a href="<?php echo $this->getProductUrl() ?>" title="<?php echo $this->escapeHtml($this->getProductName()) ?>" class="product photo"><?php endif;?>
+        <?php echo $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image')->init($_item->getProduct(), 'cart_page_product_thumbnail')->toHtml(); ?>
+        <?php if ($this->hasProductUrl()):?></a><?php endif;?>
+        <div class="product details">
+            <strong class="product name">
+            <?php if ($this->hasProductUrl()):?>
+                <a href="<?php echo $this->getProductUrl() ?>"><?php echo $this->escapeHtml($this->getProductName()) ?></a>
+            <?php else: ?>
+                <?php echo $this->escapeHtml($this->getProductName()) ?>
+            <?php endif; ?>
+            </strong>
+            <?php if ($_options = $this->getOptionList()):?>
+            <dl class="cart item options">
+                <?php foreach ($_options as $_option) : ?>
+                <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+                <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>><?php echo $_formatedOptionValue['value'] ?>
+                    <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                    <div class="truncated_full_value">
+                        <dl class="item-options">
+                            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                            <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                        </dl>
+                    </div>
+                    <?php endif; ?>
+                </dd>
+                <?php endforeach; ?>
+            </dl>
+            <?php endif;?>
+            <!-- downloadable -->
+            <?php if ($links = $this->getLinks()): ?>
+            <dl class="cart item options">
+                <dt><?php echo $this->getLinksTitle() ?></dt>
+                <?php foreach ($links as $link): ?>
+                    <dd><?php echo $this->escapeHtml($link->getTitle()) ?></dd>
+                <?php endforeach; ?>
+            </dl>
+            <?php endif; ?>
+            <?php echo $this->getChildHtml('item_extra'); ?>
+            <!-- EOF downloadable -->
+            <?php if ($messages = $this->getMessages()): ?>
+            <?php foreach ($messages as $message): ?>
+                <p class="cart item message <?php echo $message['type'] ?>">* <?php echo $this->escapeHtml($message['text']) ?></p>
+            <?php endforeach; ?>
+            <?php endif; ?>
+            <?php $addInfoBlock = $this->getProductAdditionalInformationBlock(); ?>
+            <?php if ($addInfoBlock): ?>
+                <?php echo $addInfoBlock->setItem($_item)->toHtml() ?>
+            <?php endif;?>
+        </div>
+    </td>
+
+    <?php if ($canApplyMsrp): ?>
+        <td class="col msrp a-right"<?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?> colspan="2"<?php endif; ?>>
+            <span class="cart-price">
+                <span class="cart-msrp-unit"><?php echo __('See price before order confirmation.'); ?></span>
+                <?php $helpLinkId = 'cart-msrp-help-' . $_item->getId(); ?>
+                <a id="<?php echo $helpLinkId ?>" href="#" class="map-help-link"><?php echo __("What's this?"); ?></a>
+                <script type="text/javascript">
+                    Catalog.Map.addHelpLink($('<?php echo $helpLinkId ?>'), "<?php echo __("What's this?") ?>");
+                </script>
+            </span>
+        </td>
+    <?php else: ?>
+
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+        <td class="col price excl tax">
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+            <?php else: ?>
+                <span class="cart-price">
+            <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?>
+                <?php else: ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()) ?>
+                <?php endif; ?>
+
+            </span>
+
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+                <div class="cart-tax-info" id="eunit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                        <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                            <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span>
+                        <?php endforeach; ?>
+                    <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                        <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                            <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                        <?php endforeach; ?>
+                    <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                        <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                            <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                        <?php endforeach; ?>
+                    <?php endif; ?>
+                </div>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                        <span class="weee"><?php echo __('Total'); ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?></span>
+                    </div>
+                <?php endif; ?>
+            <?php endif; ?>
+        </td>
+
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+        <td class="col price incl tax">
+            <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($_item); ?>
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+            <?php else: ?>
+                <span class="cart-price">
+            <?php endif; ?>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?>
+                <?php else: ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxDisposition()) ?>
+                <?php endif; ?>
+
+            </span>
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+                <div class="cart-tax-info" id="unit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                        <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                            <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span>
+                        <?php endforeach; ?>
+                    <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                        <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                            <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                        <?php endforeach; ?>
+                    <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                        <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                            <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span>
+                        <?php endforeach; ?>
+                    <?php endif; ?>
+                </div>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                        <span class="weee"><?php echo __('Total incl. tax'); ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?></span>
+                    </div>
+                <?php endif; ?>
+            <?php endif; ?>
+        </td>
+        <?php endif; ?>
+    <?php endif; ?>
+    <td class="col qty">
+        <div class="control qty">
+        <input name="cart[<?php echo $_item->getId() ?>][qty]" value="<?php echo $this->getQty() ?>" type="text" size="4" title="<?php echo __('Qty') ?>" class="input-text qty" maxlength="12" data-validate="{required:true,'validate-greater-than-zero':true}"/>
+        </div>
+    </td>
+    <?php if (($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()) && !$_item->getNoSubtotal()): ?>
+    <td class="col subtotal excl tax">
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($canApplyMsrp): ?>
+                <span class="cart-msrp-subtotal">--</span>
+            <?php else: ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?>
+                <?php else: ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()) ?>
+                <?php endif; ?>
+            <?php endif; ?>
+
+        </span>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="weee"><?php echo __('Total'); ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+    <?php if (($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()) && !$_item->getNoSubtotal()): ?>
+    <td class="col subtotal incl tax">
+        <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($_item); ?>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($canApplyMsrp): ?>
+                <span class="cart-msrp-subtotal">--</span>
+            <?php else: ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?>
+                <?php else: ?>
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxRowDisposition()) ?>
+                <?php endif; ?>
+            <?php endif; ?>
+
+        </span>
+
+
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="subtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="weee"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span>
+                    <?php endforeach; ?>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="weee"><?php echo __('Total incl. tax'); ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+</tr>
+<tr class="item actions">
+    <td colspan="100">
+        <div class="actions">
+
+            <?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllowInCart()) : ?>
+                <?php if ($isVisibleProduct): ?>
+                <a href="<?php echo $this->helper('Magento\Wishlist\Helper\Data')->getMoveFromCartUrl($_item->getId()); ?>" class="use-ajax action towishlist">
+                    <span><?php echo __('Move to Wishlist'); ?></span>
+                </a>
+                <?php endif ?>
+            <?php endif ?>
+
+            <?php if ($isVisibleProduct): ?>
+            <a class="action edit" href="<?php echo $this->getConfigureUrl() ?>" title="<?php echo __('Edit item parameters') ?>"><span><?php echo __('Edit') ?></span></a>
+            <?php endif ?>
+
+            <a href="<?php echo $this->getDeleteUrl()?>" title="<?php echo __('Remove item')?>" class="action delete"><span><?php echo __('Remove item')?></span></a>
+        </div>
+    </td>
+</tr>
+</tbody>
diff --git a/app/design/frontend/magento_plushe/Magento_Downloadable/checkout/multishipping/item/default.phtml b/app/design/frontend/magento_plushe/Magento_Downloadable/checkout/multishipping/item/default.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..ebf63dc44e18fcc2882a01e98a4d4955b8983275
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Downloadable/checkout/multishipping/item/default.phtml
@@ -0,0 +1,57 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="product details">
+    <strong class="product name"><a href="<?php echo $this->getProductUrl() ?>"><?php echo $this->escapeHtml($this->getProductName()) ?></a></strong>
+    <?php if ($_options = $this->getOptionList()): ?>
+        <dl class="item options">
+            <?php foreach ($_options as $_option) : ?>
+                <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+                <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>><?php echo $_formatedOptionValue['value'] ?>
+                    <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                        <dl class="item options">
+                            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                            <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                        </dl>
+                    <?php endif; ?>
+                </dd>
+            <?php endforeach; ?>
+        </dl>
+    <?php endif; ?>
+    <!-- downloadable -->
+    <?php if ($links = $this->getLinks()): ?>
+    <dl class="item options">
+        <dt><?php echo $this->getLinksTitle() ?></dt>
+        <?php foreach ($links as $link): ?>
+            <dd><?php echo $this->escapeHtml($link->getTitle()); ?></dd>
+        <?php endforeach; ?>
+    </dl>
+    <?php endif; ?>
+    <!-- EOF downloadable -->
+    <?php if ($addtInfoBlock = $this->getProductAdditionalInformationBlock()): ?>
+        <?php echo $addtInfoBlock->setItem($this->getItem())->toHtml() ?>
+    <?php endif; ?>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Downloadable/checkout/onepage/review/item.phtml b/app/design/frontend/magento_plushe/Magento_Downloadable/checkout/onepage/review/item.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..dbd0f629fc26a170f18bb5a210ea5f9689aa6a2a
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Downloadable/checkout/onepage/review/item.phtml
@@ -0,0 +1,247 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_item = $this->getItem()?>
+<tr>
+    <td class="col item"><strong class="product name"><?php echo $this->escapeHtml($this->getProductName()) ?></strong>
+        <?php if ($_options = $this->getOptionList()):?>
+        <dl class="review item options">
+            <?php foreach ($_options as $_option) : ?>
+            <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+            <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>><?php echo $_formatedOptionValue['value'] ?>
+                <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                <div class="truncated_full_value">
+                    <dl class="item-options">
+                        <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                        <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                    </dl>
+                </div>
+                <?php endif; ?>
+            </dd>
+            <?php endforeach; ?>
+        </dl>
+        <?php endif;?>
+        <?php if ($links = $this->getLinks()): ?>
+        <dl class="review item options">
+            <dt><?php echo $this->getLinksTitle() ?></dt>
+            <?php foreach ($links as $link): ?>
+                <dd><?php echo $this->escapeHtml($link->getTitle()) ?></dd>
+            <?php endforeach; ?>
+        </dl>
+        <?php endif; ?>
+        <!-- EOF downloadable -->
+        <?php if ($addtInfoBlock = $this->getProductAdditionalInformationBlock()):?>
+            <?php echo $addtInfoBlock->setItem($_item)->toHtml() ?>
+        <?php endif;?>
+    </td>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td class="col price excl tax">
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()) ?>
+            <?php endif; ?>
+
+        </span>
+
+
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="eunit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></small></span><br />
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td class="col price incl tax">
+        <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($_item); ?>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxDisposition()) ?>
+            <?php endif; ?>
+
+        </span>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="unit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></small></span><br />
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+    <td class="col qty"><span class="qty"><?php echo $_item->getQty() ?></span></td>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td class="col subtotal excl tax">
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()) ?>
+            <?php endif; ?>
+
+        </span>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></small></span><br />
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td class="col subtotal incl tax">
+        <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($_item); ?>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <span class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxRowDisposition()) ?>
+            <?php endif; ?>
+
+        </span>
+
+
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="subtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></small></span><br />
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+</tr>
diff --git a/app/design/frontend/magento_plushe/Magento_Downloadable/checkout/onepage/review/item_down.phtml b/app/design/frontend/magento_plushe/Magento_Downloadable/checkout/onepage/review/item_down.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..cdbdcffdae09f6f7259affc7e3e980efc6b7def2
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Downloadable/checkout/onepage/review/item_down.phtml
@@ -0,0 +1,246 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_item = $this->getItem()?>
+<tr>
+    <td><h3 class="product-name"><?php echo $this->escapeHtml($this->getProductName()) ?></h3>
+        <!-- item custom options -->
+        <?php if ($_options = $this->getOptionList()):?>
+        <dl class="item-options">
+            <?php foreach ($_options as $_option) : ?>
+            <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+            <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>><?php echo $_formatedOptionValue['value'] ?>
+                <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                <div class="truncated_full_value">
+                    <dl class="item-options">
+                        <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                        <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                    </dl>
+                </div>
+                <?php endif; ?>
+            </dd>
+            <?php endforeach; ?>
+        </dl>
+        <?php endif;?>
+        <?php if ($links = $this->getLinks()): ?>
+        <dl class="item-options">
+            <dt><?php echo $this->getLinksTitle() ?></dt>
+            <?php foreach ($links as $link): ?>
+                <dd><?php echo $this->escapeHtml($link->getTitle()) ?></dd>
+            <?php endforeach; ?>
+        </dl>
+        <?php endif; ?>
+        <!-- EOF downloadable -->
+    </td>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td class="a-right">
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <div class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()) ?>
+            <?php endif; ?>
+
+        </div>
+
+
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="eunit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></small></span><br />
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getCalculationPrice()+$_item->getWeeeTaxAppliedAmount()+$_item->getWeeeTaxDisposition()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td>
+        <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($_item); ?>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <div class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxDisposition()) ?>
+            <?php endif; ?>
+
+        </div>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="unit-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></small></span><br />
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['amount_incl_tax'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedAmount()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+    <td class="a-center"><?php echo $_item->getQty() ?></td>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceExclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td class="a-right">
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <div class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()) ?>
+            <?php endif; ?>
+
+        </div>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></small></span><br />
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_item->getRowTotal()+$_item->getWeeeTaxAppliedRowAmount()+$_item->getWeeeTaxRowDisposition()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartPriceInclTax() || $this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+    <td>
+        <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($_item); ?>
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+            <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+        <?php else: ?>
+            <div class="cart-price">
+        <?php endif; ?>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, array(0, 1, 4), 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?>
+            <?php else: ?>
+                <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl-$_item->getWeeeTaxRowDisposition()) ?>
+            <?php endif; ?>
+
+        </div>
+
+
+        <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item)): ?>
+
+            <div class="cart-tax-info" id="subtotal-item-tax-details<?php echo $_item->getId(); ?>" style="display:none;">
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 1, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></small></span><br />
+                    <?php endforeach; ?>
+                <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 4, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                    <small>
+                    <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($_item) as $tax): ?>
+                        <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($tax['row_amount_incl_tax'],true,true); ?></span><br />
+                    <?php endforeach; ?>
+                    </small>
+                <?php endif; ?>
+            </div>
+
+            <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($_item, 2, 'sales') && $_item->getWeeeTaxAppliedAmount()): ?>
+                <div class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $_item->getId(); ?>"}'>
+                    <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_incl+$_item->getWeeeTaxAppliedRowAmount()); ?></span>
+                </div>
+            <?php endif; ?>
+        <?php endif; ?>
+    </td>
+    <?php endif; ?>
+</tr>
diff --git a/app/design/frontend/magento_plushe/Magento_Downloadable/customer/products/list.phtml b/app/design/frontend/magento_plushe/Magento_Downloadable/customer/products/list.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..7f2054f740900c5b7c2ebc22cd72337165560629
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Downloadable/customer/products/list.phtml
@@ -0,0 +1,75 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * @see \Magento\Downloadable\Block\Customer\Products\ListProducts
+ */
+?>
+<?php $_items = $this->getItems(); ?>
+<div class="downloadable products toolbar">
+    <?php echo $this->getChildHtml('pager'); ?>
+</div>
+<?php if(count($_items)): ?>
+    <table id="my-downloadable-products-table" class="data table downloadable products">
+        <thead>
+            <tr>
+                <th class="col id"><?php echo __('Order #') ?></th>
+                <th class="col date"><?php echo __('Date') ?></th>
+                <th class="col title"><?php echo __('Title') ?></th>
+                <th class="col status"><?php echo __('Status') ?></th>
+                <th class="col remaining"><?php echo __('Remaining Downloads') ?></th>
+            </tr>
+        </thead>
+        <tbody>
+            <?php foreach ($_items as $_item): ?>
+                <tr>
+                    <td class="col id">
+                        <a href="<?php echo $this->getOrderViewUrl($_item->getPurchased()->getOrderId()) ?>" title="<?php echo __('View Order') ?>">
+                            <?php echo $_item->getPurchased()->getOrderIncrementId() ?>
+                        </a>
+                    </td>
+                    <td class="col date"><?php echo $this->formatDate($_item->getPurchased()->getCreatedAt()) ?></td>
+                    <td class="col title">
+                        <?php echo $this->escapeHtml($_item->getPurchased()->getProductName()) ?> - <a href="<?php echo $this->getDownloadUrl($_item) ?>" title="<?php echo __('Start Download') ?>" <?php echo $this->getIsOpenInNewWindow()?'onclick="this.target=\'_blank\'"':''; ?>><?php echo $this->escapeHtml($_item->getLinkTitle()) ?></a>
+                    </td>
+                    <td class="col status"><?php echo __(ucfirst($_item->getStatus())) ?></td>
+                    <td class="col remaining"><?php echo $this->getRemainingDownloads($_item) ?></td>
+                </tr>
+            <?php endforeach; ?>
+        </tbody>
+    </table>
+<?php else: ?>
+    <p class="empty"><?php echo __('You have not purchased any downloadable products yet.'); ?></p>
+<?php endif; ?>
+<div class="downloadable products toolbar">
+    <?php echo $this->getChildHtml('pager'); ?>
+</div>
+
+<div class="actions">
+    <div class="secondary">
+        <a href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>" class="action back"><span><?php echo __('Back') ?></span></a>
+    </div>
+</div>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Downloadable/layout/override/catalog_product_view_type_downloadable.xml b/app/design/frontend/magento_plushe/Magento_Downloadable/layout/override/catalog_product_view_type_downloadable.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d1f574903d6a23e9baaf7b6908afc45e8df01f78
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Downloadable/layout/override/catalog_product_view_type_downloadable.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Catalog Product View (Downloadable)" type="page" parent="catalog_product_view">
+    <referenceContainer name="product.info.type">
+        <block class="Magento\Downloadable\Block\Catalog\Product\View\Type" name="product.info.downloadable" as="product_type_data" template="catalog/product/type.phtml">
+            <block class="Magento\Downloadable\Block\Catalog\Product\Samples" name="product.info.downloadable.samples" as="samples" template="catalog/product/samples.phtml"/>
+            <block class="Magento\CatalogInventory\Block\Stockqty\DefaultStockqty" name="product.info.downloadable.extra" as="product_type_data_extra" template="stockqty/default.phtml"/>
+        </block>
+    </referenceContainer>
+    <referenceBlock name="product.info.options.wrapper">
+        <block class="Magento\Downloadable\Block\Catalog\Product\Links" name="product.info.downloadable.options" as="type_downloadable_options" before="-" template="catalog/product/links.phtml"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Downloadable/layout/override/checkout_cart_index.xml b/app/design/frontend/magento_plushe/Magento_Downloadable/layout/override/checkout_cart_index.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b8f5e1921341cf9a3c32bfb8d274f367d76dbab9
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Downloadable/layout/override/checkout_cart_index.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="checkout.cart.form">
+        <block class="Magento\Downloadable\Block\Checkout\Cart\Item\Renderer" as="downloadable" template="checkout/cart/item/default.phtml"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Downloadable/sales/order/creditmemo/items/renderer/downloadable.phtml b/app/design/frontend/magento_plushe/Magento_Downloadable/sales/order/creditmemo/items/renderer/downloadable.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..65f32a6e195ca1fc644471a839db811d149cd526
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Downloadable/sales/order/creditmemo/items/renderer/downloadable.phtml
@@ -0,0 +1,315 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_item = $this->getItem() ?>
+<?php $_order = $this->getItem()->getOrderItem()->getOrder() ?>
+<tr class="border" id="order-item-row-<?php echo $_item->getId() ?>">
+    <td class="col name">
+        <strong class="product name"><?php echo $this->escapeHtml($_item->getName()) ?></strong>
+        <?php if($_options = $this->getItemOptions()): ?>
+        <dl class="item options">
+        <?php foreach ($_options as $_option) : ?>
+            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+            <?php if (!$this->getPrintStatus()): ?>
+                <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+                <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>><?php echo $_formatedOptionValue['value'] ?>
+                    <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                    <div class="truncated_full_value">
+                        <dl class="item options">
+                            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                            <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                        </dl>
+                    </div>
+                    <?php endif; ?>
+                </dd>
+            <?php else: ?>
+                <dd><?php echo $this->escapeHtml( (isset($_option['print_value']) ? $_option['print_value'] : $_option['value']) ) ?></dd>
+            <?php endif; ?>
+        <?php endforeach; ?>
+        </dl>
+        <?php endif; ?>
+
+        <!-- downloadable -->
+        <?php if ($links = $this->getLinks()): ?>
+            <dl class="item options">
+                <dt><?php echo $this->getLinksTitle() ?></dt>
+                <?php foreach ($links->getPurchasedItems() as $link): ?>
+                    <dd><?php echo $this->escapeHtml($link->getLinkTitle()); ?></dd>
+                <?php endforeach; ?>
+            </dl>
+        <?php endif; ?>
+        <!-- EOF downloadable -->
+
+        <?php $addInfoBlock = $this->getProductAdditionalInformationBlock(); ?>
+        <?php if ($addInfoBlock) :?>
+            <?php echo $addInfoBlock->setItem($_item->getOrderItem())->toHtml(); ?>
+        <?php endif; ?>
+        <?php echo $this->escapeHtml($_item->getDescription()) ?>
+        <?php if ($this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $_item->getOrderItem()) && $_item->getGiftMessageId()): ?>
+            <a href="#" id="order-item-gift-message-link-<?php echo $_item->getId() ?>" class="gift-message-link" aria-controls="order-item-gift-message-<?php echo $_item->getId()?>" data-item-id="<?php echo $_item->getId()?>"><?php echo __('Gift Message') ?></a>
+        <?php endif; ?>
+    </td>
+    <td  class="col sku"><?php echo $this->escapeHtml($this->helper('Magento\Core\Helper\String')->splitInjection($this->getSku())) ?></td>
+    <td class="col price">
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxDisposition()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="unit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+        <?php endif; ?>
+    </td>
+    <td class="col qty"><?php echo $_item->getQty()*1 ?></td>
+    <td class="col subtotal">
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxRowDisposition()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+
+
+
+            </span>
+        <?php endif; ?>
+    </td>
+    <td class="col discount"><?php echo $_order->formatPrice(-$_item->getDiscountAmount()) ?></td>
+    <td class="cot total">
+        <?php echo $_order->formatPrice($_item->getRowTotal()-$_item->getDiscountAmount()+$_item->getTaxAmount()+$_item->getWeeeTaxAppliedRowAmount()) ?>
+    </td>
+</tr>
diff --git a/app/design/frontend/magento_plushe/Magento_Downloadable/sales/order/invoice/items/renderer/downloadable.phtml b/app/design/frontend/magento_plushe/Magento_Downloadable/sales/order/invoice/items/renderer/downloadable.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..cc6e3bad1652cb2f0b8d515405f89703cac33792
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Downloadable/sales/order/invoice/items/renderer/downloadable.phtml
@@ -0,0 +1,305 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_item = $this->getItem() ?>
+<?php $_order = $this->getItem()->getOrderItem()->getOrder() ?>
+<tr id="order-item-row-<?php echo $_item->getId() ?>">
+    <td class="col name">
+        <strong class="product name"><?php echo $this->escapeHtml($_item->getName()) ?></strong>
+        <?php if($_options = $this->getItemOptions()): ?>
+        <dl class="item options">
+        <?php foreach ($_options as $_option) : ?>
+            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+            <?php if (!$this->getPrintStatus()): ?>
+                <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+                <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>>
+                    <?php echo $_formatedOptionValue['value'] ?>
+                    <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                    <div class="truncated_full_value">
+                        <dl class="item options">
+                            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                            <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                        </dl>
+                    </div>
+                    <?php endif; ?>
+                </dd>
+            <?php else: ?>
+                <dd><?php echo $this->escapeHtml( (isset($_option['print_value']) ? $_option['print_value'] : $_option['value']) ) ?></dd>
+            <?php endif; ?>
+        <?php endforeach; ?>
+        </dl>
+        <?php endif; ?>
+        <!-- downloadable -->
+        <?php if ($links = $this->getLinks()): ?>
+            <dl class="item options">
+                <dt><?php echo $this->getLinksTitle() ?></dt>
+                <?php foreach ($links->getPurchasedItems() as $link): ?>
+                    <dd><?php echo $this->escapeHtml($link->getLinkTitle()); ?></dd>
+                <?php endforeach; ?>
+            </dl>
+        <?php endif; ?>
+        <!-- EOF downloadable -->
+        <?php $addInfoBlock = $this->getProductAdditionalInformationBlock(); ?>
+        <?php if ($addInfoBlock) :?>
+            <?php echo $addInfoBlock->setItem($_item->getOrderItem())->toHtml(); ?>
+        <?php endif; ?>
+        <?php echo $this->escapeHtml($_item->getDescription()) ?>
+        <?php if ($this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $_item->getOrderItem()) && $_item->getGiftMessageId()): ?>
+            <a href="#" id="order-item-gift-message-link-<?php echo $_item->getId() ?>" class="gift-message-link" aria-controls="order-item-gift-message-<?php echo $_item->getId()?>" data-item-id="<?php echo $_item->getId()?>"><?php echo __('Gift Message') ?></a>
+        <?php endif; ?>
+    </td>
+    <td class="col sku"><?php echo $this->escapeHtml($this->helper('Magento\Core\Helper\String')->splitInjection($this->getSku())) ?></td>
+    <td class="col price">
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxDisposition()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="unit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+        <?php endif; ?>
+    </td>
+    <td class="col qty">
+        <span class="qty summary"><?php echo $_item->getQty()*1 ?></span>
+    </td>
+    <td class="col subtotal">
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxRowDisposition()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+
+            </span>
+        <?php endif; ?>
+    </td>
+</tr>
diff --git a/app/design/frontend/magento_plushe/Magento_Downloadable/sales/order/items/renderer/downloadable.phtml b/app/design/frontend/magento_plushe/Magento_Downloadable/sales/order/items/renderer/downloadable.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..5b73ec009c1d646231d4d556d4dbb1bf9d53cec8
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Downloadable/sales/order/items/renderer/downloadable.phtml
@@ -0,0 +1,327 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_item = $this->getItem() ?>
+<tr id="order-item-row-<?php echo $_item->getId() ?>">
+    <td class="col name">
+        <strong class="product name"><?php echo $this->escapeHtml($_item->getName()) ?></strong>
+        <?php if($_options = $this->getItemOptions()): ?>
+        <dl class="item options">
+        <?php foreach ($_options as $_option) : ?>
+            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+            <?php if (!$this->getPrintStatus()): ?>
+                <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+                <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>>
+                    <?php echo $_formatedOptionValue['value'] ?>
+                    <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                    <div class="truncated_full_value">
+                        <dl class="item options">
+                            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                            <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                        </dl>
+                    </div>
+                    <?php endif; ?>
+                </dd>
+            <?php else: ?>
+                <dd>
+                    <?php echo nl2br($this->escapeHtml( (isset($_option['print_value']) ? $_option['print_value'] : $_option['value']) )) ?>
+                </dd>
+            <?php endif; ?>
+        <?php endforeach; ?>
+        </dl>
+        <?php endif; ?>
+        <!-- downloadable -->
+        <?php if ($links = $this->getLinks()): ?>
+            <dl class="item-options">
+                <dt><?php echo $this->getLinksTitle() ?></dt>
+                <?php foreach ($links->getPurchasedItems() as $link): ?>
+                    <dd><?php echo $this->escapeHtml($link->getLinkTitle()); ?></dd>
+                <?php endforeach; ?>
+            </dl>
+        <?php endif; ?>
+        <!-- EOF downloadable -->
+        <?php $addtInfoBlock = $this->getProductAdditionalInformationBlock(); ?>
+        <?php if ($addtInfoBlock) :?>
+            <?php echo $addtInfoBlock->setItem($_item)->toHtml(); ?>
+        <?php endif; ?>
+        <?php echo $this->escapeHtml($_item->getDescription()) ?>
+        <?php if ($this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $_item) && $_item->getGiftMessageId()): ?>
+            <a href="#"
+               id="order-item-gift-message-link-<?php echo $_item->getId() ?>"
+               class="action show"
+               aria-controls="order-item-gift-message-<?php echo $_item->getId()?>"
+               data-item-id="<?php echo $_item->getId()?>">
+                <?php echo __('Gift Message') ?>
+            </a>
+        <?php endif; ?>
+    </td>
+    <td class="col sku"><?php echo $this->escapeHtml($this->helper('Magento\Core\Helper\String')->splitInjection($this->getSku())) ?></td>
+    <td class="col price">
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()) ?>
+                    <?php endif; ?>
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxDisposition()) ?>
+                    <?php endif; ?>
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="unit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+        <?php endif; ?>
+    </td>
+    <td class="col qty">
+        <span class="qty summary">
+                <?php if ($this->getItem()->getQtyOrdered() > 0): ?>
+            <?php echo __('Ordered'); ?>: <strong><?php echo $this->getItem()->getQtyOrdered()*1 ?></strong><br />
+        <?php endif; ?>
+        <?php if ($this->getItem()->getQtyShipped() > 0): ?>
+            <?php echo __('Shipped'); ?>: <strong><?php echo $this->getItem()->getQtyShipped()*1 ?></strong><br />
+        <?php endif; ?>
+        <?php if ($this->getItem()->getQtyCanceled() > 0): ?>
+            <?php echo __('Canceled'); ?>: <strong><?php echo $this->getItem()->getQtyCanceled()*1 ?></strong><br />
+        <?php endif; ?>
+        <?php if ($this->getItem()->getQtyRefunded() > 0): ?>
+            <?php echo __('Refunded'); ?>: <strong><?php echo $this->getItem()->getQtyRefunded()*1 ?></strong><br />
+        <?php endif; ?>
+        </span>
+    </td>
+    <td class="col subtotal">
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()) ?>
+                    <?php endif; ?>
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxRowDisposition()) ?>
+                    <?php endif; ?>
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+
+            </span>
+        <?php endif; ?>
+    </td>
+    <!--
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+    <th class="a-right"><?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()) ?></th>
+    <?php endif; ?>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+    <th class="a-right"><?php echo $this->getOrder()->formatPrice($this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($this->getItem())); ?></th>
+    <?php endif; ?>
+    -->
+</tr>
diff --git a/app/design/frontend/magento_plushe/Magento_GiftMessage/inline.phtml b/app/design/frontend/magento_plushe/Magento_GiftMessage/inline.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..dfb98bdc890a4ad48b621a3784d482863a686b43
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_GiftMessage/inline.phtml
@@ -0,0 +1,301 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_giftMessage = false; ?>
+<?php if(!$this->getDontDisplayContainer()): ?>
+<script type="text/javascript">
+    head.js("<?php echo $this->getViewFileUrl('js/extra-options.js') ?>", function() {
+        jQuery('#checkoutSteps').extraOptions({additionalUrl: '<?php echo $this->getAdditionalUrl(); ?>'});
+    });
+</script>
+<?php endif ?>
+
+<?php switch ($this->getType()): ?>
+<?php case 'onepage_checkout': ?>
+    <fieldset class="fieldset gift message">
+        <legend class="legend"><span><?php echo __('Do you have any gift items in your order?'); ?></span></legend><br>
+
+        <div class="field choice" id="add-gift-options-<?php echo $this->getEntity()->getId() ?>">
+            <input type="checkbox" name="allow_gift_options" id="allow_gift_options" value="1" data-selector='{"id":"#allow-gift-options-container"}'<?php if($this->getItemsHasMesssages() || $this->getEntityHasMessage()): ?> checked="checked"<?php endif; ?> class="checkbox" />
+            <label for="allow_gift_options" class="label"><span><?php echo __('Add gift options') ?></span></label>
+        </div>
+
+        <dl class="block items" id="allow-gift-options-container">
+            <dt id="add-gift-options-for-order-<?php echo $this->getEntity()->getId() ?>" class="order">
+                <div class="title"><span><?php echo __('Gift Options for the Entire Order'); ?></span></div>
+                <div class="field choice">
+                    <input type="checkbox" name="allow_gift_messages_for_order" id="allow_gift_options_for_order" value="1" data-selector='{"id":"#allow-gift-options-for-order-container"}'<?php if($this->getEntityHasMessage()): ?> checked="checked"<?php endif; ?> class="checkbox" />
+                    <label for="allow_gift_options_for_order" class="label"><span><?php echo __('Add gift options for the Entire Order') ?></span></label>
+                </div>
+            </dt>
+
+            <dd id="allow-gift-options-for-order-container" class="options order">
+                <div class="options-order-container" id="options-order-container-<?php echo $this->getEntity()->getId() ?>"></div>
+                <input type="hidden" name="giftoptions[<?php echo $this->getEntity()->getId() ?>][type]" value="quote" />
+                <?php if ($this->isMessagesAvailable()): ?>
+                    <a href="#" class="activate message" data-mage-init='{toggleAdvanced: {selectorsToggleClass:"no-display", toggleContainers:"#allow-gift-messages-for-order-container"}}'><?php echo __('Gift Message') ?></a>
+                    <div id="allow-gift-messages-for-order-container" class="no-display">
+                        <fieldset class="fieldset">
+                            <input type="hidden" name="giftmessage[<?php echo $this->getEntity()->getId() ?>][type]"  value="quote" />
+                            <p><?php echo __('If you don\'t want to leave a gift message for the entire order, leave this box blank.') ?></p>
+                            <div class="field from">
+                                <label for="gift-message-whole-from" class="label"><span><?php echo __('From') ?></span></label>
+                                <div class="control">
+                                    <input type="text" name="giftmessage[<?php echo $this->getEntity()->getId() ?>][from]" id="gift-message-whole-from" title="<?php echo __('From') ?>"  value="<?php echo $this->getEscaped($this->getMessage()->getSender(), $this->getDefaultFrom()) ?>" class="input-text">
+                                </div>
+                            </div>
+                            <div class="field to">
+                                <label for="gift-message-whole-to" class="label"><span><?php echo __('To') ?></span></label>
+                                <div class="control">
+                                    <input type="text" name="giftmessage[<?php echo $this->getEntity()->getId() ?>][to]" id="gift-message-whole-to" title="<?php echo __('To') ?>" value="<?php echo $this->getEscaped($this->getMessage()->getRecipient(), $this->getDefaultTo()) ?>" class="input-text">
+                                </div>
+                            </div>
+                            <div class="field text">
+                                <label for="gift-message-whole-message" class="label"><span><?php echo __('Message') ?></span></label>
+                                <div class="control">
+                                    <textarea id="gift-message-whole-message" class="input-text" name="giftmessage[<?php echo $this->getEntity()->getId() ?>][message]" title="<?php echo __('Message') ?>" rows="5" cols="10"><?php echo $this->getEscaped($this->getMessage()->getMessage()) ?></textarea>
+                                </div>
+                            </div>
+                        </fieldset>
+                        <script type="text/javascript">
+                            jQuery('#add-gift-options-<?php echo $this->getEntity()->getId() ?>')
+                                .add('#add-gift-options-for-order-<?php echo $this->getEntity()->getId() ?>').removeClass('no-display');
+                        </script>
+                    </div>
+               <?php endif ?>
+            </dd>
+            <?php if ($this->isItemsAvailable()): ?>
+            <dt id="add-gift-options-for-items-<?php echo $this->getEntity()->getId() ?>" class="individual">
+                <div class="title"><span><?php echo __('Gift Options for Individual Items'); ?></span></div>
+                <div class="field choice">
+                    <input type="checkbox" name="allow_gift_options_for_items" id="allow_gift_options_for_items" value="1" data-selector='{"id":"#allow-gift-options-for-items-container"}'<?php if($this->getItemsHasMesssages()): ?> checked="checked"<?php endif; ?> class="checkbox" />
+                    <label for="allow_gift_options_for_items" class="label"><span><?php echo __('Add gift options for Individual Items') ?></span></label>
+                </div>
+            </dt>
+
+            <dd id="allow-gift-options-for-items-container" class="options individual">
+                <ol>
+                    <?php foreach($this->getItems() as $_index=>$_item): ?>
+                    <?php $_product=$_item->getProduct() ?>
+                    <li class="item">
+                         <input type="hidden" name="giftoptions[<?php echo $_item->getId() ?>][type]" value="quote_item" />
+                         <p class="number"><?php echo __('Item %1 of %2', $_index+1, $this->countItems()) ?></p>
+                         <div class="product">
+                             <div class="img photo container">
+                                 <img src="<?php echo $this->getThumbnailUrl($_product); ?>" width="<?php echo $this->getThumbnailSize()?>" height="<?php echo $this->getThumbnailSize()?>" alt="<?php echo $this->escapeHtml($_product->getName()) ?>"title="<?php echo $this->escapeHtml($_product->getName()) ?>" />
+                             </div>
+                             <strong class="product name"><?php echo $this->escapeHtml($_product->getName()) ?></strong>
+                         </div>
+                         <div class="item options">
+                             <div class="options-items-container" id="options-items-container-<?php echo $this->getEntity()->getId() ?>-<?php echo $_item->getId() ?>"></div>
+                             <?php if ($this->isItemMessagesAvailable($_item)): ?>
+                             <a href="#" class="activate message" data-mage-init='{toggleAdvanced: {selectorsToggleClass:"no-display", toggleContainers:"#gift-messages-for-item-container-<?php echo $_item->getId() ?>"}}'><?php echo __('Gift Message') ?></a>
+                             <div id="gift-messages-for-item-container-<?php echo $_item->getId() ?>" class="block message no-display">
+                                 <fieldset class="fieldset">
+                                     <p><?php echo __('You can leave a box blank if you don\'t wish to add a gift message for the item.') ?></p>
+                                     <input type="hidden" name="giftmessage[<?php echo $_item->getId() ?>][type]" value="quote_item" >
+                                     <div class="field from">
+                                         <label for="gift-message-<?php echo $_item->getId() ?>-from" class="label"><span><?php echo __('From') ?></span></label>
+                                         <div class="control">
+                                             <input type="text" name="giftmessage[<?php echo $_item->getId() ?>][from]" id="gift-message-<?php echo $_item->getId() ?>-from" title="<?php echo __('From') ?>" value="<?php echo $this->getEscaped($this->getMessage($_item)->getSender(), $this->getDefaultFrom()) ?>" class="input-text">
+                                         </div>
+                                     </div>
+                                     <div class="field to">
+                                        <label for="gift-message-<?php echo $_item->getId() ?>-to" class="label"><span><?php echo __('To') ?></span></label>
+                                        <div class="control">
+                                            <input type="text" name="giftmessage[<?php echo $_item->getId() ?>][to]" id="gift-message-<?php echo $_item->getId() ?>-to" title="<?php echo __('To') ?>" value="<?php echo $this->getEscaped($this->getMessage($_item)->getRecipient(), $this->getDefaultTo()) ?>" class="input-text">
+                                        </div>
+                                     </div>
+                                     <div class="field text">
+                                         <label for="gift-message-<?php echo $_item->getId() ?>-message" class="label"><span><?php echo __('Message') ?></span></label>
+                                         <div class="control">
+                                            <textarea id="gift-message-<?php echo $_item->getId() ?>-message" class="input-text giftmessage-area" name="giftmessage[<?php echo $_item->getId() ?>][message]" title="<?php echo __('Message') ?>" rows="5" cols="40"><?php echo $this->getEscaped($this->getMessage($_item)->getMessage()) ?></textarea>
+                                         </div>
+                                     </div>
+                                </fieldset>
+                             </div>
+                         <?php endif; ?>
+                         </div>
+                    </li>
+                    <?php endforeach; ?>
+                </ol>
+            </dd>
+            <script type="text/javascript">
+                jQuery('#add-gift-options-<?php echo $this->getEntity()->getId() ?>')
+                    .add('#add-gift-options-for-items-<?php echo $this->getEntity()->getId() ?>').removeClass('no-display');
+            </script>
+            <?php endif; ?>
+            <dt class="extra-options-container" id="extra-options-container-<?php echo $this->getEntity()->getId() ?>"></dt>
+        </dl>
+    </fieldset>
+    <script type="text/javascript">
+        head.js("<?php echo $this->getViewFileUrl('Magento_GiftMessage::gift-options.js')?>", function() {
+            jQuery('#allow_gift_options')
+                .add('#allow_gift_options_for_order')
+                .add('#allow_gift_options_for_items').giftOptions();
+        });
+    </script>
+<?php break; ?>
+<?php case 'multishipping_adress_checkbox': ?>
+<?php break; ?>
+
+<?php case 'multishipping_address': ?>
+    <fieldset id="add-gift-options-<?php echo $this->getEntity()->getId() ?>" class="fieldset gift message">
+        <legend class="legend"><span><?php echo __('Do you have any gift items in your order?'); ?></span></legend><br>
+
+        <div class="field choice" id="add-gift-options-<?php echo $this->getEntity()->getId() ?>">
+            <input type="checkbox" name="allow_gift_options_<?php echo $this->getEntity()->getId() ?>" id="allow_gift_options_<?php echo $this->getEntity()->getId() ?>" value="1" data-selector='{"id":"#allow-gift-options-container-<?php echo $this->getEntity()->getId() ?>"}'<?php if($this->getItemsHasMesssages() || $this->getEntityHasMessage()): ?> checked="checked"<?php endif; ?> class="checkbox" />
+            <label for="allow_gift_options_<?php echo $this->getEntity()->getId() ?>" class="label"><span><?php echo __('Add gift options') ?></span></label>
+        </div>
+
+        <dl class="block items" id="allow-gift-options-container-<?php echo $this->getEntity()->getId() ?>">
+            <dt id="add-gift-options-for-order-<?php echo $this->getEntity()->getId() ?>" class="order">
+                <div class="title"><span><?php echo __('Gift Options for this address.'); ?></span></div>
+                <div class="field choice">
+                    <input type="checkbox" name="allow_gift_options_for_order_<?php echo $this->getEntity()->getId() ?>" id="allow_gift_options_for_order_<?php echo $this->getEntity()->getId() ?>" value="1" data-selector='{"id":"#allow-gift-options-for-order-container-<?php echo $this->getEntity()->getId() ?>"}'<?php if($this->getEntityHasMessage()): ?> checked="checked"<?php endif; ?> class="checkbox" />
+                    <label for="allow_gift_options_for_order_<?php echo $this->getEntity()->getId() ?>" class="label"><span><?php echo __('Add gift options for the Entire Order') ?></span></label>
+                </div>
+            </dt>
+
+            <dd id="allow-gift-options-for-order-container-<?php echo $this->getEntity()->getId() ?>" class="options order">
+                <div class="options-order-container" id="options-order-container-<?php echo $this->getEntity()->getId() ?>"></div>
+                <input type="hidden" name="giftoptions[<?php echo $this->getEntity()->getId() ?>][type]" value="quote_address" />
+                <?php if ($this->isMessagesAvailable()): ?>
+                    <?php $_giftMessage = true; ?>
+                    <a href="#" class="activate message" data-mage-init='{toggleAdvanced: {selectorsToggleClass:"no-display", toggleContainers:"#gift-messages-for-order-container-<?php echo $this->getEntity()->getId() ?>"}}'><?php echo __('Gift Message') ?></a>
+                    <div id="gift-messages-for-order-container-<?php echo $this->getEntity()->getId() ?>" class="block message no-display">
+                        <fieldset class="fieldset">
+                            <p><?php echo __('You can leave this box blank if you do not wish to add a gift message for this address.') ?></p>
+                            <input type="hidden" name="giftmessage[<?php echo $this->getEntity()->getId() ?>][type]" value="quote_address" />
+                            <div class="field from">
+                                <label for="gift-message-<?php echo $this->getEntity()->getId() ?>-from" class="label"><span><?php echo __('From') ?></span></label>
+                                <div class="control">
+                                    <input type="text" name="giftmessage[<?php echo $this->getEntity()->getId() ?>][from]" id="gift-message-<?php echo $this->getEntity()->getId() ?>-from" title="<?php echo __('From') ?>" value="<?php echo $this->getEscaped($this->getMessage()->getSender(), $this->getDefaultFrom()) ?>" class="input-text">
+                                </div>
+                            </div>
+                            <div class="field to">
+                                <label for="gift-message-<?php echo $this->getEntity()->getId() ?>-to" class="label"><span><?php echo __('To') ?></span></label>
+                                <div class="control">
+                                    <input type="text" name="giftmessage[<?php echo $this->getEntity()->getId() ?>][to]" id="gift-message-<?php echo $this->getEntity()->getId() ?>-to" title="<?php echo __('To') ?>" value="<?php echo $this->getEscaped($this->getMessage()->getRecipient(), $this->getDefaultTo()) ?>" class="input-text">
+                                </div>
+                            </div>
+                            <div class="field text">
+                                <label for="gift-message-<?php echo $this->getEntity()->getId() ?>-message" class="label"><span><?php echo __('Message') ?></span></label>
+                                <div class="control">
+                                    <textarea id="gift-message-<?php echo $this->getEntity()->getId() ?>-message" class="input-text" name="giftmessage[<?php echo $this->getEntity()->getId() ?>][message]" title="<?php echo __('Message') ?>" rows="5" cols="40"><?php echo $this->getEscaped($this->getMessage()->getMessage()) ?></textarea>
+                                </div>
+                            </div>
+                        </fieldset>
+                    </div>
+                 <?php endif; ?>
+            </dd>
+
+            <?php if ($this->isItemsAvailable()): ?>
+            <dt id="add-gift-options-for-items-<?php echo $this->getEntity()->getId() ?>" class="individual">
+                <div class="title"><span><?php echo __('Gift Options for Individual Items'); ?></span></div>
+                <div class="field choice">
+                    <input type="checkbox" name="allow_gift_options_for_items_<?php echo $this->getEntity()->getId() ?>" id="allow_gift_options_for_items_<?php echo $this->getEntity()->getId() ?>" value="1" data-selector='{"id":"#allow-gift-options-for-items-container-<?php echo $this->getEntity()->getId() ?>"}'<?php if($this->getItemsHasMesssages()): ?> checked="checked"<?php endif; ?> class="checkbox" />
+                    <label for="allow_gift_options_for_items_<?php echo $this->getEntity()->getId() ?>" class="label"><span><?php echo __('Add gift options for Individual Items') ?></span></label>
+                </div>
+            </dt>
+
+            <dd id="allow-gift-options-for-items-container-<?php echo $this->getEntity()->getId() ?>" class="options individual">
+                 <ol>
+                 <?php foreach($this->getItems() as $_index=>$_item): ?>
+                 <?php $_product=$_item->getProduct() ?>
+                     <li class="item">
+                         <p class="number"><?php echo __('Item %1 of %2', $_index+1, $this->countItems()) ?></p>
+                         <div class="product">
+                             <div class="img photo container">
+                                 <img src="<?php echo $this->getThumbnailUrl($_product); ?>" width="<?php echo $this->getThumbnailSize()?>" height="<?php echo $this->getThumbnailSize()?>" alt="<?php echo $this->escapeHtml($_product->getName()) ?>" title="<?php echo $this->escapeHtml($_product->getName()) ?>" />
+                             </div>
+                             <strong class="product name"><?php echo $this->escapeHtml($_product->getName()) ?></strong>
+                         </div>
+                         <div class="item options">
+                             <div class="options-items-container" id="options-items-container-<?php echo $this->getEntity()->getId() ?>-<?php echo $_item->getId() ?>"></div>
+                             <input type="hidden" name="giftoptions[<?php echo $_item->getId() ?>][type]" value="quote_address_item" />
+                             <input type="hidden" name="giftoptions[<?php echo $_item->getId() ?>][address]" value="<?php echo $this->getEntity()->getId()?>" />
+
+                             <?php if ($this->isItemMessagesAvailable($_item)): ?>
+                             <?php $_giftMessage = true; ?>
+                                 <a href="#" class="activate message" data-mage-init='{toggleAdvanced: {selectorsToggleClass:"no-display", toggleContainers:"#gift-messages-for-item-container-<?php echo $_item->getId() ?>"}}'><?php echo __('Gift Message') ?></a>
+                                 <div id="gift-messages-for-item-container-<?php echo $_item->getId() ?>" class="block message no-display">
+                                     <fieldset class="fieldset">
+                                        <p><?php echo __('You can leave this box blank if you do not wish to add a gift message for the item.') ?></p>
+                                         <input type="hidden" name="giftmessage[<?php echo $_item->getId() ?>][type]" value="quote_address_item" />
+                                         <input type="hidden" name="giftmessage[<?php echo $_item->getId() ?>][address]" value="<?php echo $this->getEntity()->getId()?>" />
+                                         <div class="field from">
+                                             <label for="gift-message-<?php echo $_item->getId() ?>-from" class="label"><span><?php echo __('From') ?></span></label>
+                                             <div class="control">
+                                                 <input type="text" name="giftmessage[<?php echo $_item->getId() ?>][from]" id="gift-message-<?php echo $_item->getId() ?>-from" title="<?php echo __('From') ?>"  value="<?php echo $this->getEscaped($this->getMessage($_item)->getSender(), $this->getDefaultFrom()) ?>" class="input-text">
+                                             </div>
+                                         </div>
+                                         <div class="field to">
+                                            <label for="gift-message-<?php echo $_item->getId() ?>-to" class="label"><span><?php echo __('To') ?></span></label>
+                                            <div class="control">
+                                                <input type="text" name="giftmessage[<?php echo $_item->getId() ?>][to]" id="gift-message-<?php echo $_item->getId() ?>-to" title="<?php echo __('To') ?>" value="<?php echo $this->getEscaped($this->getMessage($_item)->getRecipient(), $this->getDefaultTo()) ?>" class="input-text">
+                                            </div>
+                                        </div>
+                                         <div class="field text">
+                                             <label for="gift-message-<?php echo $_item->getId() ?>-message" class="label"><span><?php echo __('Message') ?></span></label>
+                                             <div class="control">
+                                                <textarea id="gift-message-<?php echo $_item->getId() ?>-message" class="input-text giftmessage-area" name="giftmessage[<?php echo $_item->getId() ?>][message]" title="<?php echo __('Message') ?>" rows="5" cols="10"><?php echo $this->getEscaped($this->getMessage($_item)->getMessage()) ?></textarea>
+                                             </div>
+                                         </div>
+                                     </fieldset>
+                                 </div>
+                             <?php endif; ?>
+                         </div>
+                     </li>
+                 <?php endforeach; ?>
+                 </ol>
+            </dd>
+            <?php endif; ?>
+            <dt class="extra-options-container" id="extra-options-container-<?php echo $this->getEntity()->getId() ?>"></dt>
+        </dl>
+    </fieldset>
+    <script type="text/javascript">
+        (function($) {
+            $(function() {
+                head.js("<?php echo $this->getViewFileUrl('Magento_GiftMessage::gift-options.js')?>", function() {
+                    $('#allow_gift_options_<?php echo $this->getEntity()->getId() ?>')
+                        .add('#allow_gift_options_for_order_<?php echo $this->getEntity()->getId() ?>')
+                        .add('#allow_gift_options_for_items_<?php echo $this->getEntity()->getId() ?>').giftOptions();
+                });
+            });
+        })(jQuery);
+    </script>
+    <?php break; ?>
+<?php endswitch ?>
+<?php if ($_giftMessage): ?>
+<script type="text/javascript">
+    head.js("<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+        "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+        "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+        "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>", function() {
+            jQuery("#shipping_method_form").validation();
+        });
+</script>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Newsletter/layout/override/default.xml b/app/design/frontend/magento_plushe/Magento_Newsletter/layout/override/default.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fcd852ac5f705f52d259368f4ab6cb9ac116227f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Newsletter/layout/override/default.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="footer">
+        <block class="Magento\Newsletter\Block\Subscribe" name="form.subscribe" as="subscribe" before="-" template="subscribe.phtml"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Newsletter/layout/override/newsletter_manage_index.xml b/app/design/frontend/magento_plushe/Magento_Newsletter/layout/override/newsletter_manage_index.xml
new file mode 100644
index 0000000000000000000000000000000000000000..cbcc9786b9ca2b7e1e1d9b90e6c8fc5915777475
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Newsletter/layout/override/newsletter_manage_index.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Customer My Account Newsletter Subscriptions" type="page" parent="customer_account_index">
+    <update handle="customer_account"/>
+    <referenceBlock name="my.account.wrapper">
+        <block class="Magento\Customer\Block\Newsletter" name="customer_newsletter">
+            <container name="customer.newsletter.form.before" as="form_before" label="Newsletter Subscription Form Before" htmlTag="div" htmlClass="rewards"/>
+        </block>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Newsletter/subscribe.phtml b/app/design/frontend/magento_plushe/Magento_Newsletter/subscribe.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..c3e4533928135c4cea858b5f0c785aff77c16706
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Newsletter/subscribe.phtml
@@ -0,0 +1,62 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="block newsletter">
+    <div class="title"><strong>Newsletter</strong></div>
+    <div class="content">
+        <form action="<?php echo $this->getFormActionUrl() ?>" method="post" id="newsletter-validate-detail">
+            <div class="field newsletter">
+                <label class="label" for="newsletter"><?php echo __('Sign Up for Our Newsletter:') ?></label>
+                <div class="control">
+                    <input name="email" type="text" id="newsletter"
+                                  placeholder="<?php echo __('Enter your email address') ?>"
+                                  data-validate="{required:true, 'validate-email':true}"/>
+                </div>
+                <div class="actions">
+                    <button class="action subscribe" title="<?php echo __('Subscribe') ?>" type="submit">
+                        <span><?php echo __('Subscribe') ?></span>
+                    </button>
+                </div>
+            </div>
+        </form>
+    </div>
+</div>
+
+<script type="text/javascript">
+    //<![CDATA[
+    (function($) {
+        head.js("<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('Magento_Newsletter::newsletter.js')?>", function() {
+                $('#newsletter').newsletter({
+                    formSelector: '#newsletter-validate-detail',
+                    placeholder: '<?php echo __('Enter your email address') ?>'
+                });
+            });
+    })(jQuery);
+    //]]>
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/1column.phtml b/app/design/frontend/magento_plushe/Magento_Page/1column.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..11954afe5a71bad9d71c0e4c0d7a0382f12e4c28
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/1column.phtml
@@ -0,0 +1,60 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Template for \Magento\Page\Block\Html
+ */
+$bodyCss = $this->getBodyClass() ? $this->getBodyClass() : '';
+?>
+<!doctype html>
+<html lang="<?php echo $this->getLang() ?>" class="no-js">
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width">
+    <?php echo $this->getChildHtml('head') ?>
+</head>
+<body class="col1-layout<?php echo $bodyCss ?>">
+    <?php echo $this->getChildHtml('after_body_start') ?>
+    <div class="page wrapper">
+        <?php echo $this->getChildHtml('global_notices') ?>
+        <?php echo $this->getChildHtml('header-container') ?>
+        <?php echo $this->getChildHtml('page_top') ?>
+        <section class="page main">
+            <?php echo $this->getChildHtml('columns_top') ?>
+            <div class="columns">
+                <?php echo $this->getChildHtml('main') ?>
+            </div>
+        </section>
+        <?php echo $this->getChildHtml('page_bottom') ?>
+
+        <?php echo $this->getChildHtml('footer') ?>
+
+        <?php echo $this->getChildHtml('before_body_end') ?>
+    </div>
+    <?php echo $this->getAbsoluteFooter() ?>
+</body>
+</html>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/2columns-left.phtml b/app/design/frontend/magento_plushe/Magento_Page/2columns-left.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..1f1cdf3674f720c07b8b99a4f52650fd9851887e
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/2columns-left.phtml
@@ -0,0 +1,66 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Template for \Magento\Page\Block\Html
+ */
+$bodyCss = $this->getBodyClass() ? $this->getBodyClass() : '';
+?>
+<!doctype html>
+<html lang="<?php echo $this->getLang() ?>" class="no-js">
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width">
+    <?php echo $this->getChildHtml('head') ?>
+</head>
+<body class="col2-left-layout<?php echo $bodyCss ?>">
+    <?php echo $this->getChildHtml('after_body_start') ?>
+    <div class="page wrapper">
+        <?php echo $this->getChildHtml('global_notices') ?>
+        <?php echo $this->getChildHtml('header-container') ?>
+        <?php echo $this->getChildHtml('page_top') ?>
+        <section class="page main">
+            <?php echo $this->getChildHtml('columns_top') ?>
+            <div class="columns">
+                <?php
+                    echo $this->getChildHtml('main');
+                    // Inside of <php> to avoid spaces between tags
+                    echo '<div class="column left sidebar">';
+                    echo $this->getChildHtml('left');
+                    echo '</div>';
+                ?>
+            </div>
+        </section>
+        <?php echo $this->getChildHtml('page_bottom') ?>
+
+        <?php echo $this->getChildHtml('footer') ?>
+
+        <?php echo $this->getChildHtml('before_body_end') ?>
+    </div>
+    <?php echo $this->getAbsoluteFooter() ?>
+</body>
+</html>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/2columns-right.phtml b/app/design/frontend/magento_plushe/Magento_Page/2columns-right.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..59de269895276a27cafc501a75f6b7d18bbfe618
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/2columns-right.phtml
@@ -0,0 +1,66 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Template for \Magento\Page\Block\Html
+ */
+$bodyCss = $this->getBodyClass() ? $this->getBodyClass() : '';
+?>
+<!doctype html>
+<html lang="<?php echo $this->getLang() ?>" class="no-js">
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width">
+    <?php echo $this->getChildHtml('head') ?>
+</head>
+<body class="col2-right-layout<?php echo $bodyCss ?>">
+    <?php echo $this->getChildHtml('after_body_start') ?>
+    <div class="page wrapper">
+        <?php echo $this->getChildHtml('global_notices') ?>
+        <?php echo $this->getChildHtml('header-container') ?>
+        <?php echo $this->getChildHtml('page_top') ?>
+        <section class="page main">
+            <?php echo $this->getChildHtml('columns_top') ?>
+            <div class="columns">
+                <?php
+                    echo $this->getChildHtml('main');
+                    // Inside of <php> to avoid spaces between tags
+                    echo '<div class="column right sidebar">';
+                    echo $this->getChildHtml('right');
+                    echo '</div>';
+                ?>
+            </div>
+        </section>
+        <?php echo $this->getChildHtml('page_bottom') ?>
+
+        <?php echo $this->getChildHtml('footer') ?>
+
+        <?php echo $this->getChildHtml('before_body_end') ?>
+    </div>
+    <?php echo $this->getAbsoluteFooter() ?>
+</body>
+</html>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/3columns.phtml b/app/design/frontend/magento_plushe/Magento_Page/3columns.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..b87d7e01b3e5b70921c0b3babdf34997f300ee21
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/3columns.phtml
@@ -0,0 +1,69 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Template for \Magento\Page\Block\Html
+ */
+$bodyCss = $this->getBodyClass() ? $this->getBodyClass() : '';
+?>
+<!doctype html>
+<html lang="<?php echo $this->getLang() ?>" class="no-js">
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width">
+    <?php echo $this->getChildHtml('head') ?>
+</head>
+<body class="col3-layout<?php echo $bodyCss ?>">
+    <?php echo $this->getChildHtml('after_body_start') ?>
+    <div class="page wrapper">
+        <?php echo $this->getChildHtml('global_notices') ?>
+        <?php echo $this->getChildHtml('header-container') ?>
+        <?php echo $this->getChildHtml('page_top') ?>
+        <section class="page main">
+            <?php echo $this->getChildHtml('columns_top') ?>
+            <div class="columns">
+                <?php
+                    echo $this->getChildHtml('main');
+                    // Inside of <php> to avoid spaces between tags
+                    echo '<div class="column left sidebar">';
+                    echo $this->getChildHtml('left');
+                    echo '</div>';
+                    echo '<div class="column right sidebar">';
+                    echo $this->getChildHtml('right');
+                    echo '</div>';
+                ?>
+            </div>
+        </section>
+        <?php echo $this->getChildHtml('page_bottom') ?>
+
+        <?php echo $this->getChildHtml('footer') ?>
+
+        <?php echo $this->getChildHtml('before_body_end') ?>
+    </div>
+    <?php echo $this->getAbsoluteFooter() ?>
+</body>
+</html>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/blank.phtml b/app/design/frontend/magento_plushe/Magento_Page/blank.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..947fc6c18a9df818238282cad8bb6d24a38d992b
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/blank.phtml
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Blank page Template for \Magento\Page\Block\Html
+ */
+?>
+<?php echo $this->getChildHtml('content'); ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/empty.phtml b/app/design/frontend/magento_plushe/Magento_Page/empty.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..b61be5ca1b9df7ce463dbd32e212a1255583cad8
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/empty.phtml
@@ -0,0 +1,55 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Template for \Magento\Page\Block\Html
+ */
+$bodyCss = $this->getBodyClass() ? $this->getBodyClass() : '';
+?>
+<!doctype html>
+<html lang="<?php echo $this->getLang() ?>" class="no-js">
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width">
+    <?php echo $this->getChildHtml('head') ?>
+</head>
+<body class="page-empty<?php echo $bodyCss ?>">
+    <?php echo $this->getChildHtml('after_body_start') ?>
+    <div class="page wrapper">
+        <?php echo $this->getChildHtml('global_notices') ?>
+        <section class="page main">
+            <?php echo $this->getChildHtml('columns_top') ?>
+            <div class="columns">
+                <?php echo $this->getChildHtml('main') ?>
+            </div>
+        </section>
+        <?php echo $this->getChildHtml('page_bottom') ?>
+        <?php echo $this->getChildHtml('before_body_end') ?>
+    </div>
+    <?php echo $this->getAbsoluteFooter() ?>
+</body>
+</html>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Page/html/block.phtml b/app/design/frontend/magento_plushe/Magento_Page/html/block.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..e0d3181c353d7045eaff11c72b7a6214bdc984df
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/html/block.phtml
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="block <?php echo $this->getBlockCss(); ?>">
+    <div class="title"><strong><?php echo $this->getBlockTitle(); ?></strong></div>
+    <div class="content">
+        <?php echo $this->getChildHtml(); ?>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/html/breadcrumbs.phtml b/app/design/frontend/magento_plushe/Magento_Page/html/breadcrumbs.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..5bfd676819042cf6795be97ccc5b110c3d5f2ebe
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/html/breadcrumbs.phtml
@@ -0,0 +1,42 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if($crumbs && is_array($crumbs)): ?>
+<div class="breadcrumbs">
+    <ul class="items">
+        <?php foreach($crumbs as $_crumbName=>$_crumbInfo): ?>
+            <li class="item <?php echo $_crumbName ?>">
+            <?php if($_crumbInfo['link']): ?>
+                <a href="<?php echo $_crumbInfo['link'] ?>" title="<?php echo $this->escapeHtml($_crumbInfo['title']) ?>"><?php echo $this->escapeHtml($_crumbInfo['label']) ?></a>
+            <?php elseif($_crumbInfo['last']): ?>
+                <strong><?php echo $this->escapeHtml($_crumbInfo['label']) ?></strong>
+            <?php else: ?>
+                <?php echo $this->escapeHtml($_crumbInfo['label']) ?>
+            <?php endif; ?>
+            </li>
+        <?php endforeach; ?>
+    </ul>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/html/copyright.phtml b/app/design/frontend/magento_plushe/Magento_Page/html/copyright.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..614ecf30ea44ee996aba82c5a5b68494c29e4930
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/html/copyright.phtml
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<small class="copyright">
+    <span><?php echo $this->getCopyright() ?></span>
+</small>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/html/head.phtml b/app/design/frontend/magento_plushe/Magento_Page/html/head.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..9254ba1971dab58913edce6c10f247af6ec6348c
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/html/head.phtml
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<meta http-equiv="Content-Type" content="<?php echo $this->getContentType() ?>"/>
+<title><?php echo $this->getTitle() ?></title>
+<meta name="description" content="<?php echo $this->escapeHtml($this->getDescription())?>"/>
+<meta name="keywords" content="<?php echo $this->escapeHtml($this->getKeywords())?>"/>
+<meta name="robots" content="<?php echo $this->escapeHtml($this->getRobots())?>"/>
+<link rel="icon" href="<?php echo $this->getFaviconFile(); ?>" type="image/x-icon"/>
+<link rel="shortcut icon" href="<?php echo $this->getFaviconFile(); ?>" type="image/x-icon"/>
+<?php echo $this->getCssJsHtml() ?>
+<?php echo $this->getChildHtml() ?>
+<?php echo $this->getIncludes() ?>
+<?php echo $this->helper('Magento\Core\Helper\Js')->getTranslatorScript() ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/html/header.phtml b/app/design/frontend/magento_plushe/Magento_Page/html/header.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..d7747717eee2508ddcfaffd54ee0447e86e942f5
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/html/header.phtml
@@ -0,0 +1,52 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/**
+ * @var \Magento\Page\Block\Html\Header $this
+ */
+?>
+
+<?php switch($this->getShowPart()):
+    case 'logo': ?>
+        <?php $storeName = $this->getThemeName() ? $this->getThemeName() : $this->getLogoAlt();?>
+        <?php if ($this->getIsHomePage()):?>
+        <strong class="logo">
+            <img src="<?php echo $this->getLogoSrc() ?>" alt="<?php echo $this->getLogoAlt() ?>" />
+        </strong>
+        <?php else:?>
+        <a class="logo" href="<?php echo $this->getUrl(''); ?>" title="<?php echo $storeName ?>">
+            <img src="<?php echo $this->getLogoSrc() ?>" alt="<?php echo $storeName ?>" />
+        </a>
+        <?php endif?>
+    <?php break; ?>
+
+    <?php case 'welcome': ?>
+        <p class="welcome"><?php echo $this->getWelcome() ?></p>
+    <?php break; ?>
+
+    <?php case 'other': ?>
+        <?php echo $this->getChildHtml(); ?>
+    <?php break; ?>
+
+<?php endswitch; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/html/notices.phtml b/app/design/frontend/magento_plushe/Magento_Page/html/notices.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..7814e18e1c7c82ea7ed2289c36ba81e58ab0be41
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/html/notices.phtml
@@ -0,0 +1,90 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * @var $this \Magento\Page\Block\Html\Notices
+ */
+?>
+<?php if ($this->displayNoscriptNotice()): ?>
+    <noscript>
+        <div class="notice global site noscript">
+            <div class="content">
+                <p>
+                    <strong><?php echo __('JavaScript seems to be disabled in your browser.'); ?></strong><br />
+                    <?php echo __('Enable JavaScript in your browser to get the best experience on our website!'); ?>
+                </p>
+            </div>
+        </div>
+    </noscript>
+<?php endif; ?>
+<?php if ($this->displayDemoNotice()): ?>
+    <div class="notice global site demo">
+        <div class="content"><p><?php echo __('This is just a demo store. You can browse and place orders, but nothing will be processed.') ?></p></div>
+    </div>
+    <?php $noticePosion = true; ?>
+<?php endif; ?>
+<?php if ($this->helper('Magento\Core\Helper\Cookie')->isUserNotAllowSaveCookie()): ?>
+    <div class="notice global site cookie" id="notice-cookie-block" style="display: none">
+        <div class="content">
+            <p><?php echo __('This store uses cookies to make shopping more enjoyable. Learn how cookies work in our <a href="%1">privacy policy</a>.', $this->getPrivacyPolicyLink()) ?></p>
+            <div class="actions"><button id="btn-cookie-allow" class="action allow"><span><?php echo __('Allow Cookies');?></span></button></div>
+        </div>
+    </div>
+    <script type="text/javascript">
+        // <![CDATA[
+        (function($) {
+            head.js("<?php echo $this->getViewFileUrl('mage/cookies.js')?>",
+                "<?php echo $this->getViewFileUrl('Magento_Page::js/notices.js')?>", function() {
+                    $('#notice-cookie-block').cookieBlock({
+                        cookieAllowButtonSelector: '#btn-cookie-allow',
+                        cookieName: '<?php echo \Magento\Core\Helper\Cookie::IS_USER_ALLOWED_SAVE_COOKIE ?>',
+                        cookieValue: '<?php echo $this->helper('Magento\Core\Helper\Cookie')->getAcceptedSaveCookiesWebsiteIds() ?>',
+                        cookieLifetime: <?php echo $this->helper('Magento\Core\Helper\Cookie')->getCookieRestrictionLifetime()?>,
+                        noCookiesUrl: '<?php echo $this->getUrl('cms/index/noCookies') ?>'
+                    });
+                });
+        })(jQuery);
+        // ]]>
+    </script>
+    <?php $noticePosion = true; ?>
+<?php endif; ?>
+<?php if (isset($noticePosion)): ?>
+    <script type="text/javascript">
+        // <![CDATA[
+        (function($) {
+            $(document).ready(function() {
+                var notices = $('.notice.global.site'),
+                    top = 0;
+                for (var i=0; i < notices.length; i++) {
+                    $(notices[i]).css('top',top);
+                    top += $(notices[i]).outerHeight();
+                    $('body').css('paddingTop', top );
+                };
+            });
+        })(jQuery);
+        // ]]>
+    </script>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/html/pager.phtml b/app/design/frontend/magento_plushe/Magento_Page/html/pager.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..689cd83158f3aa34be019791bbdffb6a14789c5b
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/html/pager.phtml
@@ -0,0 +1,119 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Pager template
+ *
+ * @see \Magento\Page\Block\Html\Pager
+ */
+?>
+<?php if($this->getCollection()->getSize()): ?>
+
+    <?php if($this->getUseContainer()): ?>
+    <div class="pager">
+    <?php endif ?>
+
+    <?php if($this->getShowAmounts()): ?>
+    <p class="amount">
+        <?php if($this->getLastPageNum()>1): ?>
+            <?php echo __('Items %1 to %2 of %3 total', $this->getFirstNum(), $this->getLastNum(), $this->getTotalNum()) ?>
+        <?php elseif ($this->getLastPageNum() == 1): ?>
+            <?php echo __('%1 Item', $this->getTotalNum()) ?>
+        <?php else: ?>
+            <?php echo __('%1 Item(s)', $this->getTotalNum()) ?>
+        <?php endif; ?>
+    </p>
+    <?php endif ?>
+
+        <?php if($this->getShowPerPage()): ?>
+            <div class="limiter">
+                <strong class="label"><?php echo __('Show') ?></strong>
+                <select id="limiter" data-mage-redirect="{'event':'change'}">
+                    <?php foreach ($this->getAvailableLimit() as $_key => $_limit): ?>
+                    <option value="<?php echo $this->getLimitUrl($_key) ?>"<?php if ($this->isLimitCurrent($_key)): ?>
+                            selected="selected"<?php endif ?>>
+                        <?php echo $_limit ?>
+                    </option>
+                    <?php endforeach; ?>
+                </select>
+                <span class="text"><?php echo __('per page') ?></span>
+            </div>
+        <?php endif ?>
+
+        <?php if($this->getLastPageNum()>1): ?>
+        <div class="pages">
+            <strong class="label"><?php echo __('Page') ?></strong>
+            <ol class="items">
+            <?php if (!$this->isFirstPage()): ?>
+                <li class="item">
+                    <?php $text = $this->getAnchorTextForPrevious() ? $this->getAnchorTextForPrevious() : '';?>
+                    <a class="<?php echo $text ? 'link ' : 'action '?> previous" href="<?php echo $this->getPreviousPageUrl() ?>" title="<?php echo $text ? $text : __('Previous') ?>">
+                        <span><?php echo $text ? $text : __('Previous') ?></span>
+                    </a>
+                </li>
+            <?php endif;?>
+
+            <?php if ($this->canShowFirst()): ?>
+                <li class="item"><a class="first" href="<?php echo $this->getFirstPageUrl() ?>"><span>1</span></a></li>
+            <?php endif;?>
+
+            <?php if ($this->canShowPreviousJump()): ?>
+                <li class="item"><a class="previous jump" title="" href="<?php echo $this->getPreviousJumpUrl() ?>"><span>...</span></a></li>
+            <?php endif;?>
+
+            <?php foreach ($this->getFramePages() as $_page): ?>
+                <?php if ($this->isPageCurrent($_page)): ?>
+                    <li class="item current"><strong><span><?php echo $_page ?></span></strong></li>
+                <?php else: ?>
+                    <li class="item"><a href="<?php echo $this->getPageUrl($_page) ?>"><span><?php echo $_page ?></span></a></li>
+                <?php endif;?>
+            <?php endforeach;?>
+
+            <?php if ($this->canShowNextJump()): ?>
+                <li class="item"><a class="next jump" title="" href="<?php echo $this->getNextJumpUrl() ?>"><span>...</span></a></li>
+            <?php endif;?>
+
+            <?php if ($this->canShowLast()): ?>
+              <li class="item"><a class="last" href="<?php echo $this->getLastPageUrl() ?>"><span><?php echo $this->getLastPageNum() ?></span></a></li>
+            <?php endif;?>
+
+            <?php if (!$this->isLastPage()): ?>
+                <li class="item">
+                    <?php $text = $this->getAnchorTextForNext() ? $this->getAnchorTextForNext() : '';?>
+                    <a class="<?php echo $text ? 'link ' : 'action '?> next" href="<?php echo $this->getNextPageUrl() ?>" title="<?php echo $text ? $text : __('Next') ?>">
+                        <span><?php echo $text ? $text : __('Next') ?></span>
+                    </a>
+                </li>
+            <?php endif;?>
+            </ol>
+        </div>
+        <?php endif; ?>
+
+    <?php if($this->getUseContainer()): ?>
+    </div>
+    <?php endif ?>
+
+<?php endif ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/html/title.phtml b/app/design/frontend/magento_plushe/Magento_Page/html/title.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..103a2c8d32fc3e7e46c5b2e347754796529cc205
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/html/title.phtml
@@ -0,0 +1,42 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright  Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+ * @var $this \Magento\Page\Block\Html\Title
+ */
+$cssClass = $this->getCssClass() ? ' ' . $this->getCssClass() : '';
+$prefix = $this->getPrefix() ? '<span class="prefix">' . $this->getPrefix() . '</span>' : '';
+$suffix = $this->getSuffix() ? '<span class="suffix">' . $this->getSuffix() . '</span>' : '';
+$title = '';
+if (trim($this->getPageTitle())) {
+    $title = $prefix . '<span class="base">' . $this->getPageTitle() . '</span>' . $suffix;
+}
+?>
+<?php if ($title): ?>
+<div class="page title<?php echo $cssClass; ?>">
+    <h1 class="title"><?php echo $title ?></h1>
+    <?php echo $this->getChildHtml(); ?>
+</div>
+<?php endif; ?>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Page/html/topmenu.phtml b/app/design/frontend/magento_plushe/Magento_Page/html/topmenu.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..9c10e155293e48b23cc747c06e506691908d09c5
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/html/topmenu.phtml
@@ -0,0 +1,42 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    Mage
+ * @package     Magento_Page
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Top menu for store
+ *
+ * @see \Magento\Page\Block\Html\Topmenu
+ */
+?>
+<?php $columnsLimit = $this->getColumnsLimit() ? : 0; ?>
+<?php $_menu = $this->getHtml('level-top','submenu', $columnsLimit) ?>
+<?php if ($_menu): ?>
+<nav class="navigation" role="navigation">
+    <ul>
+        <?php echo $_menu; ?>
+    </ul>
+</nav>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/layout/default.xml b/app/design/frontend/magento_plushe/Magento_Page/layout/default.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e686483e6ccb3d77d3de06f2d9d0ea78de4b16be
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/layout/default.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="logo">
+        <arguments>
+            <argument name="theme_name" xsi:type="string">plushe</argument>
+        </arguments>
+    </referenceBlock>
+    <referenceBlock name="head">
+        <block class="Magento\Page\Block\Html\Head\Css" name="css-styles-css">
+            <arguments>
+                <argument name="file" xsi:type="string">css/styles.css</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="js-matchmedia-js">
+            <arguments>
+                <argument name="file" xsi:type="string">js/matchMedia.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="js-head-js">
+            <arguments>
+                <argument name="file" xsi:type="string">js/head.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="js-jquery-dropdowns-js">
+            <arguments>
+                <argument name="file" xsi:type="string">js/jquery.dropdowns.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="js-tabs-js">
+            <arguments>
+                <argument name="file" xsi:type="string">js/tabs.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="js-navigation-menu-js">
+            <arguments>
+                <argument name="file" xsi:type="string">js/navigation-menu.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="js-theme-js">
+            <arguments>
+                <argument name="file" xsi:type="string">js/theme.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="js-selectivizr-js">
+            <arguments>
+                <argument name="file" xsi:type="string">js/selectivizr.js</argument>
+                <argument name="properties" xsi:type="array">
+                    <item name="ie_condition" xsi:type="string">lt IE 9</item>
+                </argument>
+            </arguments>
+        </block>
+    </referenceBlock>
+    <referenceContainer name="header">
+        <block class="Magento\Page\Block\Links" name="header.links" after="minicart">
+            <arguments>
+                <argument name="css_class" xsi:type="string">links</argument>
+            </arguments>
+        </block>
+    </referenceContainer>
+
+    <referenceBlock name="top.links">
+        <arguments>
+            <argument name="css_class" xsi:type="string">links</argument>
+        </arguments>
+    </referenceBlock>
+    <referenceBlock name="footer_links">
+        <arguments>
+            <argument name="css_class" xsi:type="string">links</argument>
+        </arguments>
+    </referenceBlock>
+    <referenceBlock name="catalog.topnav">
+        <arguments>
+            <argument name="columns_limit" xsi:type="string">1</argument>
+        </arguments>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/layout/override/default.xml b/app/design/frontend/magento_plushe/Magento_Page/layout/override/default.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f005e0a0a0ab5f34f344bef036c0e0f04e5a8c1d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/layout/override/default.xml
@@ -0,0 +1,168 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="All Pages" type="page">
+    <block class="Magento\Page\Block\Html" name="root" output="1" template="3columns.phtml">
+        <block class="Magento\Page\Block\Html\Head" name="head" as="head">
+            <block class="Magento\Page\Block\Js\Cookie" name="js_cookies" template="js/cookie.phtml"/>
+        </block>
+        <container name="after_body_start" as="after_body_start" label="Page Top"/>
+        <container name="header-container" label="Page Header Container" as="header-container" htmlTag="header" htmlClass="header">
+            <container name="header.panel" label="Page Header Panel" htmlTag="div" htmlClass="panel">
+                <block class="Magento\Page\Block\Switcher" name="store_language" as="store_language" template="switch/languages.phtml"/>
+            </container>
+            <container name="header" label="Page Header" as="header" htmlTag="div" htmlClass="content">
+                <block class="Magento\Page\Block\Html\Header" name="logo">
+                    <arguments>
+                        <argument name="show_part" xsi:type="string">logo</argument>
+                    </arguments>
+                </block>
+                <block class="Magento\Page\Block\Links" name="top.links"/>
+            </container>
+        </container>
+        <container name="page_top" as="page_top" label="After Page Header">
+            <block class="Magento\Page\Block\Html\Topmenu" name="catalog.topnav" template="html/topmenu.phtml"/>
+            <container name="top.container" as="topContainer" label="Page Header" htmlTag="div" htmlClass="top-container"/>
+            <block class="Magento\Page\Block\Html\Breadcrumbs" name="breadcrumbs" as="breadcrumbs"/>
+        </container>
+        <!--
+        <container name="page_main" as="page_main" label="Page main" htmlTag="div" htmlClass="columns">
+            <container name="main" as="main" label="Main Content Container" htmlTag="div" htmlClass="column main">
+                <container name="content-top" label="Main Content Top" />
+                <container name="content" label="Main Content Area" />
+                <container name="content-aside" label="Main Content Aside" />
+                <container name="content-bottom" label="Main Content Bottom" />
+            </container>
+        </container>
+        -->
+        <container name="columns.top" label="Before Main Columns" as="columns_top">
+            <block class="Magento\Page\Block\Html\Title" name="page.main.title" template="html/title.phtml"/>
+            <container name="page.messages" label="invisible" htmlTag="div" htmlClass="page messages">
+                <block class="Magento\Core\Block\Messages" name="global_messages" as="global_messages"/>
+                <block class="Magento\Core\Block\Messages" name="messages" as="messages"/>
+            </container>
+        </container>
+        <container name="main" as="main" label="Main Content Container" htmlTag="div" htmlClass="column main">
+            <container name="content.top" label="Main Content Top"/>
+            <container name="content" label="Main Content Area"/>
+            <container name="content.aside" label="Main Content Aside"/>
+            <container name="content.bottom" label="Main Content Bottom"/>
+        </container>
+        <container name="left" as="left" label="Left Column"/>
+        <container name="right" as="right" label="Right Column"/>
+        <container name="page.bottom.container" as="page_bottom" label="Before Page Footer Container" htmlTag="div" htmlClass="page bottom">
+            <container name="page.bottom" label="Before Page Footer" htmlTag="div" htmlClass="content"/>
+        </container>
+        <container name="footer-container" as="footer" label="Page Footer Container" htmlTag="footer" htmlClass="footer">
+            <container name="footer" as="footer" label="Page Footer" htmlTag="div" htmlClass="content">
+                <block class="Magento\Page\Block\Switcher" name="store_switcher" as="store_switcher" template="switch/stores.phtml"/>
+                <block class="Magento\Page\Block\Links" name="footer_links"/>
+                <block class="Magento\Page\Block\Html\Footer" name="copyright" template="html/copyright.phtml"/>
+                <!--<block class="Magento\Page\Block\Html\Footer" name="report.bugs" template="html/reportbugs.phtml" />-->
+            </container>
+        </container>
+        <container name="before_body_end" as="before_body_end" label="Page Bottom">
+            <block class="Magento\Page\Block\Html\Notices" name="global_notices" template="html/notices.phtml"/>
+        </container>
+    </block>
+    <referenceBlock name="head">
+        <block class="Magento\Page\Block\Html\Head\Css" name="mage-calendar-css">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/calendar.css</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="jquery-jquery-js">
+            <arguments>
+                <argument name="file" xsi:type="string">jquery/jquery.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="mage-jquery-no-conflict-js">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/jquery-no-conflict.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="head-load-min-js">
+            <arguments>
+                <argument name="file" xsi:type="string">head.load.min.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="mage-mage-js">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/mage.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="mage-decorate-js">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/decorate.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="mage-translate-js">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/translate.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="mage-cookies-js">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/cookies.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="jquery-jquery-ui-js">
+            <arguments>
+                <argument name="file" xsi:type="string">jquery/jquery-ui.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="jquery-jquery-tmpl-min-js">
+            <arguments>
+                <argument name="file" xsi:type="string">jquery/jquery.tmpl.min.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="mage-bootstrap-js">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/bootstrap.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="magento-page-js-truncate-js">
+            <arguments>
+                <argument name="file" xsi:type="string">Magento_Page::js/truncate.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="mage-common-js">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/common.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="mage-toggle-js">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/toggle.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="mage-popup-window-js">
+            <arguments>
+                <argument name="file" xsi:type="string">mage/popup-window.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Core\Block\Template" name="head.components" as="components" template="Magento_Page::js/components.phtml"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/layout/override/print.xml b/app/design/frontend/magento_plushe/Magento_Page/layout/override/print.xml
new file mode 100644
index 0000000000000000000000000000000000000000..befe0f664c0a54ff17f6ff28b4b079599a66b159
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/layout/override/print.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="All Pages (Print Version)" type="page">
+    <block class="Magento\Page\Block\Html" name="root" output="1" template="print.phtml">
+        <block class="Magento\Page\Block\Html\Head" name="head" as="head"/>
+        <container name="after_body_start" as="after_body_start" label="Page Top"/>
+        <container name="content" as="content" label="Main Content Area"/>
+    </block>
+    <referenceBlock name="head">
+        <block class="Magento\Page\Block\Html\Head\Css" name="css-print-css">
+            <arguments>
+                <argument name="file" xsi:type="string">css/print.css</argument>
+            </arguments>
+        </block>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/link/current.phtml b/app/design/frontend/magento_plushe/Magento_Page/link/current.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..d8e6268840b44ab068d25704f3e8ece163e730a8
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/link/current.phtml
@@ -0,0 +1,40 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/**
+ * @var $this \Magento\Page\Block\Link\Current
+ */
+?>
+<?php if ($this->isCurrent()):?>
+<li class="nav item current">
+    <strong><?php echo $this->escapeHtml(__($this->getLabel()))?></strong>
+</li>
+<?php else:?>
+<li class="nav item">
+    <a href="<?php echo $this->escapeHtml($this->getHref())?>"
+        <?php if ($title = $this->getTitle()):?> title="<?php echo $this->escapeHtml(__($title))?>"<?php endif;?>
+    >
+        <?php echo $this->escapeHtml(__($this->getLabel()))?>
+    </a>
+</li>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/page.phtml b/app/design/frontend/magento_plushe/Magento_Page/page.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..8a1435696655e825b4bbc49f92c3b0b91529081b
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/page.phtml
@@ -0,0 +1,57 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Template for \Magento\Page\Block\Html
+ */
+$bodyCss = $this->getBodyClass() ? $this->getBodyClass() : '';
+?>
+<!doctype html>
+<html lang="<?php echo $this->getLang() ?>" class="no-js">
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width">
+    <?php echo $this->getChildHtml('head') ?>
+</head>
+<body class="<?php echo $bodyCss ?>">
+    <?php echo $this->getChildHtml('after_body_start') ?>
+    <div class="page wrapper">
+        <?php echo $this->getChildHtml('global_notices') ?>
+        <?php echo $this->getChildHtml('header-container') ?>
+        <?php echo $this->getChildHtml('page_top') ?>
+        <section class="page main">
+            <?php echo $this->getChildHtml('page_main') ?>
+        </section>
+        <?php echo $this->getChildHtml('page_bottom') ?>
+
+        <?php echo $this->getChildHtml('footer') ?>
+
+        <?php echo $this->getChildHtml('before_body_end') ?>
+    </div>
+    <?php echo $this->getAbsoluteFooter() ?>
+</body>
+</html>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/popup.phtml b/app/design/frontend/magento_plushe/Magento_Page/popup.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..816610ffdd643e901aa551bc3307578829770220
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/popup.phtml
@@ -0,0 +1,48 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Template for \Magento\Page\Block\Html
+ */
+$bodyCss = $this->getBodyClass() ? $this->getBodyClass() : '';
+?>
+<!doctype html>
+<html lang="<?php echo $this->getLang() ?>" class="no-js">
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width">
+    <?php echo $this->getChildHtml('head') ?>
+</head>
+<body class="page popup<?php echo $bodyCss ?>">
+    <?php echo $this->getChildHtml('after_body_start') ?>
+    <div class="page wrapper">
+        <?php echo $this->getChildHtml('main') ?>
+    </div>
+    <?php echo $this->getChildHtml('before_body_end') ?>
+    <?php echo $this->getAbsoluteFooter() ?>
+</body>
+</html>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/print.phtml b/app/design/frontend/magento_plushe/Magento_Page/print.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..19e15f9c16602ab988f5a94ed4e9ae9ce386081b
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/print.phtml
@@ -0,0 +1,57 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Template for \Magento\Page\Block\Html
+ */
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>">
+<head>
+<?php echo $this->getChildHtml('head') ?>
+</head>
+<body class="page print<?php echo $this->getBodyClass()?$this->getBodyClass():'' ?>">
+<?php echo $this->getChildHtml('after_body_start') ?>
+<div class="page print wrapper">
+    <header class="header print">
+        <img src="<?php echo $this->getPrintLogoUrl() ? $this->getPrintLogoUrl() : $this->getViewFileUrl('images/logo.gif') ?>" class="logo" alt="" />
+        <?php if ($this->getPrintLogoText()):?>
+            <address><?php echo nl2br($this->escapeHtml($this->getPrintLogoText())) ?></address>
+        <?php endif;?>
+    </header>
+    <div class="page print main">
+        <?php echo $this->getChildHtml('content') ?>
+    </div>
+    <footer class="page print footer">
+        <div class="actions">
+            <button type="button" title="<?php echo __('Close Window') ?>" class="action close" onclick="window.close();"><span><?php echo __('Close Window') ?></span></button>
+        </div>
+    </footer>
+    <?php echo $this->getAbsoluteFooter() ?>
+</div>
+</body>
+</html>
diff --git a/app/design/frontend/magento_plushe/Magento_Page/switch/languages.phtml b/app/design/frontend/magento_plushe/Magento_Page/switch/languages.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..3b6a76e6cb6299a904add44acdac7d7ed7c8d456
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/switch/languages.phtml
@@ -0,0 +1,54 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Language switcher template
+ *
+ * @see \Magento\Page\Block\Switch
+ */
+?>
+
+<?php if(count($this->getStores())>1): ?>
+<div class="switcher language">
+    <strong class="label"><span><?php echo __('Language') ?></span></strong>
+    <div class="options">
+        <strong class="view-<?php echo $this->escapeHtml($this->getCurrentStoreCode()) ?>">
+            <span><?php echo $this->escapeHtml($this->getStoreName()) ?></span>
+        </strong>
+        <button type="button" data-toggle="dropdown" class="action switch"><span><?php echo __('Change')?></span></button>
+        <ul data-target="dropdown">
+            <?php foreach ($this->getStores() as $_lang): ?>
+                <?php if($_lang->getId()!=$this->getCurrentStoreId()): ?>
+                    <li class="view-<?php echo $this->escapeHtml($_lang->getCode()); ?>">
+                        <a href="<?php echo $_lang->getCurrentUrl() ?>"><?php echo $this->escapeHtml($_lang->getName()) ?></a>
+                    </li>
+                <?php endif; ?>
+            <?php endforeach; ?>
+        </ul>
+    </div>
+</div>
+<?php endif; ?>
+
diff --git a/app/design/frontend/magento_plushe/Magento_Page/switch/stores.phtml b/app/design/frontend/magento_plushe/Magento_Page/switch/stores.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..cb4d6d80c79df1a90c58639682786de194c1553d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Page/switch/stores.phtml
@@ -0,0 +1,59 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Store switcher template
+ *
+ * @see \Magento\Core\Block\Store\Switcher
+ */
+?>
+<?php if(count($this->getGroups())>1): ?>
+<div class="switcher-store">
+    <label><?php echo __('Select Store') ?>:</label>
+    <ul id="select-store">
+    <?php foreach ($this->getGroups() as $_group): ?>
+        <?php /* $_selected = ($_group->getId()==$this->getCurrentGroupId()) ? ' class="current"' : '' */ ?>
+        <?php if ($_group->getId()==$this->getCurrentGroupId()): ?>
+        <li class="current"><strong><?php echo $this->escapeHtml($_group->getName()) ?></strong></li>
+        <?php else: ?>
+        <li><a href="<?php echo $_group->getHomeUrl() ?>"><?php echo $this->escapeHtml($_group->getName()) ?></a></li>
+        <?php endif; ?>
+    <?php endforeach; ?>
+    </ul>
+</div>
+<?php endif; ?>
+
+<?php /* if(count($this->getGroups())>1): ?>
+<div class="switcher-store">
+    <label for="select-store"><?php echo __('Select Store') ?>:</label>
+    <select id="select-store" onchange="location.href=this.value">
+    <?php foreach ($this->getGroups() as $_group): ?>
+        <?php $_selected = ($_group->getId()==$this->getCurrentGroupId()) ? ' selected="selected"' : '' ?>
+        <option value="<?php echo $_group->getHomeUrl() ?>"<?php echo $_selected ?>><?php echo $this->escapeHtml($_group->getName()) ?></option>
+    <?php endforeach; ?>
+    </select>
+</div>
+<?php endif; */ ?>
diff --git a/app/design/frontend/magento_plushe/Magento_PageCache/layout/default.xml b/app/design/frontend/magento_plushe/Magento_PageCache/layout/default.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f3514857ff87e750cf19a2ca59e176a5ddc38462
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_PageCache/layout/default.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <move element="external.pagecache.cookie" destination="content.bottom" after="-"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Paypal/express/review.phtml b/app/design/frontend/magento_plushe/Magento_Paypal/express/review.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..ed52fbe4f8b8b9ac1db3ae613b5212abf8aef0c1
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Paypal/express/review.phtml
@@ -0,0 +1,111 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/** @var $this \Magento\Paypal\Block\Express\Review */
+
+$billingBlock = $this->getChildBlock('billing')->setFieldNamePrefix('billing')->setHideEmailAddress(true);
+$shippingAddress = $this->getShippingAddress();
+?>
+<hgroup class="page title">
+    <h1 class="title"><span class="base"><?php echo __('Review Order') ?></span></h1>
+</hgroup>
+<?php echo $this->getMessagesBlock()->toHtml() ?>
+<div class="paypal review view">
+    <div class="paypal subtitle caption"><strong>Please confirm your addresses</strong></div>
+
+    <form method="post" id="order-review-form" action="<?php echo $this->getPlaceOrderUrl() ?>" class="form paypal review">
+        <?php if(!$billingBlock->isCustomerLoggedIn()): ?>
+            <fieldset class="fieldset customer email">
+                <legend class="legend"><span><?php echo __('Customer Information') ?></span></legend>
+                <br>
+                <div id="customer-info-form" class="field email required">
+                    <label for="customer:email" class="label"><?php echo __('Email Address') ?></label>
+                    <div class="control">
+                        <input type="text" name="customer-email" id="customer:email" value="<?php echo $this->escapeHtml($billingBlock->getAddress()->getEmail()) ?>" title="<?php echo __('Email Address') ?>" class="input-text" />
+                    </div>
+                </div>
+            </fieldset>
+        <?php endif ?>
+
+        <fieldset class="fieldset billing address" id="billing-address">
+            <legend class="legend"><span><?php echo __('Billing Address') ?></span></legend>
+            <br>
+            <?php if ($shippingAddress): ?>
+                <?php echo $billingBlock->setShowAsShippingCheckbox(true)->toHtml(); ?>
+            <?php else: ?>
+                <?php echo $billingBlock->toHtml(); ?>
+            <?php endif; ?>
+        </fieldset>
+
+        <?php if ($shippingAddress): ?>
+            <fieldset class="fieldset shipping address" id="shipping-address">
+                <legend class="legend"><span><?php echo __('Shipping Address') ?></span></legend>
+                <br>
+                <?php echo $this->getChildBlock('shipping')->setFieldNamePrefix('shipping')->setHideEmailAddress(true)->toHtml(); ?>
+            </fieldset>
+
+            <fieldset class="fieldset shipping method">
+                <legend class="legend"><span><?php echo __('Shipping Method') ?></span></legend>
+                <br>
+                <?php echo $this->getChildBlock('shipping_method')->toHtml(); ?>
+            </fieldset>
+        <?php endif; ?>
+
+        <div class="paypal review items">
+            <div class="paypal subtitle caption">
+                <strong><?php echo __('Items in Your Shopping Cart') ?></strong>
+                <a href="<?php echo $this->getUrl('checkout/cart') ?>" class="action edit"><?php echo __('Edit Shopping Cart') ?></a>
+            </div>
+
+            <div id="details-reload">
+                <?php echo $this->getChildHtml('details') ?>
+            </div>
+        </div>
+
+        <?php echo $this->getChildHtml('agreements'); ?>
+        <div class="actions" id="review-buttons-container">
+            <button type="button" id="review-button" value="<?php echo __('Place Order') ?>" class="action checkout"><span><?php echo __('Place Order') ?></span></button>
+            <button type="button" id="review-submit" value="<?php echo __('Place Order') ?>" class="action checkout"><span><?php echo __('Place Order') ?></span></button>
+            <button type="button" id="update-order" class="action update"><span><?php echo __('Update Order Data') ?></span></button>
+            <span class="please-wait load indicator" id="review-please-wait" style="display:none;">
+               <span><?php echo __('Submitting order information...') ?></span>
+            </span>
+        </div>
+    </form>
+</div>
+<script type="text/javascript">
+    head.js("<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+        "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+        "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+        "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>",
+        "<?php echo $this->getViewFileUrl('Magento_Paypal::order-review.js') ?>",
+        function() {
+            jQuery('#order-review-form').validation().orderReview({
+                shippingMethodUpdateUrl: '<?php echo $this->escapeHtml($this->getUpdateShippingMethodsUrl()) ?>',
+                updateOrderSubmitUrl: '<?php echo $this->escapeHtml($this->getUpdateOrderSubmitUrl()) ?>',
+                isAjax: <?php echo $this->getUseAjax() ? 'true' : 'false' ?>
+            });
+        });
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Paypal/express/review/address.phtml b/app/design/frontend/magento_plushe/Magento_Paypal/express/review/address.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..2cf078fc7861d5d1bf8831c8a2149413bef94361
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Paypal/express/review/address.phtml
@@ -0,0 +1,143 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    Mage
+ * @package     Magento_Paypal
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $prefix = $this->getFieldNamePrefix();?>
+    <input type="hidden" name="<?php echo $prefix ?>[address_id]" value="<?php echo $this->getAddress()->getId() ?>" id="<?php echo $prefix ?>:address_id" />
+    <?php echo $this->getLayout()->createBlock('Magento\Customer\Block\Widget\Name')->setObject($this->getAddress()->getFirstname() ? $this->getAddress() : $this->getQuote()->getCustomer())->setForceUseCustomerRequiredAttributes(!$this->isCustomerLoggedIn())->setFieldIdFormat($prefix . ':%s')->setFieldNameFormat($prefix . '[%s]')->toHtml() ?>
+
+    <div class="field company">
+        <label for="<?php echo $prefix ?>:company" class="label"><span><?php echo __('Company') ?></span></label>
+        <div class="control">
+            <input type="text" id="<?php echo $prefix ?>:company" name="<?php echo $prefix ?>[company]" value="<?php echo $this->escapeHtml($this->getAddress()->getCompany()) ?>" title="<?php echo __('Company') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('company') ?>" />
+        </div>
+    </div>
+
+    <?php if(!$this->isCustomerLoggedIn() && !$this->getHideEmailAddress()): ?>
+        <div class="field email required">
+            <label for="<?php echo $prefix ?>:email" class="label"><span><?php echo __('Email Address') ?></span></label>
+            <div class="control">
+                <input type="text" name="<?php echo $prefix ?>[email]" id="<?php echo $prefix ?>:email" value="<?php echo $this->escapeHtml($this->getAddress()->getEmail()) ?>" title="<?php echo __('Email Address') ?>" class="input-text validate-email required-entry" />
+            </div>
+        </div>
+    <?php endif; ?>
+
+    <?php $_streetValidationClass = $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('street'); ?>
+    <div class="field street required">
+        <label for="<?php echo $prefix ?>:street1" class="label"><span><?php echo __('Address') ?></span></label>
+        <div class="control">
+            <input type="text" title="<?php echo __('Street Address') ?>" name="<?php echo $prefix ?>[street][]" id="<?php echo $prefix ?>:street1" value="<?php echo $this->escapeHtml($this->getAddress()->getStreet(1)) ?>" class="input-text required-entry <?php echo $_streetValidationClass ?>" />
+            <?php $_streetValidationClass = trim(str_replace('required-entry', '', $_streetValidationClass)); ?>
+            <?php for ($_i = 2, $_n = $this->helper('Magento\Customer\Helper\Address')->getStreetLines(); $_i <= $_n; $_i++): ?>
+                <div class="nested">
+                        <input type="text" title="<?php echo __('Street Address %1', $_i) ?>" name="<?php echo $prefix ?>[street][]" id="<?php echo $prefix ?>:street<?php echo $_i?>" value="<?php echo $this->escapeHtml($this->getAddress()->getStreet($_i)) ?>" class="input-text <?php echo $_streetValidationClass ?>" />
+                    </div>
+            <?php endfor; ?>
+        </div>
+    </div>
+
+    <?php if ($this->helper('Magento\Customer\Helper\Address')->isVatAttributeVisible()) : ?>
+    <div class="field vat_id">
+        <label for="<?php echo $prefix ?>:vat_id" class="label"><span><?php echo __('VAT Number') ?></span></label>
+        <div class="control">
+            <input type="text" id="<?php echo $prefix ?>:vat_id" name="<?php echo $prefix ?>[vat_id]" value="<?php echo $this->escapeHtml($this->getAddress()->getVatId()) ?>" title="<?php echo __('VAT Number') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('vat_id') ?>" />
+        </div>
+    </div>
+    <?php endif; ?>
+
+    <div class="field city required">
+        <label for="<?php echo $prefix ?>:city" class="label"><span><?php echo __('City') ?></span></label>
+        <div class="control">
+            <input type="text" title="<?php echo __('City') ?>" name="<?php echo $prefix ?>[city]" value="<?php echo $this->escapeHtml($this->getAddress()->getCity()) ?>" class="input-text required-entry <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('city') ?>" id="<?php echo $prefix ?>:city" />
+        </div>
+    </div>
+
+    <div class="field regionid required">
+        <label for="<?php echo $prefix ?>:region_id" class="label"><span><?php echo __('State/Province') ?></span></label>
+        <div class="control">
+            <select id="<?php echo $prefix ?>:region_id" name="<?php echo $prefix ?>[region_id]" title="<?php echo __('State/Province') ?>" class="validate-select required-entry" style="display:none;">
+                <option value=""><?php echo __('Please select region, state or province') ?></option>
+            </select>
+            <input type="text" id="<?php echo $prefix ?>:region" name="<?php echo $prefix ?>[region]" value="<?php echo $this->escapeHtml($this->getAddress()->getRegion()) ?>"  title="<?php echo __('State/Province') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('region') ?>" style="display:none;" />
+        </div>
+    </div>
+
+    <div class="field postcode required">
+        <label for="<?php echo $prefix ?>:postcode" class="label"><span><?php echo __('Zip/Postal Code') ?></span></label>
+        <div class="control">
+            <input type="text" title="<?php echo __('Zip/Postal Code') ?>" name="<?php echo $prefix ?>[postcode]" id="<?php echo $prefix ?>:postcode" value="<?php echo $this->escapeHtml($this->getAddress()->getPostcode()) ?>" class="input-text validate-zip-international required-entry <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('postcode') ?>" />
+        </div>
+    </div>
+
+    <div class="field country_id required">
+        <label for="<?php echo $prefix ?>:country_id" class="label"><span><?php echo __('Country') ?></span></label>
+        <div class="control">
+            <?php echo $this->getCountryHtmlSelect($prefix) ?>
+        </div>
+    </div>
+
+    <div class="field telephone required">
+        <label for="<?php echo $prefix ?>:telephone" class="label"><span><?php echo __('Telephone') ?></span></label>
+        <div class="control">
+            <input type="text" name="<?php echo $prefix ?>[telephone]" value="<?php echo $this->escapeHtml($this->getAddress()->getTelephone()) ?>" title="<?php echo __('Telephone') ?>" class="input-text required-entry <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('telephone') ?>" id="<?php echo $prefix ?>:telephone" />
+        </div>
+    </div>
+
+    <div class="field fax">
+        <label for="<?php echo $prefix ?>:fax" class="label"><span><?php echo __('Fax') ?></span></label>
+        <div class="control">
+            <input type="text" name="<?php echo $prefix ?>[fax]" value="<?php echo $this->escapeHtml($this->getAddress()->getFax()) ?>" title="<?php echo __('Fax') ?>" class="input-text <?php echo $this->helper('Magento\Customer\Helper\Address')->getAttributeValidationClass('fax') ?>" id="<?php echo $prefix ?>:fax" />
+        </div>
+    </div>
+
+    <?php echo $this->getChildHtml('form.additional.info'); ?>
+    <?php if ($this->getShowAsShippingCheckbox()): ?>
+        <div class="field choice as_shipping">
+            <input type="checkbox" name="<?php echo $prefix ?>[as_shipping]" class="checkbox" value="1" title="<?php echo __('Same as shipping') ?>" id="<?php echo $prefix ?>:as_shipping" <?php if ($this->getAddress()->getSameAsBilling()):?>checked="checked"<?php endif;?>/>
+            <label for="<?php echo $prefix ?>:as_shipping" class="label"><span><?php echo __('Same as shipping') ?></span></label>
+        </div>
+    <?php endif; ?>
+
+<script type="text/javascript">
+    (function($) {
+        head.js(
+            "<?php echo $this->getViewFileUrl('Magento_Checkout::js/region-updater.js') ?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js') ?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js') ?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js') ?>",
+            function() {
+                $('#<?php echo $prefix ?>\\:country_id').regionUpdater({
+                    optionalRegionAllowed: <?php echo ($this->getConfig('general/region/display_all')? 'true' : 'false'); ?>,
+                    regionListId: '#<?php echo $prefix ?>\\:region_id',
+                    regionInputId: '#<?php echo $prefix ?>\\:region',
+                    postcodeId: '#<?php echo $prefix ?>\\:postcode',
+                    regionJson: <?php echo $this->helper('Magento\Directory\Helper\Data')->getRegionJson() ?>,
+                    defaultRegion: "<?php echo $this->getAddress()->getRegionId() ?>",
+                    countriesWithOptionalZip: <?php echo $this->helper('Magento\Directory\Helper\Data')->getCountriesWithOptionalZip(true) ?>
+                });
+            });
+    })(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Paypal/express/review/details.phtml b/app/design/frontend/magento_plushe/Magento_Paypal/express/review/details.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..51706067751643ffed6457c7f7ae4e5049bb75f1
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Paypal/express/review/details.phtml
@@ -0,0 +1,55 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/**
+ * @see \Magento\Paypal\Block\Express\Review\Details
+ */
+?>
+<table id="details-table" class="data table paypal review items">
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): $colspan = $rowspan = 2; else: $colspan = $rowspan = 1; endif; ?>
+    <thead>
+        <tr>
+            <th rowspan="<?php echo $rowspan ?>" class="col name"><?php echo __('Product Name') ?></th>
+            <th colspan="<?php echo $colspan ?>" class="col price"><?php echo __('Price') ?></th>
+            <th rowspan="<?php echo $rowspan ?>" class="col qty"><?php echo __('Qty') ?></th>
+            <th colspan="<?php echo $colspan ?>" class="col subtotal"><?php echo __('Subtotal') ?></th>
+        </tr>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayCartBothPrices()): ?>
+            <tr>
+                <th class="col price excl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
+                <th class="col price incl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
+                <th class="col subtotal excl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(false) ?></th>
+                <th class="col subtotal incl tax"><?php echo $this->helper('Magento\Tax\Helper\Data')->getIncExcTaxLabel(true) ?></th>
+            </tr>
+        <?php endif; ?>
+    </thead>
+<?php echo $this->getChildHtml('totals'); ?>
+    <tbody>
+        <?php foreach($this->getItems() as $_item): ?>
+            <?php echo $this->getItemHtml($_item) ?>
+        <?php endforeach ?>
+    </tbody>
+</table>
diff --git a/app/design/frontend/magento_plushe/Magento_Paypal/express/review/shipping/method.phtml b/app/design/frontend/magento_plushe/Magento_Paypal/express/review/shipping/method.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..a3f9482b40a58afaa4bdb44ecf980817ebf600e5
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Paypal/express/review/shipping/method.phtml
@@ -0,0 +1,56 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/** @var $this \Magento\Paypal\Block\Express\Review */
+?>
+<div id="shipping-method-container">
+    <?php if ($this->getCanEditShippingMethod() || !$this->getCurrentShippingRate()): ?>
+        <?php if ($groups = $this->getShippingRateGroups()): ?>
+            <?php $currentRate = $this->getCurrentShippingRate(); ?>
+            <select name="shipping_method" id="shipping_method" class="required-entry">
+                <?php if (!$currentRate): ?>
+                    <option value=""><?php echo __('Please select a shipping method...') ?></option>
+                <?php endif; ?>
+                <?php foreach ($groups as $code => $rates): ?>
+                    <optgroup label="<?php echo $this->escapeHtml($this->getCarrierName($code)) ?>" style="font-style:normal;">
+                        <?php foreach ($rates as $rate): ?>
+                            <option
+                                value="<?php echo $this->renderShippingRateValue($rate) ?>"<?php echo ($currentRate === $rate) ? ' selected="selected"' : ''; ?>>
+                                <?php echo $this->renderShippingRateOption($rate) ?>
+                            </option>
+                        <?php endforeach; ?>
+                    </optgroup>
+                <?php endforeach; ?>
+            </select>
+        <?php else: ?>
+            <p><strong><?php echo __('Sorry, no quotes are available for this order at this time.') ?></strong></p>
+        <?php endif; ?>
+    <?php else: ?>
+        <p><strong><?php echo $this->renderShippingRateOption($this->getCurrentShippingRate()) ?></strong></p>
+    <?php endif; ?>
+</div>
+<div style="display:none" id="shipping_method_update">
+    <p><?php echo __('Please update order data to get shipping methods and rates') ?></p>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Paypal/express/shortcut.phtml b/app/design/frontend/magento_plushe/Magento_Paypal/express/shortcut.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..4f4a98cca34396342935f87c52ce5b477e315f94
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Paypal/express/shortcut.phtml
@@ -0,0 +1,70 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * @var $this \Magento\Paypal\Block\Express\Shortcut
+ */
+?>
+<?php
+$labelPosition = '';
+if ($this->isOrPositionBefore()) {
+$labelPosition = ' before';
+} elseif ($this->isOrPositionAfter()) {
+$labelPosition = ' after';
+}
+?>
+
+<div data-label="or" class="paypal checkout <?php echo $labelPosition ?> paypal-logo">
+    <?php $shortcutHtmlId = $this->getShortcutHtmlId() ?>
+    <input type="image" data-action="checkout-form-submit" data-checkout-url="<?php echo $this->getCheckoutUrl()?>"
+           src="<?php echo $this->getImageUrl()?>"
+           alt="<?php echo __('Checkout with PayPal');?>"
+           title="<?php echo __('Checkout with PayPal');?>"/>
+    <?php if ($this->getConfirmationUrl() || $this->getIsInCatalogProduct()): ?>
+    <?php if ($this->getIsInCatalogProduct()): ?>
+        <input type="hidden" id="pp-checkout-url" name="return_url" value=""/>
+        <?php endif; ?>
+
+    <?php
+    $confirmationUrl = $this->getConfirmationUrl();
+    $isInCatalogProduct = $this->getIsInCatalogProduct();
+endif; ?>
+    <script type="text/javascript">
+        (function($) {
+            head.js(
+                "<?php echo $this->getViewFileUrl('Magento_Paypal::js/paypal-checkout.js') ?>",
+                function() {
+                    $('.paypal-logo').paypalCheckout({
+                        confirmMessage: "<?php echo $this->helper('Magento\Core\Helper\Data')->jsQuoteEscape($this->getConfirmationMessage())?>",
+                        confirmUrl: "<?php echo !empty($confirmationUrl) ? $confirmationUrl : false ?>",
+                        isCatalogProduct: "<?php echo !empty($isInCatalogProduct) ? $isInCatalogProduct : false ?>",
+                        paypalCheckoutSelector: '#pp-checkout-url',
+                        productAddToCartForm: '#product_addtocart_form'
+                    });
+                });
+        })(jQuery);
+    </script>
+</div>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Paypal/layout/override/catalog_product_view.xml b/app/design/frontend/magento_plushe/Magento_Paypal/layout/override/catalog_product_view.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5f06f13a7ce67384da332442bf5ad7f65e8bbcb9
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Paypal/layout/override/catalog_product_view.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="product.info.addtocart">
+        <container name="product.info.addtocart.paypal.wrapper" label="PayPal Express Checkout Shortcut Wrapper">
+            <block class="Magento\Paypal\Block\Express\Shortcut" name="product.info.addtocart.paypal" template="express/shortcut.phtml">
+                <action method="setIsInCatalogProduct">
+                    <argument name="value" xsi:type="string">1</argument>
+                </action>
+            </block>
+        </container>
+    </referenceBlock>
+    <update handle="SHORTCUT_popup"/>
+    <referenceContainer name="right">
+        <block class="Magento\Paypal\Block\Logo" name="paypal.partner.right.logo" template="partner/logo.phtml">
+            <!--action method="setLogoType"><value>wePrefer_150x60</value></action-->
+        </block>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Paypal/layout/override/default.xml b/app/design/frontend/magento_plushe/Magento_Paypal/layout/override/default.xml
new file mode 100644
index 0000000000000000000000000000000000000000..78c6f1d1ccc400978df70eeabd6ef8f04f3a55cf
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Paypal/layout/override/default.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="topCart.extra_actions">
+        <block class="Magento\Paypal\Block\Express\Shortcut" name="paypal.partner.top_cart.shortcut" template="express/shortcut.phtml"/>
+    </referenceContainer>
+    <referenceContainer name="cart_sidebar.extra_actions">
+        <block class="Magento\Paypal\Block\Express\Shortcut" name="paypal.partner.cart_sidebar.shortcut" template="express/shortcut.phtml"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Persistent/layout/override/checkout_onepage_index.xml b/app/design/frontend/magento_plushe/Magento_Persistent/layout/override/checkout_onepage_index.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1147945ddc759eac1c57bddfb5c538af48916e40
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Persistent/layout/override/checkout_onepage_index.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="form.login.additional.info">
+        <block class="Magento\Persistent\Block\Form\Remember" name="persistent.remember.me" template="remember_me.phtml" before="-"/>
+        <block class="Magento\Core\Block\Template" name="persistent.remember.me.tooltip" template="Magento_Persistent::remember_me_tooltip.phtml"/>
+    </referenceContainer>
+    <referenceContainer name="form.billing.additional.info">
+        <block class="Magento\Persistent\Block\Form\Remember" name="persistent.remember.me.billing" template="remember_me.phtml" before="-"/>
+        <block class="Magento\Core\Block\Template" name="persistent.remember.me.tooltip.billing" template="Magento_Persistent::remember_me_tooltip.phtml"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Persistent/layout/override/customer_account_create.xml b/app/design/frontend/magento_plushe/Magento_Persistent/layout/override/customer_account_create.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8ac15eae415574b4ed80050985c33df2cbf52e11
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Persistent/layout/override/customer_account_create.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="form.additional.info">
+        <block class="Magento\Persistent\Block\Form\Remember" name="persistent.remember.me" template="remember_me.phtml" before="-"/>
+        <block class="Magento\Core\Block\Template" name="persistent.remember.me.tooltip" template="Magento_Persistent::remember_me_tooltip.phtml"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Persistent/layout/override/customer_account_login.xml b/app/design/frontend/magento_plushe/Magento_Persistent/layout/override/customer_account_login.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8ac15eae415574b4ed80050985c33df2cbf52e11
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Persistent/layout/override/customer_account_login.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="form.additional.info">
+        <block class="Magento\Persistent\Block\Form\Remember" name="persistent.remember.me" template="remember_me.phtml" before="-"/>
+        <block class="Magento\Core\Block\Template" name="persistent.remember.me.tooltip" template="Magento_Persistent::remember_me_tooltip.phtml"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Persistent/remember_me.phtml b/app/design/frontend/magento_plushe/Magento_Persistent/remember_me.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..9ce5ee378a6d39640307573ad4cf5136544f2008
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Persistent/remember_me.phtml
@@ -0,0 +1,41 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Customer "Remember Me" template
+ *
+ * @var $this \Magento\Persistent\Block\Form\Remember
+ */
+?>
+<div id="remember-me-box" class="field choice persistent">
+    <?php $rememberMeId = 'remember_me' . $this->helper('Magento\Core\Helper\Data')->getRandomString(10); ?>
+    <input type="checkbox" name="persistent_remember_me" class="checkbox" id="<?php echo $rememberMeId; ?>"<?php if ($this->isRememberMeChecked()): ?> checked="checked"<?php endif; ?> title="<?php echo __('Remember Me') ?>" />
+    <label for="<?php echo $rememberMeId; ?>" class="label"><span><?php echo __('Remember Me') ?></span></label>
+    <a class="link-tip" href="#"><?php echo __('What\'s this?') ?></a>
+</div>
+<?php if ($this->helper('Magento\Checkout\Helper\Data')->isContextCheckout()): ?>
+    <input name="context" type="hidden" value="checkout" />
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Persistent/remember_me_tooltip.phtml b/app/design/frontend/magento_plushe/Magento_Persistent/remember_me_tooltip.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..100a5cee1c5023a3c9d05d41c5088f55fe7699d5
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Persistent/remember_me_tooltip.phtml
@@ -0,0 +1,58 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * "Remember Me" popup template (when click on "What's this?")
+ *
+ */
+/** @var $this \Magento\Core\Block\Template */
+?>
+<div id="window-overlay" class="window-overlay" style="display:none;"></div>
+<div id="remember-me-popup" class="remember-me-popup" style="display:none;">
+    <div class="remember-me-popup-head">
+        <h3>What's this?</h3>
+        <a href="#" class="remember-me-popup-close" title="<?php echo __('Close') ?>"><?php echo __('Close') ?></a>
+    </div>
+    <div class="remember-me-popup-body">
+        <p>Checking &quot;Remember Me&quot; will let you access your shopping cart on this computer when you are logged out</p>
+        <div class="remember-me-popup-close-button a-right">
+            <a href="#" class="remember-me-popup-close button" title="<?php echo __('Close') ?>"><span><?php echo __('Close') ?></span></a>
+        </div>
+    </div>
+</div>
+<script type="text/javascript">
+    (function($) {
+        head.js(
+            "<?php echo $this->getViewFileUrl('Magento_Persistent::remember-me-popup.js') ?>",
+            function() {
+                $('#remember-me-box').rememberMePopup({
+                    windowOverlay: '#window-overlay',
+                    popupBlock: '#remember-me-popup',
+                    closeBtn: '.remember-me-popup-close'
+                });
+            });
+    })(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Rating/detailed.phtml b/app/design/frontend/magento_plushe/Magento_Rating/detailed.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..e0321a261957cff4d4a8216c53e1ab8eb555d2dd
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Rating/detailed.phtml
@@ -0,0 +1,45 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if(!empty($collection) && $collection->getSize()): ?>
+    <table class="ratings-table data-table review-summary-table">
+    <col width="1" />
+    <col />
+        <tbody>
+            <?php foreach ($collection as $_rating): ?>
+                <?php if($_rating->getSummary()): ?>
+                    <tr>
+                        <th class="label"><?php echo __($this->escapeHtml($_rating->getRatingCode())) ?></th>
+                        <td class="value">
+                            <div class="rating-box">
+                                <div class="rating" style="width:<?php echo ceil($_rating->getSummary()) ?>%;"></div>
+                            </div>
+                        </td>
+                    </tr>
+                <?php endif; ?>
+            <?php endforeach; ?>
+        </tbody>
+    </table>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Reports/layout/catalog_product_view.xml b/app/design/frontend/magento_plushe/Magento_Reports/layout/catalog_product_view.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1c2c346263d9bd11c5116b8269ef9f66005fbcdd
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Reports/layout/catalog_product_view.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="content.bottom">
+        <block class="Magento\Reports\Block\Product\Widget\Viewed" name="product.viewed.products" template="Magento_Catalog::product/list/items.phtml">
+            <arguments>
+                <argument name="type" xsi:type="string">widget-viewed</argument>
+                <argument name="view_mode" xsi:type="string">grid</argument>
+                <argument name="image_type" xsi:type="string">recently_viewed_products_grid_content_widget</argument>
+            </arguments>
+        </block>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Reports/layout/override/default.xml b/app/design/frontend/magento_plushe/Magento_Reports/layout/override/default.xml
new file mode 100644
index 0000000000000000000000000000000000000000..46e55c7076c9cc4d97ec7fbe42f8d409089b2d54
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Reports/layout/override/default.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="right">
+        <block class="Magento\Reports\Block\Product\Viewed" name="right.reports.product.viewed" template="product_viewed.phtml"/>
+        <block class="Magento\Reports\Block\Product\Compared" name="right.reports.product.compared" template="product_compared.phtml"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Reports/layout/override/print.xml b/app/design/frontend/magento_plushe/Magento_Reports/layout/override/print.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6c60196129d6c92ce012ad36ab5a4e7194de6ea6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Reports/layout/override/print.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
diff --git a/app/design/frontend/magento_plushe/Magento_Reports/product_compared.phtml b/app/design/frontend/magento_plushe/Magento_Reports/product_compared.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..0925c4376f185e7db84a6ea13a98321c3d32c791
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Reports/product_compared.phtml
@@ -0,0 +1,44 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/* @var $this \Magento\Reports\Block\Product\Compared */
+?>
+<?php if ($_products = $this->getRecentlyComparedProducts()): ?>
+<div class="block compared links">
+    <div class="title">
+        <strong><?php echo __('Recently Compared Products') ?></strong>
+    </div>
+    <div class="content">
+        <ol class="items compared">
+        <?php foreach ($_products as $_item): ?>
+            <li class="item">
+                <strong class="product name">
+                    <a href="<?php echo $this->getProductUrl($_item) ?>"><?php echo $this->helper('Magento\Catalog\Helper\Output')->productAttribute($_item, $_item->getName() , 'name') ?></a>
+                </strong>
+            </li>
+        <?php endforeach; ?>
+        </ol>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Reports/product_viewed.phtml b/app/design/frontend/magento_plushe/Magento_Reports/product_viewed.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..006415faeaa1afe8d88537ab0ef79addd1503b1b
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Reports/product_viewed.phtml
@@ -0,0 +1,44 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/* @var $this \Magento\Reports\Block\Product\Viewed */
+?>
+<?php if ($_products = $this->getRecentlyViewedProducts()): ?>
+<div class="block viewed links">
+    <div class="title">
+        <strong><?php echo __('Recently Viewed Products') ?></strong>
+    </div>
+    <div class="content">
+        <ol class="items viewed">
+            <?php foreach ($_products as $_item): ?>
+            <li class="item">
+                <strong class="product name">
+                    <a href="<?php echo $this->getProductUrl($_item) ?>"><?php echo $this->helper('Magento\Catalog\Helper\Output')->productAttribute($_item, $_item->getName(), 'name') ?></a>
+                </strong>
+            </li>
+            <?php endforeach; ?>
+        </ol>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Reports/widget/compared/column/compared_default_list.phtml b/app/design/frontend/magento_plushe/Magento_Reports/widget/compared/column/compared_default_list.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..ad0e07081a83bc70868d374e3e56c5f11d2ba079
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Reports/widget/compared/column/compared_default_list.phtml
@@ -0,0 +1,58 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if ($_products = $this->getRecentlyComparedProducts()): ?>
+<div class="widget widget-compared">
+    <div class="block block-products">
+        <div class="block-title">
+            <strong><span><?php echo __('Recently Compared') ?></span></strong>
+        </div>
+        <div class="block-content">
+            <?php $suffix = $this->getNameInLayout(); ?>
+            <ol class="mini-products-list" id="widget-compared-<?php echo $suffix; ?>">
+            <?php foreach ($_products as $_product): ?>
+                <li class="item">
+                    <a class="product-image" href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>"><img src="<?php echo $this->getThumbnailSidebarUrl($_product) ?>" width="<?php echo $this->getThumbnailSidebarSize()?>" height="<?php echo $this->getThumbnailSidebarSize()?>" alt="<?php echo $this->stripTags($_product->getName(), null, true) ?>" /></a>
+                    <div class="product-details">
+                        <p class="product-name"><a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>)"><?php echo $this->helper('Magento\Catalog\Helper\Output')->productAttribute($_product, $_product->getName() , 'name') ?></a></p>
+                        <?php echo $this->getPriceHtml($_product, true, '-widget-compared-'.$suffix) ?>
+                        <?php if($_product->isSaleable()): ?>
+                            <a href="<?php echo $this->getAddToCartUrl($_product) ?>" class="link-cart"><?php echo __('Add to Cart') ?></a>
+                        <?php else: ?>
+                            <?php if ($_product->getIsSalable()): ?>
+                                <p class="availability in-stock"><span><?php echo __('In stock') ?></span></p>
+                            <?php else: ?>
+                                <p class="availability out-of-stock"><span><?php echo __('Out of stock') ?></span></p>
+                            <?php endif; ?>
+                        <?php endif; ?>
+                    </div>
+                </li>
+            <?php endforeach; ?>
+            </ol>
+            <script type="text/javascript">(function($) {$('#widget-compared-<?php echo $suffix; ?>').decorate('list', false)})(jQuery)</script>
+        </div>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Reports/widget/compared/content/compared_grid.phtml b/app/design/frontend/magento_plushe/Magento_Reports/widget/compared/content/compared_grid.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..5e5bfa290ce0f9f37b1c3700047928773f615ac3
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Reports/widget/compared/content/compared_grid.phtml
@@ -0,0 +1,125 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+
+<?php
+    if ($exist = $this->getRecentlyComparedProducts()) {
+        $type = 'widget-compared';
+        $mode = 'grid';
+
+        $type = $type . '-' . $mode;
+
+        $class = 'widget compared' . ' ' . $mode;
+
+        $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+        $image = 'recently_compared_products_grid_content_widget';
+        $title = __('Recently Compared');
+        $items = $exist;
+
+        $showWishlist = true;
+        $showCompare = true;
+        $showCart = true;
+        $rating = 'short';
+        $description = ($mode == 'list') ? true : false;
+    }
+?>
+
+<?php if ($exist):?>
+<div class="block <?php echo $class; ?>">
+    <div class="title">
+        <strong><?php echo $title; ?></strong>
+    </div>
+    <div class="content">
+        <?php echo $this->getPagerHtml() ?>
+        <?php echo '<!-- ' . $image . '-->' ?>
+        <ol class="products list items <?php echo $type; ?>">
+        <?php $iterator = 1; ?>
+        <?php foreach($items as $_item): ?>
+            <?php echo ($iterator++==1) ? '<li class="item product">' : '</li><li class="item product">' ?>
+                <div class="product">
+
+                    <a href="<?php echo $this->getProductUrl($_item) ?>" class="product photo">
+                        <?php echo $imageBlock->init($_item, $image)->toHtml() ?>
+                    </a>
+
+                    <div class="product details">
+
+                        <strong class="product name"><a title="<?php echo $this->escapeHtml($_item->getName()) ?>" href="<?php echo $this->getProductUrl($_item) ?>">
+                            <?php echo $this->escapeHtml($_item->getName()) ?></a>
+                        </strong>
+
+                        <?php echo $this->getPriceHtml($_item, true, '-' . $type) ?>
+
+                        <?php if ($_item->getRatingSummary() && $rating): ?>
+                            <?php echo $this->getReviewsSummaryHtml($_item,$rating) ?>
+                        <?php endif; ?>
+
+                        <?php if($showWishlist || $showCompare || $showCart): ?>
+                        <div class="product actions">
+
+                            <?php if($showCart): ?>
+                            <div class="primary">
+                                <?php if($_item->isSaleable()): ?>
+                                <button class="action tocart" data-mage-redirect="{event: 'click', url: '<?php echo $this->getAddToCartUrl($_item) ?>'}" type="button" title="<?php echo __('Add to Cart') ?>">
+                                    <span><?php echo __('Add to Cart') ?></span>
+                                </button>
+                                <?php else: ?>
+                                    <?php if ($_item->getIsSalable()): ?>
+                                        <p class="stock available"><span><?php echo __('In stock') ?></span></p>
+                                    <?php else: ?>
+                                        <p class="stock unavailable"><span><?php echo __('Out of stock') ?></span></p>
+                                    <?php endif; ?>
+                                <?php endif; ?>
+                            </div>
+                            <?php endif; ?>
+
+                            <?php if($showWishlist || $showCompare): ?>
+                            <div class="secondary addto links">
+                                <?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllow() && $showWishlist): ?>
+                                    <a href="<?php echo $this->getAddToWishlistUrl($_item) ?>" class="action towishlist" title="<?php echo __('Add to Wishlist') ?>">
+                                        <span><?php echo __('Add to Wishlist') ?></span>
+                                    </a>
+                                <?php endif; ?>
+                                <?php if($this->getAddToCompareUrl($_item) && $showCompare): ?>
+                                    <a href="<?php echo $this->getAddToCompareUrl($_item) ?>" class="action tocompare" title="<?php echo __('Add to Compare') ?>">
+                                        <span><?php echo __('Add to Compare') ?></span>
+                                    </a>
+                                <?php endif; ?>
+                            </div>
+                            <?php endif; ?>
+                        </div>
+                        <?php endif; ?>
+
+                    </div>
+                </div>
+            <?php echo ($iterator==count($items)+1) ? '</li>' : '' ?>
+        <?php endforeach ?>
+        </ol>
+        <script type="text/javascript">
+            head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/mage-attributes-processing.js') ?>");
+        </script>
+    </div>
+</div>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Reports/widget/compared/content/compared_list.phtml b/app/design/frontend/magento_plushe/Magento_Reports/widget/compared/content/compared_list.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..a9149fb99a09a1ee2e8560a3795f338f433092fb
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Reports/widget/compared/content/compared_list.phtml
@@ -0,0 +1,125 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+
+<?php
+    if ($exist = $this->getRecentlyComparedProducts()) {
+        $type = 'widget-compared';
+        $mode = 'list';
+
+        $type = $type . '-' . $mode;
+
+        $class = 'widget compared' . ' ' . $mode;
+
+        $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+        $image = 'recently_compared_products_list_content_widget';
+        $title = __('Recently Compared');
+        $items = $exist;
+
+        $showWishlist = true;
+        $showCompare = true;
+        $showCart = true;
+        $rating = 'short';
+        $description = ($mode == 'list') ? true : false;
+    }
+?>
+
+<?php if ($exist):?>
+<div class="block <?php echo $class; ?>">
+    <div class="title">
+        <strong><?php echo $title; ?></strong>
+    </div>
+    <div class="content">
+        <?php echo $this->getPagerHtml() ?>
+        <?php echo '<!-- ' . $image . '-->' ?>
+        <ol class="products list items <?php echo $type; ?>">
+        <?php $iterator = 1; ?>
+        <?php foreach($items as $_item): ?>
+            <?php echo ($iterator++==1) ? '<li class="item product">' : '</li><li class="item product">' ?>
+                <div class="product">
+
+                    <a href="<?php echo $this->getProductUrl($_item) ?>" class="product photo">
+                        <?php echo $imageBlock->init($_item, $image)->toHtml() ?>
+                    </a>
+
+                    <div class="product details">
+
+                        <strong class="product name"><a title="<?php echo $this->escapeHtml($_item->getName()) ?>" href="<?php echo $this->getProductUrl($_item) ?>">
+                            <?php echo $this->escapeHtml($_item->getName()) ?></a>
+                        </strong>
+
+                        <?php echo $this->getPriceHtml($_item, true, '-' . $type) ?>
+
+                        <?php if ($_item->getRatingSummary() && $rating): ?>
+                            <?php echo $this->getReviewsSummaryHtml($_item,$rating) ?>
+                        <?php endif; ?>
+
+                        <?php if($showWishlist || $showCompare || $showCart): ?>
+                        <div class="product actions">
+
+                            <?php if($showCart): ?>
+                            <div class="primary">
+                                <?php if($_item->isSaleable()): ?>
+                                <button class="action tocart" data-mage-redirect="{event: 'click', url: '<?php echo $this->getAddToCartUrl($_item) ?>'}" type="button" title="<?php echo __('Add to Cart') ?>">
+                                    <span><?php echo __('Add to Cart') ?></span>
+                                </button>
+                                <?php else: ?>
+                                    <?php if ($_item->getIsSalable()): ?>
+                                        <p class="stock available"><span><?php echo __('In stock') ?></span></p>
+                                    <?php else: ?>
+                                        <p class="stock unavailable"><span><?php echo __('Out of stock') ?></span></p>
+                                    <?php endif; ?>
+                                <?php endif; ?>
+                            </div>
+                            <?php endif; ?>
+
+                            <?php if($showWishlist || $showCompare): ?>
+                            <div class="secondary addto links">
+                                <?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllow() && $showWishlist): ?>
+                                    <a href="<?php echo $this->getAddToWishlistUrl($_item) ?>" class="action towishlist" title="<?php echo __('Add to Wishlist') ?>">
+                                        <span><?php echo __('Add to Wishlist') ?></span>
+                                    </a>
+                                <?php endif; ?>
+                                <?php if($this->getAddToCompareUrl($_item) && $showCompare): ?>
+                                    <a href="<?php echo $this->getAddToCompareUrl($_item) ?>" class="action tocompare" title="<?php echo __('Add to Compare') ?>">
+                                        <span><?php echo __('Add to Compare') ?></span>
+                                    </a>
+                                <?php endif; ?>
+                            </div>
+                            <?php endif; ?>
+                        </div>
+                        <?php endif; ?>
+
+                    </div>
+                </div>
+            <?php echo ($iterator==count($items)+1) ? '</li>' : '' ?>
+        <?php endforeach ?>
+        </ol>
+        <script type="text/javascript">
+            head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/mage-attributes-processing.js') ?>");
+        </script>
+    </div>
+</div>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Reports/widget/viewed/column/viewed_default_list.phtml b/app/design/frontend/magento_plushe/Magento_Reports/widget/viewed/column/viewed_default_list.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..c8344e639f7589fba2ef96b02829cf03920462d7
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Reports/widget/viewed/column/viewed_default_list.phtml
@@ -0,0 +1,63 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * @see \Magento\Reports\Block\Product\Viewed
+ */
+?>
+<?php if ($_products = $this->getRecentlyViewedProducts()): ?>
+<div class="widget widget-viewed">
+    <div class="block block-products">
+        <div class="block-title">
+            <strong><span><?php echo __('Recently Viewed') ?></span></strong>
+        </div>
+        <div class="block-content">
+            <?php $suffix = $this->getNameInLayout(); ?>
+            <ol class="mini-products-list" id="widget-viewed-<?php echo $suffix; ?>">
+            <?php foreach ($_products as $_product): ?>
+                <li class="item">
+                    <a class="product-image" href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>"><img src="<?php echo $this->getThumbnailSidebarUrl($_product) ?>" width="<?php echo $this->getThumbnailSidebarSize()?>" height="<?php echo $this->getThumbnailSidebarSize()?>" alt="<?php echo $this->stripTags($_product->getName(), null, true) ?>" /></a>
+                    <div class="product-details">
+                        <p class="product-name"><a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>"><?php echo $this->helper('Magento\Catalog\Helper\Output')->productAttribute($_product, $_product->getName() , 'name') ?></a></p>
+                        <?php echo $this->getPriceHtml($_product, true, '-widget-viewed-'.$suffix) ?>
+                        <?php if($_product->isSaleable()): ?>
+                            <a href="<?php echo $this->getAddToCartUrl($_product) ?>" class="link-cart"><?php echo __('Add to Cart') ?></a>
+                        <?php else: ?>
+                            <?php if ($_product->getIsSalable()): ?>
+                                <p class="availability in-stock"><span><?php echo __('In stock') ?></span></p>
+                            <?php else: ?>
+                                <p class="availability out-of-stock"><span><?php echo __('Out of stock') ?></span></p>
+                            <?php endif; ?>
+                        <?php endif; ?>
+                    </div>
+                </li>
+            <?php endforeach; ?>
+            </ol>
+            <script type="text/javascript">(function($) {$('#widget-viewed-<?php echo $suffix; ?>').decorate('list', false)})(jQuery)</script>
+        </div>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Reports/widget/viewed/content/viewed_grid.phtml b/app/design/frontend/magento_plushe/Magento_Reports/widget/viewed/content/viewed_grid.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..678aba0dd82b2045f1615caca36a37a9168c0bb7
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Reports/widget/viewed/content/viewed_grid.phtml
@@ -0,0 +1,129 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * @see \Magento\Reports\Block\Product\Viewed
+ */
+?>
+<?php
+    if ($exist = $this->getRecentlyViewedProducts()) {
+        $type = 'widget-viewed';
+        $mode = 'grid';
+
+        $type = $type . '-' . $mode;
+
+        $class = 'widget viewed' . ' ' . $mode;
+
+        $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+        $image = 'recently_viewed_products_grid_content_widget';
+        $title = __('Recently Viewed');
+        $items = $exist;
+
+        $showWishlist = true;
+        $showCompare = true;
+        $showCart = true;
+        $rating = 'short';
+        $description = ($mode == 'list') ? true : false;
+    }
+?>
+
+<?php if ($exist):?>
+<div class="block <?php echo $class; ?>">
+    <div class="title">
+        <strong><?php echo $title; ?></strong>
+    </div>
+    <div class="content">
+        <?php echo $this->getPagerHtml() ?>
+        <?php echo '<!-- ' . $image . '-->' ?>
+        <ol class="products list items <?php echo $type; ?>">
+        <?php $iterator = 1; ?>
+        <?php foreach($items as $_item): ?>
+            <?php echo ($iterator++==1) ? '<li class="item product">' : '</li><li class="item product">' ?>
+                <div class="product">
+
+                    <a href="<?php echo $this->getProductUrl($_item) ?>" class="product photo">
+                        <?php echo $imageBlock->init($_item, $image)->toHtml() ?>
+                    </a>
+
+                    <div class="product details">
+
+                        <strong class="product name"><a title="<?php echo $this->escapeHtml($_item->getName()) ?>" href="<?php echo $this->getProductUrl($_item) ?>">
+                            <?php echo $this->escapeHtml($_item->getName()) ?></a>
+                        </strong>
+
+                        <?php echo $this->getPriceHtml($_item, true, '-' . $type) ?>
+
+                        <?php if ($_item->getRatingSummary() && $rating): ?>
+                            <?php echo $this->getReviewsSummaryHtml($_item,$rating) ?>
+                        <?php endif; ?>
+
+                        <?php if($showWishlist || $showCompare || $showCart): ?>
+                        <div class="product actions">
+
+                            <?php if($showCart): ?>
+                            <div class="primary">
+                                <?php if($_item->isSaleable()): ?>
+                                <button class="action tocart" data-mage-redirect="{event: 'click', url: '<?php echo $this->getAddToCartUrl($_item) ?>'}" type="button" title="<?php echo __('Add to Cart') ?>">
+                                    <span><?php echo __('Add to Cart') ?></span>
+                                </button>
+                                <?php else: ?>
+                                    <?php if ($_item->getIsSalable()): ?>
+                                        <p class="stock available"><span><?php echo __('In stock') ?></span></p>
+                                    <?php else: ?>
+                                        <p class="stock unavailable"><span><?php echo __('Out of stock') ?></span></p>
+                                    <?php endif; ?>
+                                <?php endif; ?>
+                            </div>
+                            <?php endif; ?>
+
+                            <?php if($showWishlist || $showCompare): ?>
+                            <div class="secondary addto links">
+                                <?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllow() && $showWishlist): ?>
+                                    <a href="<?php echo $this->getAddToWishlistUrl($_item) ?>" class="action towishlist" data-action="add-to-wishlist" title="<?php echo __('Add to Wishlist') ?>">
+                                        <span><?php echo __('Add to Wishlist') ?></span>
+                                    </a>
+                                <?php endif; ?>
+                                <?php if($this->getAddToCompareUrl($_item) && $showCompare): ?>
+                                    <a href="<?php echo $this->getAddToCompareUrl($_item) ?>" class="action tocompare" title="<?php echo __('Add to Compare') ?>">
+                                        <span><?php echo __('Add to Compare') ?></span>
+                                    </a>
+                                <?php endif; ?>
+                            </div>
+                            <?php endif; ?>
+                        </div>
+                        <?php endif; ?>
+
+                    </div>
+                </div>
+            <?php echo ($iterator==count($items)+1) ? '</li>' : '' ?>
+        <?php endforeach ?>
+        </ol>
+        <script type="text/javascript">
+            head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/mage-attributes-processing.js') ?>");
+        </script>
+    </div>
+</div>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Reports/widget/viewed/content/viewed_list.phtml b/app/design/frontend/magento_plushe/Magento_Reports/widget/viewed/content/viewed_list.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..b30e980f338fc76baa2f69e90da078c16d970dad
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Reports/widget/viewed/content/viewed_list.phtml
@@ -0,0 +1,128 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * @see \Magento\Reports\Block\Product\Viewed
+ */
+?>
+<?php
+    if ($exist = $this->getRecentlyViewedProducts()) {
+        $type = 'widget-viewed';
+        $mode = 'list';
+
+        $type = $type . '-' . $mode;
+
+        $class = 'widget viewed' . ' ' . $mode;
+
+        $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+        $image = 'recently_viewed_products_list_content_widget';
+        $title = __('Recently Viewed');
+        $items = $exist;
+
+        $showWishlist = true;
+        $showCompare = true;
+        $showCart = true;
+        $rating = 'short';
+        $description = ($mode == 'list') ? true : false;
+    }
+?>
+
+<?php if ($exist):?>
+<div class="block <?php echo $class; ?>">
+    <div class="title">
+        <strong><?php echo $title; ?></strong>
+    </div>
+    <div class="content">
+        <?php echo $this->getPagerHtml() ?>
+        <?php echo '<!-- ' . $image . '-->' ?>
+        <ol class="products list items <?php echo $type; ?>">
+        <?php $iterator = 1; ?>
+        <?php foreach($items as $_item): ?>
+            <?php echo ($iterator++==1) ? '<li class="item product">' : '</li><li class="item product">' ?>
+                <div class="product">
+                    <a href="<?php echo $this->getProductUrl($_item) ?>" class="product photo">
+                        <?php echo $imageBlock->init($_item, $image)->toHtml() ?>
+                    </a>
+
+                    <div class="product details">
+
+                        <strong class="product name"><a title="<?php echo $this->escapeHtml($_item->getName()) ?>" href="<?php echo $this->getProductUrl($_item) ?>">
+                            <?php echo $this->escapeHtml($_item->getName()) ?></a>
+                        </strong>
+
+                        <?php echo $this->getPriceHtml($_item, true, '-' . $type) ?>
+
+                        <?php if ($_item->getRatingSummary() && $rating): ?>
+                            <?php echo $this->getReviewsSummaryHtml($_item,$rating) ?>
+                        <?php endif; ?>
+
+                        <?php if($showWishlist || $showCompare || $showCart): ?>
+                        <div class="product actions">
+
+                            <?php if($showCart): ?>
+                            <div class="primary">
+                                <?php if($_item->isSaleable()): ?>
+                                <button class="action tocart" data-mage-redirect="{event: 'click', url: '<?php echo $this->getAddToCartUrl($_item) ?>'}" type="button" title="<?php echo __('Add to Cart') ?>">
+                                    <span><?php echo __('Add to Cart') ?></span>
+                                </button>
+                                <?php else: ?>
+                                    <?php if ($_item->getIsSalable()): ?>
+                                        <p class="stock available"><span><?php echo __('In stock') ?></span></p>
+                                    <?php else: ?>
+                                        <p class="stock unavailable"><span><?php echo __('Out of stock') ?></span></p>
+                                    <?php endif; ?>
+                                <?php endif; ?>
+                            </div>
+                            <?php endif; ?>
+
+                            <?php if($showWishlist || $showCompare): ?>
+                            <div class="secondary addto links">
+                                <?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllow() && $showWishlist): ?>
+                                    <a href="<?php echo $this->getAddToWishlistUrl($_item) ?>" class="action towishlist" data-action="add-to-wishlist" title="<?php echo __('Add to Wishlist') ?>">
+                                        <span><?php echo __('Add to Wishlist') ?></span>
+                                    </a>
+                                <?php endif; ?>
+                                <?php if($this->getAddToCompareUrl($_item) && $showCompare): ?>
+                                    <a href="<?php echo $this->getAddToCompareUrl($_item) ?>" class="action tocompare" title="<?php echo __('Add to Compare') ?>">
+                                        <span><?php echo __('Add to Compare') ?></span>
+                                    </a>
+                                <?php endif; ?>
+                            </div>
+                            <?php endif; ?>
+                        </div>
+                        <?php endif; ?>
+
+                    </div>
+                </div>
+            <?php echo ($iterator==count($items)+1) ? '</li>' : '' ?>
+        <?php endforeach ?>
+        </ol>
+        <script type="text/javascript">
+            head.js("<?php echo $this->getViewFileUrl('Magento_Catalog::js/mage-attributes-processing.js') ?>");
+        </script>
+    </div>
+</div>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Review/customer/list.phtml b/app/design/frontend/magento_plushe/Magento_Review/customer/list.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..a1bfcc3a450ef96fa0dd9e076f64309f02c1c639
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Review/customer/list.phtml
@@ -0,0 +1,82 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if( $this->getCollection() && $this->count()): ?>
+    <div class="toolbar reviews">
+        <?php echo $this->getToolbarHtml() ?>
+    </div>
+    <table class="data table reviews" id="my-reviews-table">
+        <thead>
+            <tr>
+                <th class="col date"><?php echo __('Created') ?></th>
+                <th class="col item"><?php echo __('Product Name') ?></th>
+                <th class="col summary"><?php echo __('Summary') ?></th>
+                <th class="col description"><?php echo __('Description') ?></th>
+                <th class="col actions">&nbsp;</th>
+            </tr>
+        </thead>
+        <tbody>
+            <?php foreach ($this->getCollection() as $_review): ?>
+            <tr>
+                <td class="col date"><?php echo $this->dateFormat($_review->getReviewCreatedAt()); ?></td>
+                <td class="col item">
+                    <strong class="product name">
+                        <a href="<?php echo $this->getProductLink() ?>id/<?php echo $_review->getEntityPkValue() ?>"><?php echo $this->escapeHtml($_review->getName()) ?></a>
+                    </strong>
+                </td>
+                <td class="col summary">
+                <?php if($_review->getSum()): ?>
+                    <div class="rating">
+                        <span style="width:<?php echo ( $_review->getSum() / $_review->getCount() ) ?>%;"></span>
+                    </div>
+                <?php endif; ?>
+                </td>
+                <td class="col description">
+                    <div class="text">
+                        <?php echo $this->helper('Magento\Review\Helper\Data')->getDetailHtml($_review->getDetail()) ?>
+                    </div>
+                </td>
+                <td class="col actions">
+                    <a href="<?php echo $this->getReviewLink() ?>id/<?php echo $_review->getReviewId() ?>" class="action more">
+                        <span><?php echo __('View Details') ?></span>
+                    </a>
+                </td>
+            </tr>
+            <?php endforeach; ?>
+        </tbody>
+    </table>
+    <div class="toolbar reviews bottom">
+        <?php echo $this->getToolbarHtml() ?>
+    </div>
+<?php else: ?>
+    <p class="empty"><?php echo __('You have submitted no reviews.') ?></p>
+<?php endif; ?>
+<div class="actions">
+    <div class="secondary">
+        <a class="action back" href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>">
+            <span><?php echo __('Back') ?></span>
+        </a>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Review/customer/recent.phtml b/app/design/frontend/magento_plushe/Magento_Review/customer/recent.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..3b25d298b0e2edb97bbe21b117b3549468881a8f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Review/customer/recent.phtml
@@ -0,0 +1,50 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if( $this->getCollection() && $this->count()): ?>
+<div class="block reviews dashboard">
+    <div class="title">
+        <strong><?php echo __('My Recent Reviews') ?></strong>
+        <a class="action view" href="<?php echo $this->getAllReviewsUrl() ?>"><span><?php echo __('View All Reviews') ?></span></a>
+    </div>
+    <div class="content">
+        <ol class="items">
+        <?php foreach ($this->getCollection() as $_review): ?>
+            <li class="item">
+                <strong class="product name"><a href="<?php echo $this->getReviewUrl($_review->getReviewId()) ?>"><?php echo $this->escapeHtml($_review->getName()) ?></a></strong>
+                <?php if($_review->getSum()): ?>
+                <?php $rating = $_review->getSum() / $_review->getCount() ?>
+                    <div class="rating" title="<?php echo $rating; ?>%">
+                        <span style="width:<?php echo $rating; ?>%">
+                            <?php echo $rating; ?>
+                        </span>
+                    </div>
+                <?php endif; ?>
+            </li>
+        <?php endforeach; ?>
+        </ol>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Review/customer/view.phtml b/app/design/frontend/magento_plushe/Magento_Review/customer/view.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..d4816e5e5e7865bfe612953470de5eb59df1cf08
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Review/customer/view.phtml
@@ -0,0 +1,78 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if($this->getProductData()->getId()): ?>
+<?php $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image'); ?>
+<div class="customer review view">
+    <h2 class="product name"><?php echo $this->escapeHtml($this->getProductData()->getName()) ?></h2>
+    <div class="product details">
+        <a class="product photo" href="<?php echo $this->getProductData()->getProductUrl() ?>">
+            <!-- customer_account_product_review_page -->
+            <?php echo $imageBlock->init($this->getProductData(), 'customer_account_product_review_page')->toHtml() ?>
+        </a>
+        <?php if( $this->getRating() && $this->getRating()->getSize()): ?>
+        <p><?php echo __('Average Customer Rating:') ?></p>
+        <?php echo $this->getReviewsSummaryHtml($this->getProductData()) ?>
+        <?php endif; ?>
+    </div>
+    <div class="review details">
+
+        <?php if( $this->getRating() && $this->getRating()->getSize()): ?>
+        <div class="ratings summary">
+            <strong><?php echo ($this->isReviewOwner()) ? __('Your Rating:') : __('Rating:'); ?></strong>
+
+            <?php foreach ($this->getRating() as $_rating): ?>
+            <?php if($_rating->getPercent()): ?>
+                <?php $rating = ceil($_rating->getPercent()) ?>
+                <div class="reviews summary item">
+                    <div class="label"><?php echo $this->escapeHtml($_rating->getRatingCode()) ?></div>
+                    <div class="rating" title="<?php echo $rating; ?>%">
+                        <span style="width:<?php echo $rating; ?>%">
+                            <?php echo $rating; ?>
+                        </span>
+                    </div>
+                </div>
+            <?php endif; ?>
+            <?php endforeach; ?>
+        </div>
+        <?php endif; ?>
+
+        <div class="review title"><?php echo $this->escapeHtml($this->getReviewData()->getTitle()) ?></div>
+        <p class="review date">
+            <?php if ($this->isReviewOwner()): ?>
+                <?php echo __('Your Review (submitted on %1):', '<time class="date">' . $this->dateFormat($this->getReviewData()->getCreatedAt()) . '</time>') ?>
+            <?php else :?>
+                <?php echo __('Review (submitted on %1):', '<time class="date">' . $this->dateFormat($this->getReviewData()->getCreatedAt()) . '</time>') ?>
+            <?php endif;?>
+        </p>
+        <div class="review content"><?php echo nl2br($this->escapeHtml($this->getReviewData()->getDetail())) ?></div>
+    </div>
+</div>
+<div class="actions">
+    <div class="secondary">
+        <a class="action back" href="<?php echo $this->getBackUrl() ?>"><span><?php echo __('Back to My Reviews') ?></span></a>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Review/form.phtml b/app/design/frontend/magento_plushe/Magento_Review/form.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..16724df55f4d1eb12123b4accac406bfcf0591e0
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Review/form.phtml
@@ -0,0 +1,110 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="block add review">
+    <div class="title"><strong><?php echo __('Write Your Own Review') ?></strong></div>
+<div class="content">
+<?php if ($this->getAllowWriteReviewFlag()): ?>
+<form action="<?php echo $this->getAction() ?>" method="post" id="review-form">
+    <?php echo $this->getChildHtml('form_fields_before')?>
+    <fieldset class="fieldset" data-hasrequired="<?php __('* Required Fields'); ?>">
+        <legend class="legend"><span><?php echo __("You're reviewing:"); ?></span><strong><?php echo $this->escapeHtml($this->getProductInfo()->getName()) ?></strong></legend><br />
+        <?php if ($this->getRatings() && $this->getRatings()->getSize()): ?>
+        <span id="input-message-box"></span>
+        <div class="field ratings required">
+            <label class="label"><span><?php echo __('How do you rate this product?') ?></span></label>
+            <div class="control">
+                <div class="nested" id="product-review-table">
+                    <?php foreach ($this->getRatings() as $_rating): ?>
+                        <div class="field rating">
+                            <label class="label"><span><?php echo $this->escapeHtml($_rating->getRatingCode()) ?></span></label>
+                            <div class="control">
+                            <?php $options = $_rating->getOptions();?>
+                            <?php $iterator = 1; foreach ($options as $_option): ?>
+                                <input type="radio" name="ratings[<?php echo $_rating->getId() ?>]" id="<?php echo $this->escapeHtml($_rating->getRatingCode()) ?>_<?php echo $_option->getValue() ?>" value="<?php echo $_option->getId() ?>" class="radio" data-validate="{required:true, messages:{required:'Please select one of each of the ratings above.'}}" />
+                                <label class="rating-<?php echo $iterator; ?>" for="<?php echo $this->escapeHtml($_rating->getRatingCode()) ?>_<?php echo $_option->getValue() ?>" title="<?php echo __('%1 %2', $iterator, $iterator > 1 ? 'stars' : 'star') ?>">
+                                    <span><?php echo __('%1 %2', $iterator, $iterator > 1 ? 'stars' : 'star') ?></span>
+                                </label>
+                            <?php $iterator++; ?>
+                            <?php endforeach; ?>
+                            </div>
+                        </div>
+                    <?php endforeach; ?>
+                </div>
+                <input type="hidden" name="validate_rating" class="validate-rating" value="" />
+            </div>
+        </div>
+    <?php endif ?>
+        <div class="field nickname required">
+            <label for="nickname_field" class="label"><span><?php echo __('Nickname') ?></span></label>
+            <div class="control">
+                <input type="text" name="nickname" id="nickname_field" class="input-text" data-validate="{required:true}" value="<?php echo $this->escapeHtml($data->getNickname()) ?>" />
+            </div>
+        </div>
+        <div class="field summary required">
+            <label for="summary_field" class="label"><span><?php echo __('Summary of Your Review') ?></span></label>
+            <div class="control">
+                <input type="text" name="title" id="summary_field" class="input-text" data-validate="{required:true}" value="<?php echo $this->escapeHtml($data->getTitle()) ?>" />
+            </div>
+        </div>
+        <div class="field text required">
+            <label for="review_field" class="label"><span><?php echo __('Review') ?></span></label>
+            <div class="control">
+                <textarea name="detail" id="review_field" cols="5" rows="3" data-validate="{required:true}"><?php echo $this->escapeHtml($data->getDetail()) ?></textarea>
+            </div>
+        </div>
+    </fieldset>
+    <div class="actions form">
+        <button type="submit" class="action submit"><span><?php echo __('Submit Review') ?></span></button>
+        <!-- <button type="button" class="action cancel"><span><?php echo __('Cancel') ?></span></button> -->
+    </div>
+</form>
+<script>
+    (function($) {
+        head.js("<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>",
+            function() {
+                $('#review-form').validation({
+                    errorPlacement: function (error, element) {
+                        if (element.parents('#product-review-table').length) {
+                            $('#product-review-table').siblings(this.errorElement + '.' + this.errorClass).remove();
+                            $('#product-review-table').after(error);
+                        } else {
+                            element.after(error);
+                        }
+                    }
+                });
+            });
+    })(jQuery);
+</script>
+<?php else: ?>
+    <p class="review notlogged" id="review-form">
+        <?php echo __('Only registered users can write reviews. Please, <a href="%1">log in</a> or <a href="%2">register</a>', $this->getLoginLink(), $this->helper('Magento\Customer\Helper\Data')->getRegisterUrl()) ?>
+    </p>
+<?php endif ?>
+</div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Review/helper/summary.phtml b/app/design/frontend/magento_plushe/Magento_Review/helper/summary.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..a6ebbe0023278ea08efb16342b6c5ccc746acbec
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Review/helper/summary.phtml
@@ -0,0 +1,66 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $url = $this->getReviewsUrl(); ?>
+<?php $urlForm = $this->getReviewsUrl() . '#review-form'; ?>
+<?php //$url = $this->getProduct()->getProductUrl() . '#info-product_reviews' ?>
+<?php //$urlForm = $this->getProduct()->getProductUrl() . '#info-product_reviews' ?>
+<?php if ($this->getReviewsCount()): ?>
+<?php $rating = $this->getRatingSummary(); ?>
+<div class="product reviews summary<?php echo !$rating ? ' no-rating' :''?>">
+    <?php if ($rating):?>
+    <div class="rating" title="<?php echo $rating; ?>%">
+        <span style="width:<?php echo $rating; ?>%">
+            <?php echo $rating; ?>
+        </span>
+    </div>
+    <?php endif;?>
+    <div class="reviews actions">
+        <?php /* <a class="action view" href="#" onclick="var t = opener ? opener.window : window; t.location.href='<?php echo $this->getReviewsUrl() ?>'; return false;"> */ ?>
+        <a class="action view" href="<?php echo $url ?>"><?php echo $this->getReviewsCount() ?><span><?php echo __('Review(s)') ?></span></a>
+        <a class="action add" href="<?php echo $urlForm ?>"><?php echo __('Add Your Review') ?></a>
+    </div>
+</div>
+<?php elseif ($this->getDisplayIfEmpty()): ?>
+<div class="product reviews summary no-reviews">
+    <a class="action add" href="<?php echo $urlForm; ?>">
+        <?php echo __('Be the first to review this product') ?>
+    </a>
+</div>
+<?php endif; ?>
+<script type="text/javascript">
+    (function($) {
+        $(document).ready(function() {
+            $('.reviews.summary .action').click(function(evt){
+                if($('#product_reviews').length > 0) {
+                    evt.preventDefault();
+                    $('[data-sections]').terms({start:'product_reviews'});
+                } else {
+                    return
+                }
+            })
+        });
+    })(jQuery);
+</script>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Review/helper/summary_short.phtml b/app/design/frontend/magento_plushe/Magento_Review/helper/summary_short.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..c2c7fde574c038ffd3a1b99855dc03c589c10f26
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Review/helper/summary_short.phtml
@@ -0,0 +1,65 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $url = $this->getReviewsUrl(); ?>
+<?php $urlForm = $this->getReviewsUrl() . '#review-form'; ?>
+<?php //$url = $this->getProduct()->getProductUrl() . '#info-product_reviews' ?>
+<?php //$urlForm = $this->getProduct()->getProductUrl() . '#info-product_reviews' ?>
+<?php if ($this->getReviewsCount()): ?>
+<?php $rating = $this->getRatingSummary(); ?>
+<div class="product reviews summary short<?php echo !$rating ? ' no-rating' :''?>">
+    <?php if ($rating):?>
+    <div class="rating" title="<?php echo $rating; ?>%">
+        <span style="width:<?php echo $rating; ?>%">
+            <?php echo $rating; ?>
+        </span>
+    </div>
+    <?php endif;?>
+    <div class="reviews actions">
+        <?php /* <a class="action view" href="#" onclick="var t = opener ? opener.window : window; t.location.href='<?php echo $this->getReviewsUrl() ?>'; return false;"> */ ?>
+        <a class="action view" href="<?php echo $urlForm ?>"><?php echo $this->getReviewsCount() ?><span><?php echo __('Review(s)') ?></span></a>
+    </div>
+</div>
+<?php elseif ($this->getDisplayIfEmpty()): ?>
+<div class="product reviews summary short no-reviews">
+    <a class="action add" href="<?php echo $urlForm; ?>">
+        <?php echo __('Be the first to review this product') ?>
+    </a>
+</div>
+<?php endif; ?>
+<script type="text/javascript">
+    (function($) {
+        $(document).ready(function() {
+            $('.reviews.summary .action').click(function(evt){
+                if($('#product_reviews').length > 0) {
+                    evt.preventDefault();
+                    $('[data-sections]').terms({start:'product_reviews'});
+                } else {
+                    return
+                }
+            })
+        });
+    })(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Review/layout/catalog_product_view.xml b/app/design/frontend/magento_plushe/Magento_Review/layout/catalog_product_view.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c3e14735591c75d905ed9088c34f87314efa1a41
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Review/layout/catalog_product_view.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="product.info.details">
+        <block class="Magento\Catalog\Block\Product\View\Additional" name="product.info.reviews.tab" as="product_reviews">
+            <arguments>
+                <argument name="title" translate="true" xsi:type="string">Reviews</argument>
+            </arguments>
+            <action method="addToParentGroup">
+                <argument name="group" xsi:type="string">detailed_info</argument>
+            </action>
+            <block class="Magento\Review\Block\Form" name="product.review.form" as="review_form">
+                <container name="product.review.form.fields.before" as="form_fields_before" label="Review Form Fields Before" htmlTag="div" htmlClass="rewards"/>
+            </block>
+            <!-- <block class="Magento\Page\Block\Html\Pager" name="product_review_list.toolbar"/> -->
+            <!-- <block class="Magento\Core\Block\Template" name="product_review_list.count" template="Magento_Review::product/view/count.phtml"/> -->
+            <block class="Magento\Review\Block\Product\View\ListView" name="product.info.product_additional_data" as="product_additional_data" template="product/view/list.phtml"/>
+        </block>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Review/layout/override/customer_account_index.xml b/app/design/frontend/magento_plushe/Magento_Review/layout/override/customer_account_index.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8df4eb25e23563404d0fdc521d1a52ac85b12a81
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Review/layout/override/customer_account_index.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="my.account.wrapper">
+        <block class="Magento\Review\Block\Customer\Recent" name="customer_account_dashboard_info1" template="customer/recent.phtml" after="customer_account_dashboard_address"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Review/layout/override/review_product_view.xml b/app/design/frontend/magento_plushe/Magento_Review/layout/override/review_product_view.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5c720fb8ad51d9b2bbbb53c3f16a8397e193d047
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Review/layout/override/review_product_view.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Catalog Product Review View" type="page" parent="review_product_list">
+    <referenceBlock name="root">
+        <action method="setTemplate">
+            <argument name="template" xsi:type="string">1column.phtml</argument>
+        </action>
+    </referenceBlock>
+    <referenceContainer name="content">
+        <block class="Magento\Review\Block\View" name="review_view"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Review/layout/review_product_list.xml b/app/design/frontend/magento_plushe/Magento_Review/layout/review_product_list.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4a54296ac11757ac35620d665920738da32c4b49
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Review/layout/review_product_list.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="root">
+        <action method="setTemplate">
+            <argument name="template" xsi:type="string">blank.phtml</argument>
+        </action>
+        <block class="Magento\Review\Block\Product\View" as="content" name="product.redirect" template="redirect.phtml"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Review/layout/review_product_view.xml b/app/design/frontend/magento_plushe/Magento_Review/layout/review_product_view.xml
new file mode 100644
index 0000000000000000000000000000000000000000..58a124e9c1548c48d2f9940eb8fde0d14e697d6c
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Review/layout/review_product_view.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <update handle="page_one_column"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Review/product/view/list.phtml b/app/design/frontend/magento_plushe/Magento_Review/product/view/list.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..fc4b25f7e030e46c6e8f9e461b4f925c0e700dca
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Review/product/view/list.phtml
@@ -0,0 +1,74 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+
+<?php 
+    $_items = $this->getReviewsCollection()->getItems();
+    $format = $this->getDateFormat() ?: 'short';
+?>
+<?php if (count($_items)):?>
+<div class="block reviews list" id="customer-reviews">
+    <div class="title">
+        <strong><?php echo __('Customer Reviews') ?></strong>
+    </div>
+    <div class="content">
+    <?php echo $this->getChildHtml('toolbar') ?>
+    <ol class="reviews items">
+    <?php foreach ($_items as $_review):?>
+        <li class="item review">
+            <div class="reviews summary">
+            <?php foreach ($_review->getRatingVotes() as $_vote): ?>
+                <span class="label"><?php echo $this->escapeHtml($_vote->getRatingCode()) ?></span>
+                <div class="rating" title="<?php echo $_vote->getPercent() ?>%">
+                    <span style="width:<?php echo $_vote->getPercent() ?>%">
+                        <?php echo $_vote->getPercent() ?>
+                    </span>
+                </div>
+            <?php endforeach; ?>
+            </div>
+            <div class="review details">
+                <p class="author">
+                    <span><?php echo __('Review by')?></span>
+                    <strong class="nickname"><?php echo $this->escapeHtml($_review->getNickname()) ?></strong>
+                </p>
+                <p class="review date">
+                    <span><?php echo __('Posted on') ?></span>
+                    <time class="date"><?php echo $this->formatDate($_review->getCreatedAt(), $format) ?></time>
+                </p>
+            </div>
+            <div class="review title"><?php echo $this->escapeHtml($_review->getTitle()) ?></div>
+            <?php /*
+                <a href="<?php echo $this->getReviewUrl($_review->getId()) ?>"></a>
+                */?>
+            <div class="review content">
+                <?php echo nl2br($this->escapeHtml($_review->getDetail())) ?>
+            </div>
+        </li>
+    <?php endforeach; ?>
+    </ol>
+    <?php echo $this->getChildHtml('toolbar') ?>
+    </div>
+</div>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Review/redirect.phtml b/app/design/frontend/magento_plushe/Magento_Review/redirect.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..63372095a6e7b08f0fdf9a7c658fd281d47fdbfe
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Review/redirect.phtml
@@ -0,0 +1,32 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/*    if(isset($GET['limit'])) {
+        $limit = $GET['limit']
+    }*/
+    header("Location:{$this->getProduct()->getProductUrl()}#info-product_reviews");
+    exit;
+?>
diff --git a/app/design/frontend/magento_plushe/Magento_Review/view.phtml b/app/design/frontend/magento_plushe/Magento_Review/view.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..e75d946912aad00ab515efc592521763a6d71bda
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Review/view.phtml
@@ -0,0 +1,64 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if($this->getProductData()->getId()): ?>
+<div class="product-review">
+    <div class="page-title">
+        <h1><?php echo __('Review Details') ?></h1>
+    </div>
+    <div class="product-img-box">
+        <a href="<?php echo $this->getProductData()->getProductUrl() ?>"><img src="<?php echo $this->getBaseImageUrl($this->getProductData()); ?>" height="<?php echo $this->getBaseImageSize()?>" width="<?php echo $this->getBaseImageSize()?>" alt="<?php echo $this->escapeHtml($this->getProductData()->getName()) ?>" class="product-image" /></a>
+        <?php if( $this->getRating() && $this->getRating()->getSize()): ?>
+          <p><?php echo __('Average Customer Rating') ?>:</p>
+          <?php echo $this->getReviewsSummaryHtml($this->getProductData()) ?>
+        <?php endif; ?>
+    </div>
+    <div class="details">
+        <h3 class="product-name"><?php echo $this->escapeHtml($this->getProductData()->getName()) ?></h3>
+        <?php if( $this->getRating() && $this->getRating()->getSize()): ?>
+            <h4><?php echo __('Product Rating:') ?></h4>
+
+            <table class="data-table review-summary-table">
+            <?php foreach ($this->getRating() as $_rating): ?>
+            <?php if($_rating->getPercent()): ?>
+                <tr>
+                    <td class="label"><?php echo __($this->escapeHtml($_rating->getRatingCode())) ?></td>
+                    <td class="value">
+                        <div class="rating-box">
+                            <div class="rating" style="width:<?php echo ceil($_rating->getPercent()) ?>%;"></div>
+                        </div></td>
+                </tr>
+            <?php endif; ?>
+            <?php endforeach; ?>
+            </table>
+        <?php endif; ?>
+        <p class="date"><?php echo __('Product Review (submitted on %1):', $this->dateFormat($this->getReviewData()->getCreatedAt())) ?></p>
+        <p><?php echo nl2br($this->escapeHtml($this->getReviewData()->getDetail())) ?></p>
+    </div>
+    <div class="buttons-set">
+        <p class="back-link"><a href="<?php echo $this->getBackUrl() ?>"><small>&laquo; </small><?php echo __('Back to Product Reviews') ?></a></p>
+    </div>
+</div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/billing/agreement/view.phtml b/app/design/frontend/magento_plushe/Magento_Sales/billing/agreement/view.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..f352e60e34c244bfcb2033f8720c4a11aa1c0671
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/billing/agreement/view.phtml
@@ -0,0 +1,101 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /* @var $this \Magento\Sales\Block\Billing\Agreement\View */ ?>
+<div class="block billing agreements">
+    <div class="title">
+        <strong><?php echo __('Billing Agreement # %1', $this->escapeHtml($this->getReferenceId())) ?></strong>
+        <?php if ($this->getCanCancel()): ?>
+            <button type="button" title="<?php echo __('Cancel') ?>" class="secondary action cancel" onclick="if( confirm('<?php echo __('Are you sure you want to do this?') ?>') ) { window.location.href = '<?php echo $this->getCancelUrl() ?>'; } return false;">
+                <span><?php echo __('Cancel') ?></span>
+            </button>
+        <?php endif; ?>
+    </div>
+    <div class="content">
+        <h2 class="subtitle caption"><?php echo __('Agreement Information') ?></h2>
+        <table class="data table">
+            <thead>
+                <tr>
+                    <th class="col id"><?php echo __('Reference ID:'); ?></th>
+                    <th class="col status"><?php echo __('Status:'); ?></th>
+                    <th class="col created"><?php echo __('Created:'); ?></th>
+                    <?php if($this->getAgreementUpdatedAt()): ?>
+                        <th class="col updated"><?php echo __('Updated:'); ?></th>
+                    <?php endif; ?>
+                    <th class="col payment"><?php echo __('Payment Method:'); ?></th>
+                </tr>
+            </thead>
+            <tbody>
+                <tr>
+                    <td class="col id"><?php echo $this->escapeHtml($this->getReferenceId()); ?></td>
+                    <td class="col status"><?php echo $this->getAgreementStatus() ?></td>
+                    <td class="col created"><?php echo $this->escapeHtml($this->getAgreementCreatedAt()) ?></td>
+                    <?php if($this->getAgreementUpdatedAt()): ?>
+                        <td class="col updated"><?php echo $this->escapeHtml($this->getAgreementUpdatedAt()); ?></td>
+                    <?php endif; ?>
+                    <td class="col payment"><?php echo $this->getPaymentMethodTitle() ?></td>
+                </tr>
+            </tbody>
+        </table>
+
+        <?php $relatedOrders = $this->getRelatedOrders() ?>
+        <?php if(count($relatedOrders) > 0): ?>
+        <?php echo $this->getChildHtml('pager'); ?>
+        <h2 class="subtitle caption"><?php echo __('Related Orders') ?></h2>
+        <table class="data table" id="related-orders-table">
+            <thead>
+                <tr>
+                    <th class="col id"><?php echo __('Order #') ?></th>
+                    <th class="col date"><?php echo __('Date') ?></th>
+                    <th class="col shipto"><?php echo __('Ship To') ?></th>
+                    <th class="col total"><?php echo __('Order Total') ?></th>
+                    <th class="col status"><?php echo __('Order Status') ?></th>
+                    <th class="col actions">&nbsp;</th>
+                </tr>
+            </thead>
+            <tbody>
+            <?php foreach ($relatedOrders as $order): ?>
+                <tr>
+                    <th class="col id"><?php echo $this->getOrderItemValue($order, 'order_increment_id') ?></th>
+                    <th class="col date"><?php echo $this->getOrderItemValue($order, 'created_at') ?></th>
+                    <th class="col shipto"><?php echo $this->getOrderItemValue($order, 'shipping_address') ?></th>
+                    <th class="col total"><?php echo $this->getOrderItemValue($order, 'order_total') ?></th>
+                    <th class="col status"><?php echo $this->getOrderItemValue($order, 'status_label') ?></th>
+                    <th class="col actions">
+                        <a href="<?php echo $this->getOrderItemValue($order, 'view_url') ?>"><?php echo __('View Order') ?></a>
+                    </th>
+                </tr>
+            <?php endforeach; ?>
+            </tbody>
+        </table>
+        <?php endif; ?>
+
+        <div class="actions">
+            <div class="secondary">
+                <a href="<?php echo $this->getBackUrl() ?>" class="action back"><?php echo __('Back to Billing Agreements') ?></a>
+            </div>
+        </div>
+    </div>
+</div>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/billing/agreements.phtml b/app/design/frontend/magento_plushe/Magento_Sales/billing/agreements.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..e8d240d9002fec155a61a034a16386a1a38a08bb
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/billing/agreements.phtml
@@ -0,0 +1,91 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /* @var $this \Magento\Sales\Block\Billing\Agreements */ ?>
+<div class="block billing agreements">
+    <?php $billingAgreements = $this->getBillingAgreements(); ?>
+    <?php if (count($billingAgreements) > 0): ?>
+        <?php echo $this->getChildHtml('pager'); ?>
+        <table id="billing-agreements" class="data table billing agreements">
+            <thead>
+                <tr>
+                    <th class="col id"><?php echo __('Reference ID'); ?></th>
+                    <th class="col status"><?php echo __('Status'); ?></th>
+                    <th class="col created"><?php echo __('Created At'); ?></th>
+                    <th class="col updated"><?php echo __('Updated At'); ?></th>
+                    <th class="col payment"><?php echo __('Payment Method'); ?></th>
+                    <th class="col actions">&nbsp;</th>
+                </tr>
+            </thead>
+            <tbody>
+                <?php foreach($billingAgreements as $item): ?>
+                <tr>
+                    <td class="col id"><?php echo $this->getItemValue($item, 'reference_id') ?></td>
+                    <td class="col status"><?php echo $this->getItemValue($item, 'status') ?></td>
+                    <td class="col created"><?php echo $this->getItemValue($item, 'created_at') ?></td>
+                    <td class="col updated"><?php echo $this->getItemValue($item, 'updated_at') ?></td>
+                    <td class="col payment"><?php echo $this->getItemValue($item, 'payment_method_label') ?></td>
+                    <td class="col actions">
+                        <a href="<?php echo $this->getItemValue($item, 'edit_url') ?>"><?php echo __('View') ?></a>
+                    </td>
+                </tr>
+                <?php endforeach; ?>
+            </tbody>
+        </table>
+    <?php else: ?>
+        <p class="no agreements"><?php echo __('There are no billing agreements yet.')?></p>
+    <?php endif; ?>
+
+    <?php $paymentMethods = $this->getWizardPaymentMethodOptions() ?>
+    <?php if ($paymentMethods): ?>
+        <h2 class="subtitle caption"><?php echo __('New Billing Agreement') ?></h2>
+
+        <form action="<?php echo $this->getCreateUrl() ?>" method="post" class="form new agreement">
+            <fieldset class="fieldset">
+                <p class="note"><?php echo __('You will be redirected to the payment system website.') ?></p>
+
+                <div class="field payment method">
+                    <div class="control">
+                        <select id="payment_method" name="payment_method">
+                            <option value=""><?php echo __('-- Please Select --') ?></option>
+                            <?php foreach ($paymentMethods as $code => $title): ?>
+                                <option value="<?php echo $code ?>"><?php echo $title ?></option>
+                            <?php endforeach; ?>
+                        </select>
+                    </div>
+                </div>
+                <button type="submit" class="primary action create">
+                    <span><?php echo __('Create...') ?></span>
+                </button>
+            </fieldset>
+        </form>
+    <?php endif; ?>
+
+    <div class="actions">
+        <div class="secondary">
+            <a href="<?php echo $this->escapeHtml($this->getBackUrl()) ?>" class="action back"><span><?php echo __('Back') ?></span></a>
+        </div>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/guest/form.phtml b/app/design/frontend/magento_plushe/Magento_Sales/guest/form.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..7965d508ecfa088f5a8618ba5bc4eb6940b0a77d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/guest/form.phtml
@@ -0,0 +1,75 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<form class="form orders search" id="oar-widget-orders-and-returns-form" action="<?php echo $this->getActionUrl() ?>" method="post" class="search-form" name="guest_post">
+    <fieldset class="fieldset">
+        <legend class="legend"><span><?php echo __('Order Information') ?></span></legend><br />
+        <div class="field required">
+            <label class="label" for="oar-order-id"><span><?php echo __('Order ID') ?></span></label>
+            <div class="control">
+                <input type="text" class="input-text" id="oar-order-id" name="oar_order_id" data-validate="{required:true}"/>
+            </div>
+        </div>
+        <div class="field required">
+            <label class="label" for="oar-billing-lastname"><span><?php echo __('Billing Last Name') ?></span></label>
+            <div class="control">
+                <input type="text" class="input-text" id="oar-billing-lastname" name="oar_billing_lastname" data-validate="{required:true}"/>
+            </div>
+        </div>
+        <div class="field required">
+            <label class="label" for="quick-search-type-id"><span><?php echo __('Find Order By:') ?></span></label>
+            <div class="control">
+                <select name="oar_type" id="quick-search-type-id" class="select">
+                   <option value="email"><?php echo __('Email Address'); ?></option>
+                   <option value="zip"><?php echo __('ZIP Code'); ?></option>
+                </select>
+            </div>
+        </div>
+        <div id="oar-email" class="field required">
+            <label class="label" for="oar_email"><span><?php echo __('Email Address') ?></span></label>
+            <div class="control">
+                <input type="text" class="input-text" id="oar_email" name="oar_email" data-validate="{required:true, 'validate-email':true}"/>
+            </div>
+        </div>
+        <div id="oar-zip" class="field required">
+            <label class="label" for="oar_zip"><span><?php echo __('Billing ZIP Code') ?></span></label>
+            <div class="control">
+                <input type="text" class="input-text" id="oar_zip" name="oar_zip" data-validate="{required:true}"/>
+            </div>
+        </div>
+    </fieldset>
+    <div class="actions">
+        <button type="submit" title="<?php echo __('Continue') ?>" class="action submit"><span><?php echo __('Continue') ?></span></button>
+    </div>
+</form>
+<script type="text/javascript">
+    head.js("<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+        "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+        "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+        "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>",
+        "<?php echo $this->getViewFileUrl('Magento_Sales::orders-returns.js');?>", function() {
+            jQuery('#oar-widget-orders-and-returns-form').ordersReturns().validation();
+    });
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/layout/override/customer_account_index.xml b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/customer_account_index.xml
new file mode 100644
index 0000000000000000000000000000000000000000..20442ea314081d6d18fd0cf68120cdda61902566
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/customer_account_index.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="my.account.wrapper">
+        <block class="Magento\Sales\Block\Order\Recent" name="customer_account_dashboard_top" after="customer_account_dashboard_hello" template="order/recent.phtml"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/layout/override/default.xml b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/default.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f62b5835f3f51a894cbd7488bbb568b3a4f6291d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/default.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceContainer name="right">
+        <block class="Magento\Sales\Block\Reorder\Sidebar" name="sale.reorder.sidebar" as="reorder" template="reorder/sidebar.phtml"/>
+    </referenceContainer>
+    <referenceBlock name="footer_links">
+        <block class="Magento\Sales\Block\Guest\Link" name="sales-guest-form-link">
+            <arguments>
+                <argument name="label" xsi:type="string">Orders and Returns</argument>
+                <argument name="href" xsi:type="string">sales/guest/form</argument>
+            </arguments>
+        </block>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_guest_view.xml b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_guest_view.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0e6bfb02a39a66b01c5a99ed6523f9fc36cf6205
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_guest_view.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Guest Order View" type="page" parent="default">
+    <referenceBlock name="root">
+        <action method="setTemplate">
+            <argument name="template" xsi:type="string">1column.phtml</argument>
+        </action>
+    </referenceBlock>
+    <referenceContainer name="content">
+        <block class="Magento\Sales\Block\Order\Info" as="info" name="sales.order.info">
+            <block class="Magento\Sales\Block\Order\Info\Buttons" as="buttons" name="sales.order.info.buttons"/>
+        </block>
+        <block class="Magento\Sales\Block\Order\View" name="sales.order.view" after="sales.order.info">
+            <block class="Magento\Sales\Block\Order\Items" name="order_items" template="order/items.phtml">
+                <block class="Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer" as="default" template="order/items/renderer/default.phtml"/>
+                <block class="Magento\Sales\Block\Order\Item\Renderer\Grouped" as="grouped" template="order/items/renderer/default.phtml"/>
+                <block class="Magento\Sales\Block\Order\Totals" name="order_totals" template="order/totals.phtml">
+                    <arguments>
+                        <argument name="label_properties" xsi:type="string">colspan="4" class="mark"</argument>
+                        <argument name="value_properties" xsi:type="string">class="amount"</argument>
+                    </arguments>
+                    <block class="Magento\Tax\Block\Sales\Order\Tax" name="tax" template="order/tax.phtml"/>
+                </block>
+            </block>
+        </block>
+    </referenceContainer>
+    <update handle="sales_order_info_links"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_creditmemo.xml b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_creditmemo.xml
new file mode 100644
index 0000000000000000000000000000000000000000..194a0cd24349ad45b2f4a4053e01d2b54f4c8d17
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_creditmemo.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Customer My Account Order Creditmemo View" type="page" parent="sales_order_view">
+    <update handle="customer_account"/>
+    <referenceBlock name="my.account.wrapper">
+        <block class="Magento\Sales\Block\Order\Info" as="info" name="sales.order.info">
+            <block class="Magento\Sales\Block\Order\Info\Buttons" as="buttons" name="sales.order.info.buttons"/>
+        </block>
+        <block class="Magento\Sales\Block\Order\Creditmemo" name="sales.order.creditmemo" after="sales.order.info">
+            <block class="Magento\Sales\Block\Order\Creditmemo\Items" name="creditmemo_items" template="order/creditmemo/items.phtml">
+                <block class="Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer" as="default" template="order/creditmemo/items/renderer/default.phtml"/>
+                <block class="Magento\Sales\Block\Order\Item\Renderer\Grouped" as="grouped" template="order/creditmemo/items/renderer/default.phtml"/>
+                <block class="Magento\Sales\Block\Order\Creditmemo\Totals" name="creditmemo_totals" template="order/totals.phtml">
+                    <arguments>
+                        <argument name="label_properties" xsi:type="string">colspan="6" class="mark"</argument>
+                        <argument name="value_properties" xsi:type="string">class="amount"</argument>
+                    </arguments>
+                    <block class="Magento\Tax\Block\Sales\Order\Tax" name="tax" template="order/tax.phtml"/>
+                </block>
+                <block class="Magento\Sales\Block\Order\Comments" name="creditmemo_comments" template="order/comments.phtml"/>
+            </block>
+        </block>
+    </referenceBlock>
+    <update handle="sales_order_info_links"/>
+    <container name="additional.product.info" label="Additional Product Info"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_info_links.xml b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_info_links.xml
new file mode 100644
index 0000000000000000000000000000000000000000..20aa47ee1d77b29d5a16b291c700336400785e93
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_info_links.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <referenceBlock name="sales.order.info">
+        <block class="Magento\Page\Block\Links" as="links" name="sales.order.info.links">
+            <arguments>
+                <argument name="css_class" xsi:type="string">items</argument>
+            </arguments>
+            <block class="Magento\Sales\Block\Order\Link" name="sales.order.info.links.billing-agreements">
+                <arguments>
+                    <argument name="path" xsi:type="string">sales/order/view</argument>
+                    <argument name="label" xsi:type="string">Order Information</argument>
+                </arguments>
+            </block>
+            <block class="Magento\Sales\Block\Order\Link" name="sales.order.info.links.invoice">
+                <arguments>
+                    <argument name="key" xsi:type="string">Invoices</argument>
+                    <argument name="path" xsi:type="string">sales/order/invoice</argument>
+                    <argument name="label" xsi:type="string">Invoices</argument>
+                </arguments>
+            </block>
+            <block class="Magento\Sales\Block\Order\Link" name="sales.order.info.links.shipment">
+                <arguments>
+                    <argument name="key" xsi:type="string">Shipments</argument>
+                    <argument name="path" xsi:type="string">sales/order/shipment</argument>
+                    <argument name="label" xsi:type="string">Order Shipments</argument>
+                </arguments>
+            </block>
+            <block class="Magento\Sales\Block\Order\Link" name="sales.order.info.links.creditmemo">
+                <arguments>
+                    <argument name="key" xsi:type="string">Creditmemos</argument>
+                    <argument name="path" xsi:type="string">sales/order/creditmemo</argument>
+                    <argument name="label" xsi:type="string">Refunds</argument>
+                </arguments>
+            </block>
+        </block>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_invoice.xml b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_invoice.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f40d14e2ee57637ff079b88ebc93a215320dcd61
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_invoice.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Customer My Account Order Invoice View" type="page" parent="sales_order_view">
+    <update handle="customer_account"/>
+    <referenceBlock name="my.account.wrapper">
+        <block class="Magento\Sales\Block\Order\Info" as="info" name="sales.order.info">
+            <block class="Magento\Sales\Block\Order\Info\Buttons" as="buttons" name="sales.order.info.buttons"/>
+        </block>
+        <block class="Magento\Sales\Block\Order\Invoice" name="sales.order.invoice" after="sales.order.info">
+            <block class="Magento\Sales\Block\Order\Invoice\Items" name="invoice_items" template="order/invoice/items.phtml">
+                <block class="Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer" as="default" template="order/invoice/items/renderer/default.phtml"/>
+                <block class="Magento\Sales\Block\Order\Item\Renderer\Grouped" as="grouped" template="order/invoice/items/renderer/default.phtml"/>
+                <block class="Magento\Sales\Block\Order\Invoice\Totals" name="invoice_totals" template="order/totals.phtml">
+                    <arguments>
+                        <argument name="label_properties" xsi:type="string">colspan="4" class="mark"</argument>
+                        <argument name="value_properties" xsi:type="string">class="amount"</argument>
+                    </arguments>
+                    <block class="Magento\Tax\Block\Sales\Order\Tax" name="tax" template="order/tax.phtml"/>
+                </block>
+                <block class="Magento\Sales\Block\Order\Comments" name="invoice_comments" template="order/comments.phtml"/>
+            </block>
+        </block>
+    </referenceBlock>
+    <update handle="sales_order_info_links"/>
+    <container name="additional.product.info" label="Additional Product Info"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_printorder.xml b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_printorder.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7f7eff98c8de8da24daad17969f2c9d8343f600f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_printorder.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Sales Order Print View" type="page" parent="print">
+    <referenceContainer name="content">
+        <block class="Magento\Sales\Block\Order\PrintShipment" name="sales.order.print" template="order/print.phtml">
+            <block class="Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer" as="default" template="order/items/renderer/default.phtml"/>
+            <block class="Magento\Sales\Block\Order\Item\Renderer\Grouped" as="grouped" template="order/items/renderer/default.phtml"/>
+            <block class="Magento\Sales\Block\Order\Totals" name="order_totals" template="order/totals.phtml">
+                <arguments>
+                    <argument name="label_properties" xsi:type="string">colspan="4" class="mark"</argument>
+                    <argument name="value_properties" xsi:type="string">class="amount"</argument>
+                </arguments>
+                <block class="Magento\Tax\Block\Sales\Order\Tax" name="tax" template="order/tax.phtml">
+                    <arguments>
+                        <argument name="is_plane_mode" xsi:type="string">1</argument>
+                    </arguments>
+                </block>
+            </block>
+        </block>
+    </referenceContainer>
+    <container name="additional.product.info" label="Additional Product Info"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_printordercreditmemo.xml b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_printordercreditmemo.xml
new file mode 100644
index 0000000000000000000000000000000000000000..71bc0ee17dfacb0b2e3e6b65e2f218fb5e1745d3
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_printordercreditmemo.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Sales Creditmemo Print View" type="page" parent="sales_order_print">
+    <referenceContainer name="content">
+        <block class="Magento\Sales\Block\Order\PrintOrder\Creditmemo" name="sales.order.print.creditmemo" template="order/print/creditmemo.phtml">
+            <block class="Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer" as="default" template="order/creditmemo/items/renderer/default.phtml"/>
+            <block class="Magento\Sales\Block\Order\Item\Renderer\Grouped" as="grouped" template="order/creditmemo/items/renderer/default.phtml"/>
+            <block class="Magento\Sales\Block\Order\Creditmemo\Totals" name="creditmemo_totals" template="order/totals.phtml">
+                <arguments>
+                    <argument name="label_properties" xsi:type="string">colspan="6" class="mark"</argument>
+                    <argument name="value_properties" xsi:type="string">class="amount"</argument>
+                </arguments>
+                <block class="Magento\Tax\Block\Sales\Order\Tax" name="tax" template="order/tax.phtml"/>
+            </block>
+        </block>
+    </referenceContainer>
+    <container name="additional.product.info" label="Additional Product Info"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_printorderinvoice.xml b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_printorderinvoice.xml
new file mode 100644
index 0000000000000000000000000000000000000000..cca9e34aee1d877153cb1a871d41c535ec163139
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_printorderinvoice.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Sales Invoice Print View" type="page" parent="sales_order_print">
+    <referenceContainer name="content">
+        <block class="Magento\Sales\Block\Order\PrintOrder\Invoice" name="sales.order.print.invoice" template="order/print/invoice.phtml">
+            <block class="Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer" as="default" template="order/invoice/items/renderer/default.phtml"/>
+            <block class="Magento\Sales\Block\Order\Item\Renderer\Grouped" as="grouped" template="order/invoice/items/renderer/default.phtml"/>
+            <block class="Magento\Sales\Block\Order\Invoice\Totals" name="invoice_totals" template="order/totals.phtml">
+                <arguments>
+                    <argument name="label_properties" xsi:type="string">colspan="4" class="mark"</argument>
+                    <argument name="value_properties" xsi:type="string">class="amount"</argument>
+                </arguments>
+                <block class="Magento\Tax\Block\Sales\Order\Tax" name="tax" template="order/tax.phtml"/>
+            </block>
+        </block>
+    </referenceContainer>
+    <container name="additional.product.info" label="Additional Product Info"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_view.xml b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_view.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8ea32e55ea71517159aec9273296a510549c25f4
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/layout/override/sales_order_view.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Customer My Account Order View" type="page" parent="default">
+    <update handle="customer_account"/>
+    <referenceBlock name="my.account.wrapper">
+        <block class="Magento\Sales\Block\Order\Info" as="info" name="sales.order.info">
+            <block class="Magento\Sales\Block\Order\Info\Buttons" as="buttons" name="sales.order.info.buttons"/>
+        </block>
+        <block class="Magento\Sales\Block\Order\View" name="sales.order.view" after="sales.order.info">
+            <block class="Magento\Sales\Block\Order\Items" name="order_items" template="order/items.phtml">
+                <block class="Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer" as="default" template="order/items/renderer/default.phtml"/>
+                <block class="Magento\Sales\Block\Order\Item\Renderer\Grouped" as="grouped" template="order/items/renderer/default.phtml"/>
+                <block class="Magento\Sales\Block\Order\Totals" name="order_totals" template="order/totals.phtml">
+                    <arguments>
+                        <argument name="label_properties" xsi:type="string">colspan="4" class="mark"</argument>
+                        <argument name="value_properties" xsi:type="string">class="amount"</argument>
+                    </arguments>
+                    <block class="Magento\Tax\Block\Sales\Order\Tax" name="tax" template="order/tax.phtml"/>
+                </block>
+            </block>
+        </block>
+    </referenceBlock>
+    <update handle="sales_order_info_links"/>
+    <container name="additional.product.info" label="Additional Product Info"/>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/comments.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/comments.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..bd9d1a61b540f638c2ac9a20cd3057d9f172e826
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/comments.phtml
@@ -0,0 +1,42 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * @var $this \Magento\Sales\Block\Order\Comments
+ * @see \Magento\Sales\Block\Order\Comments
+ */
+?>
+<?php if ($this->hasComments()):?>
+    <div class="order additional details comments">
+        <h3 class="subtitle"><?php echo $this->getTitle() ?></h3>
+        <dl class="order comments">
+            <?php foreach ($this->getComments() as $_commentItem): ?>
+                <dt class="comment date"><?php echo $this->formatDate($_commentItem->getCreatedAtStoreDate(), 'medium', true) ?></dt>
+                <dd class="comment text"><?php echo $this->escapeHtml($_commentItem->getComment()) ?></dd>
+            <?php endforeach; ?>
+        </dl>
+    </div>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/creditmemo.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/creditmemo.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..247b9c523661efac78de7b061e94ab4756a54295
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/creditmemo.phtml
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="order details items creditmemo">
+    <?php echo $this->getChildHtml('creditmemo_items') ?>
+    <div class="actions">
+        <div class="secondary">
+            <a href="<?php echo $this->getBackUrl() ?>" class="action back">
+                <span><?php echo $this->getBackTitle() ?></span>
+            </a>
+        </div>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/creditmemo/items.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/creditmemo/items.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..5c3d8d85590371d2c9b64fb24c68579572cdcae4
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/creditmemo/items.phtml
@@ -0,0 +1,72 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_order = $this->getOrder() ?>
+<div class="order toolbar">
+    <div class="actions">
+        <a href="<?php echo $this->getPrintAllCreditmemosUrl($_order) ?>"
+           onclick="this.target='_blank'"
+           class="action print">
+            <span><?php echo __('Print All Refunds') ?></span>
+        </a>
+    </div>
+</div>
+<?php foreach ($_order->getCreditmemosCollection() as $_creditmemo): ?>
+<div class="order title">
+    <strong><?php echo __('Refund #') ?><?php echo $_creditmemo->getIncrementId(); ?> </strong>
+    <a href="<?php echo $this->getPrintCreditmemoUrl($_creditmemo) ?>"
+       onclick="this.target='_blank'"
+       class="action print">
+        <span><?php echo __('Print Refund') ?></span>
+    </a>
+</div>
+
+<div class="order subtitle caption"><strong><?php echo __('Items Refunded') ?></strong></div>
+<table class="data table order items creditmemo" id="my-refund-table-<?php echo $_creditmemo->getId(); ?>">
+    <thead>
+        <tr>
+            <th class="col name"><?php echo __('Product Name') ?></th>
+            <th class="col sku"><?php echo __('SKU') ?></th>
+            <th class="col price"><?php echo __('Price') ?></th>
+            <th class="col qty"><?php echo __('Qty') ?></th>
+            <th class="col subtotal"><?php echo __('Subtotal') ?></th>
+            <th class="col discount"><?php echo __('Discount Amount') ?></th>
+            <th class="col total"><?php echo __('Row Total') ?></th>
+        </tr>
+    </thead>
+    <tfoot>
+       <?php echo $this->getTotalsHtml($_creditmemo);?>
+    </tfoot>
+    <?php $_items = $_creditmemo->getAllItems(); ?>
+    <?php $_count = count($_items) ?>
+    <?php foreach ($_items as $_item): ?>
+    <?php if ($_item->getOrderItem()->getParentItem()) continue; ?>
+    <tbody>
+        <?php echo $this->getItemHtml($_item) ?>
+    </tbody>
+    <?php endforeach; ?>
+</table>
+<?php echo $this->getCommentsHtml($_creditmemo)?>
+<?php endforeach; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/creditmemo/items/renderer/default.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/creditmemo/items/renderer/default.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..65f32a6e195ca1fc644471a839db811d149cd526
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/creditmemo/items/renderer/default.phtml
@@ -0,0 +1,315 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_item = $this->getItem() ?>
+<?php $_order = $this->getItem()->getOrderItem()->getOrder() ?>
+<tr class="border" id="order-item-row-<?php echo $_item->getId() ?>">
+    <td class="col name">
+        <strong class="product name"><?php echo $this->escapeHtml($_item->getName()) ?></strong>
+        <?php if($_options = $this->getItemOptions()): ?>
+        <dl class="item options">
+        <?php foreach ($_options as $_option) : ?>
+            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+            <?php if (!$this->getPrintStatus()): ?>
+                <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+                <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>><?php echo $_formatedOptionValue['value'] ?>
+                    <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                    <div class="truncated_full_value">
+                        <dl class="item options">
+                            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                            <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                        </dl>
+                    </div>
+                    <?php endif; ?>
+                </dd>
+            <?php else: ?>
+                <dd><?php echo $this->escapeHtml( (isset($_option['print_value']) ? $_option['print_value'] : $_option['value']) ) ?></dd>
+            <?php endif; ?>
+        <?php endforeach; ?>
+        </dl>
+        <?php endif; ?>
+
+        <!-- downloadable -->
+        <?php if ($links = $this->getLinks()): ?>
+            <dl class="item options">
+                <dt><?php echo $this->getLinksTitle() ?></dt>
+                <?php foreach ($links->getPurchasedItems() as $link): ?>
+                    <dd><?php echo $this->escapeHtml($link->getLinkTitle()); ?></dd>
+                <?php endforeach; ?>
+            </dl>
+        <?php endif; ?>
+        <!-- EOF downloadable -->
+
+        <?php $addInfoBlock = $this->getProductAdditionalInformationBlock(); ?>
+        <?php if ($addInfoBlock) :?>
+            <?php echo $addInfoBlock->setItem($_item->getOrderItem())->toHtml(); ?>
+        <?php endif; ?>
+        <?php echo $this->escapeHtml($_item->getDescription()) ?>
+        <?php if ($this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $_item->getOrderItem()) && $_item->getGiftMessageId()): ?>
+            <a href="#" id="order-item-gift-message-link-<?php echo $_item->getId() ?>" class="gift-message-link" aria-controls="order-item-gift-message-<?php echo $_item->getId()?>" data-item-id="<?php echo $_item->getId()?>"><?php echo __('Gift Message') ?></a>
+        <?php endif; ?>
+    </td>
+    <td  class="col sku"><?php echo $this->escapeHtml($this->helper('Magento\Core\Helper\String')->splitInjection($this->getSku())) ?></td>
+    <td class="col price">
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxDisposition()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="unit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+        <?php endif; ?>
+    </td>
+    <td class="col qty"><?php echo $_item->getQty()*1 ?></td>
+    <td class="col subtotal">
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxRowDisposition()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+
+
+
+            </span>
+        <?php endif; ?>
+    </td>
+    <td class="col discount"><?php echo $_order->formatPrice(-$_item->getDiscountAmount()) ?></td>
+    <td class="cot total">
+        <?php echo $_order->formatPrice($_item->getRowTotal()-$_item->getDiscountAmount()+$_item->getTaxAmount()+$_item->getWeeeTaxAppliedRowAmount()) ?>
+    </td>
+</tr>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/history.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/history.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..e5bc8f2590c8f31b81e92a2ef99223c4041c53ca
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/history.phtml
@@ -0,0 +1,66 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_orders = $this->getOrders(); ?>
+<?php echo $this->getChildHtml('info');?>
+<div class="order toolbar"><?php echo $this->getPagerHtml(); ?></div>
+<?php if($_orders->getSize()): ?>
+<table class="data table orders history" id="my-orders-table">
+    <thead>
+        <tr>
+            <th class="col id"><?php echo __('Order #') ?></th>
+            <th class="col date"><?php echo __('Date') ?></th>
+            <th class="col shipping"><?php echo __('Ship To') ?></th>
+            <th class="col total"><?php echo __('Order Total') ?></th>
+            <th class="col status"><?php echo __('Status') ?></th>
+            <th class="col actions">&nbsp;</th>
+        </tr>
+    </thead>
+    <tbody>
+        <?php foreach ($_orders as $_order): ?>
+            <tr>
+                <td class="col id"><?php echo $_order->getRealOrderId() ?></td>
+                <td class="col date"><?php echo $this->formatDate($_order->getCreatedAtStoreDate()) ?></td>
+                <td class="col shipping"><?php echo $_order->getShippingAddress() ? $this->escapeHtml($_order->getShippingAddress()->getName()) : '&nbsp;' ?></td>
+                <td class="col total"><?php echo $_order->formatPrice($_order->getGrandTotal()) ?></td>
+                <td class="col status"><em><?php echo $_order->getStatusLabel() ?></em></td>
+                <td class="col actions">
+                    <a href="<?php echo $this->getViewUrl($_order) ?>" class="action view">
+                        <span><?php echo __('View Order') ?></span>
+                    </a>
+                    <?php if ($this->helper('Magento\Sales\Helper\Reorder')->canReorder($_order)) : ?>
+                        <a href="<?php echo $this->getReorderUrl($_order) ?>" class="action order">
+                            <span><?php echo __('Reorder') ?></span>
+                        </a>
+                    <?php endif ?>
+                </td>
+            </tr>
+        <?php endforeach; ?>
+    </tbody>
+</table>
+<div class="order toolbar bottom"><?php echo $this->getPagerHtml(); ?></div>
+<?php else: ?>
+    <p><?php echo __('You have placed no orders.'); ?></p>
+<?php endif ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/info.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/info.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..d549180709588a4e5bbf570de830c51a9d071a59
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/info.phtml
@@ -0,0 +1,77 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /** @var $this \Magento\Sales\Block\Order\Info */ ?>
+<?php $_order = $this->getOrder() ?>
+<div class="order details view">
+    <strong class="order status"><?php echo $_order->getStatusLabel() ?></strong>
+    <div class="order toolbar">
+        <?php echo $this->getChildHtml('buttons') ?>
+        <?php echo $this->getStatusHistoryRssUrl($_order) ?>
+    </div>
+    <dl class="order info">
+        <dt><?php echo __('About This Order:') ?></dt>
+        <dd>
+            <?php echo $this->getChildHtml('links') ?>
+        </dd>
+    </dl>
+    <p class="order date"><?php echo __('<span class="label">Order Date:</span> %1', '<date>' . $this->formatDate($_order->getCreatedAtStoreDate(), 'long') . '</date>' ) ?></p>
+<?php if (!$_order->getIsVirtual()): ?>
+    <div class="block order shipping address">
+        <div class="title"><strong><?php echo __('Shipping Address') ?></strong></div>
+        <div class="content">
+            <address><?php echo $_order->getShippingAddress()->format('html') ?></address>
+        </div>
+    </div>
+
+    <div class="block order shipping method">
+        <div class="title"><strong><?php echo __('Shipping Method') ?></strong></div>
+        <div class="content">
+        <?php if ($_order->getShippingDescription()): ?>
+            <?php echo $this->escapeHtml($_order->getShippingDescription()) ?>
+        <?php else: ?>
+            <?php echo __('No shipping information available'); ?>
+        <?php endif; ?>
+        </div>
+    </div>
+
+<?php endif; ?>
+    <div class="block order billing address">
+        <div class="title">
+            <strong><?php echo __('Billing Address') ?></strong>
+        </div>
+        <div class="content">
+            <address><?php echo $_order->getBillingAddress()->format('html') ?></address>
+        </div>
+    </div>
+    <div class="block order billing method">
+        <div class="title">
+            <strong><?php echo __('Payment Method') ?></strong>
+        </div>
+        <div class="content">
+            <?php echo $this->getPaymentInfoHtml() ?>
+        </div>
+    </div>
+</div>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/info/buttons.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/info/buttons.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..345c5e7357760d2ca1d728f6ed50833bb1ecba16
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/info/buttons.phtml
@@ -0,0 +1,45 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="actions">
+    <?php  $_order = $this->getOrder() ?>
+    <?php if ($this->helper('Magento\Sales\Helper\Reorder')->canReorder($_order)) : ?>
+        <a class="action reorder" href="<?php echo $this->getReorderUrl($_order) ?>">
+            <span><?php echo __('Reorder') ?></span>
+        </a>
+    <?php endif ?>
+    <a class="action print"
+       href="<?php echo $this->getPrintUrl($_order) ?>"
+       onclick="this.target='_blank';">
+        <span><?php echo __('Print Order') ?></span>
+    </a>
+    <?php if($this->helper('Magento\Rss\Helper\Order')->isStatusNotificationAllow()): ?>
+        <a href="<?php echo $this->helper('Magento\Rss\Helper\Order')->getStatusHistoryRssUrl($_order) ?>"
+           class="action rss">
+            <span><?php echo __('Subscribe to Order Status') ?></span>
+        </a>
+    <?php endif; ?>
+    <?php echo $this->getChildHtml(); ?>
+</div>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/invoice.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/invoice.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..fff36854de19a5162696f4c6791e14db2d782318
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/invoice.phtml
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="order details items invoice">
+    <?php echo $this->getChildHtml('invoice_items') ?>
+    <div class="actions">
+        <div class="secondary">
+            <a href="<?php echo $this->getBackUrl() ?>" class="action back">
+                <span><?php echo $this->getBackTitle() ?></span>
+            </a>
+        </div>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/invoice/items.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/invoice/items.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..b9be6d9379d45222cfd2bce13c4578b6f5dd5d81
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/invoice/items.phtml
@@ -0,0 +1,69 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_order = $this->getOrder() ?>
+<div class="order toolbar">
+    <div class="actions">
+        <a href="<?php echo $this->getPrintAllInvoicesUrl($_order) ?>"
+           target="_blank"
+           class="action print">
+            <span><?php echo __('Print All Invoices') ?></span>
+        </a>
+    </div>
+</div>
+<?php foreach ($_order->getInvoiceCollection() as $_invoice): ?>
+<div class="order title">
+    <strong><?php echo __('Invoice #') ?><?php echo $_invoice->getIncrementId(); ?></strong>
+    <a href="<?php echo $this->getPrintInvoiceUrl($_invoice) ?>"
+       onclick="this.target='_blank'"
+       class="action print">
+        <span><?php echo __('Print Invoice') ?></span>
+    </a>
+</div>
+<div class="order subtitle caption"><strong><?php echo __('Items Invoiced') ?></strong></div>
+<table class="data table order items invoice" id="my-invoice-table-<?php echo $_invoice->getId(); ?>">
+    <thead>
+        <tr>
+            <th class="col name"><?php echo __('Product Name') ?></th>
+            <th class="col sku"><?php echo __('SKU') ?></th>
+            <th class="col price"><?php echo __('Price') ?></th>
+            <th class="col qty"><?php echo __('Qty Invoiced') ?></th>
+            <th class="col subtotal"><?php echo __('Subtotal') ?></th>
+        </tr>
+    </thead>
+    <tfoot>
+        <?php echo $this->getInvoiceTotalsHtml($_invoice)?>
+    </tfoot>
+    <?php $_items = $_invoice->getAllItems(); ?>
+    <?php $_count = count($_items) ?>
+    <?php foreach ($_items as $_item): ?>
+    <?php if ($_item->getOrderItem()->getParentItem()) continue; ?>
+    <tbody>
+        <?php echo $this->getItemHtml($_item) ?>
+    </tbody>
+    <?php endforeach; ?>
+</table>
+<?php echo $this->getInvoiceCommentsHtml($_invoice)?>
+<?php endforeach; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/invoice/items/renderer/default.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/invoice/items/renderer/default.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..2cfb7fdce178578e4a1d3dfa2ae9175c18d7b821
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/invoice/items/renderer/default.phtml
@@ -0,0 +1,295 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_item = $this->getItem() ?>
+<?php $_order = $this->getItem()->getOrderItem()->getOrder() ?>
+<tr id="order-item-row-<?php echo $_item->getId() ?>">
+    <td class="col name">
+        <strong class="product name"><?php echo $this->escapeHtml($_item->getName()) ?></strong>
+        <?php if($_options = $this->getItemOptions()): ?>
+        <dl class="item options">
+        <?php foreach ($_options as $_option) : ?>
+            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+            <?php if (!$this->getPrintStatus()): ?>
+                <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+                <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>>
+                    <?php echo $_formatedOptionValue['value'] ?>
+                    <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                    <div class="truncated_full_value">
+                        <dl class="item options">
+                            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                            <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                        </dl>
+                    </div>
+                    <?php endif; ?>
+                </dd>
+            <?php else: ?>
+                <dd><?php echo $this->escapeHtml( (isset($_option['print_value']) ? $_option['print_value'] : $_option['value']) ) ?></dd>
+            <?php endif; ?>
+        <?php endforeach; ?>
+        </dl>
+        <?php endif; ?>
+        <?php $addInfoBlock = $this->getProductAdditionalInformationBlock(); ?>
+        <?php if ($addInfoBlock) :?>
+            <?php echo $addInfoBlock->setItem($_item->getOrderItem())->toHtml(); ?>
+        <?php endif; ?>
+        <?php echo $this->escapeHtml($_item->getDescription()) ?>
+        <?php if ($this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $_item->getOrderItem()) && $_item->getGiftMessageId()): ?>
+            <a href="#" id="order-item-gift-message-link-<?php echo $_item->getId() ?>" class="gift-message-link" aria-controls="order-item-gift-message-<?php echo $_item->getId()?>" data-item-id="<?php echo $_item->getId()?>"><?php echo __('Gift Message') ?></a>
+        <?php endif; ?>
+    </td>
+    <td class="col sku"><?php echo $this->escapeHtml($this->helper('Magento\Core\Helper\String')->splitInjection($this->getSku())) ?></td>
+    <td class="col price">
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxDisposition()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="unit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+        <?php endif; ?>
+    </td>
+    <td class="col qty">
+        <span class="qty summary"><?php echo $_item->getQty()*1 ?></span>
+    </td>
+    <td class="col subtotal">
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxRowDisposition()) ?>
+                    <?php endif; ?>
+
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+
+            </span>
+        <?php endif; ?>
+    </td>
+</tr>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/items.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/items.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..0ab62e2dc0779e477663533fd9f582a8e2258e8a
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/items.phtml
@@ -0,0 +1,79 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_order = $this->getOrder() ?>
+<?php $_giftMessage; ?>
+<table class="data table order items" id="my-orders-table" summary="<?php echo __('Items Ordered') ?>">
+    <thead>
+        <tr>
+            <th class="col name"><?php echo __('Product Name') ?></th>
+            <th class="col sku"><?php echo __('SKU') ?></th>
+            <th class="col price"><?php echo __('Price') ?></th>
+            <th class="col qty"><?php echo __('Qty') ?></th>
+            <th class="col subtotal"><?php echo __('Subtotal') ?></th>
+        </tr>
+    </thead>
+    <tfoot>
+        <?php echo $this->getChildHtml('order_totals') ?>
+    </tfoot>
+        <?php $_items = $_order->getItemsCollection(); ?>
+        <?php $_index = 0; ?>
+        <?php $_count = $_items->count(); ?>
+        <?php $_giftMessage = ''?>
+        <?php foreach ($_items as $_item): ?>
+        <?php if ($_item->getParentItem()) continue; ?>
+        <tbody>
+            <?php echo $this->getItemHtml($_item) ?>
+            <?php if ($this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $_item) && $_item->getGiftMessageId()): ?>
+            <tr id="order-item-gift-message-<?php echo $_item->getId() ?>" role="region" aria-expanded="false" tabindex="-1" style="display:none;">
+                <?php $_giftMessage = $this->helper('Magento\GiftMessage\Helper\Message')->getGiftMessageForEntity($_item); ?>
+                <td class="col message" colspan="7">
+                    <div class="gift message details">
+                        <a href="#"
+                           title="<?php echo __('Close') ?>"
+                           aria-controls="order-item-gift-message-<?php echo $_item->getId()?>"
+                           data-item-id="<?php echo $_item->getId()?>"
+                           class="action close">
+                            <?php echo __('Close') ?>
+                        </a>
+                        <dl class="gift message">
+                            <dt class="gift sender"><strong class="label"><?php echo __('From:') ?></strong> <?php echo $this->escapeHtml($_giftMessage->getSender()) ?></dt>
+                            <dt class="gift recipient"><strong class="label"><?php echo __('To:') ?></strong> <?php echo $this->escapeHtml($_giftMessage->getRecipient()) ?></dt>
+                            <dd class="message text"><?php echo $this->helper('Magento\GiftMessage\Helper\Message')->getEscapedGiftMessage($_item) ?></dd>
+                        </dl>
+                    </div>
+                </td>
+            </tr>
+            <?php endif ?>
+        </tbody>
+        <?php endforeach; ?>
+</table>
+<?php if ($_giftMessage): ?>
+    <script type="text/javascript">
+        head.js("<?php echo $this->getViewFileUrl('Magento_Sales::gift-message.js')?>", function() {
+            jQuery('a.action.show').add('a.action.close').giftMessage();
+        });
+    </script>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/items/renderer/default.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/items/renderer/default.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..f0c35ef35a63297d52dc96b313fc88ae032acb23
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/items/renderer/default.phtml
@@ -0,0 +1,317 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_item = $this->getItem() ?>
+<tr id="order-item-row-<?php echo $_item->getId() ?>">
+    <td class="col name">
+        <strong class="product name"><?php echo $this->escapeHtml($_item->getName()) ?></strong>
+        <?php if($_options = $this->getItemOptions()): ?>
+        <dl class="item options">
+        <?php foreach ($_options as $_option) : ?>
+            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+            <?php if (!$this->getPrintStatus()): ?>
+                <?php $_formatedOptionValue = $this->getFormatedOptionValue($_option) ?>
+                <dd<?php if (isset($_formatedOptionValue['full_view'])): ?> class="truncated" data-mage-init="{truncateOptions:[]}"<?php endif; ?>>
+                    <?php echo $_formatedOptionValue['value'] ?>
+                    <?php if (isset($_formatedOptionValue['full_view'])): ?>
+                    <div class="truncated_full_value">
+                        <dl class="item options">
+                            <dt><?php echo $this->escapeHtml($_option['label']) ?></dt>
+                            <dd><?php echo $_formatedOptionValue['full_view'] ?></dd>
+                        </dl>
+                    </div>
+                    <?php endif; ?>
+                </dd>
+            <?php else: ?>
+                <dd>
+                    <?php echo nl2br($this->escapeHtml( (isset($_option['print_value']) ? $_option['print_value'] : $_option['value']) )) ?>
+                </dd>
+            <?php endif; ?>
+        <?php endforeach; ?>
+        </dl>
+        <?php endif; ?>
+        <?php $addtInfoBlock = $this->getProductAdditionalInformationBlock(); ?>
+        <?php if ($addtInfoBlock) :?>
+            <?php echo $addtInfoBlock->setItem($_item)->toHtml(); ?>
+        <?php endif; ?>
+        <?php echo $this->escapeHtml($_item->getDescription()) ?>
+        <?php if ($this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order_item', $_item) && $_item->getGiftMessageId()): ?>
+            <a href="#"
+               id="order-item-gift-message-link-<?php echo $_item->getId() ?>"
+               class="action show"
+               aria-controls="order-item-gift-message-<?php echo $_item->getId()?>"
+               data-item-id="<?php echo $_item->getId()?>">
+                <?php echo __('Gift Message') ?>
+            </a>
+        <?php endif; ?>
+    </td>
+    <td class="col sku"><?php echo $this->escapeHtml($this->helper('Magento\Core\Helper\String')->splitInjection($this->getSku())) ?></td>
+    <td class="col price">
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()) ?>
+                    <?php endif; ?>
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#eunit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getPrice()+$this->getItem()->getWeeeTaxAppliedAmount()+$this->getItem()->getWeeeTaxDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getPriceInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxDisposition()) ?>
+                    <?php endif; ?>
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="unit-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#unit-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+        <?php endif; ?>
+    </td>
+    <td class="col qty">
+        <span class="qty summary">
+                <?php if ($this->getItem()->getQtyOrdered() > 0): ?>
+            <?php echo __('Ordered'); ?>: <strong><?php echo $this->getItem()->getQtyOrdered()*1 ?></strong><br />
+        <?php endif; ?>
+        <?php if ($this->getItem()->getQtyShipped() > 0): ?>
+            <?php echo __('Shipped'); ?>: <strong><?php echo $this->getItem()->getQtyShipped()*1 ?></strong><br />
+        <?php endif; ?>
+        <?php if ($this->getItem()->getQtyCanceled() > 0): ?>
+            <?php echo __('Canceled'); ?>: <strong><?php echo $this->getItem()->getQtyCanceled()*1 ?></strong><br />
+        <?php endif; ?>
+        <?php if ($this->getItem()->getQtyRefunded() > 0): ?>
+            <?php echo __('Refunded'); ?>: <strong><?php echo $this->getItem()->getQtyRefunded()*1 ?></strong><br />
+        <?php endif; ?>
+        </span>
+    </td>
+    <td class="col subtotal">
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+            <span class="price-excl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Excl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()) ?>
+                    <?php endif; ?>
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#esubtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()+$this->getItem()->getWeeeTaxAppliedRowAmount()+$this->getItem()->getWeeeTaxRowDisposition()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+            </span>
+            <br />
+        <?php endif; ?>
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+            <span class="price-incl-tax">
+                <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices()): ?>
+                   <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-price">
+                    <?php endif; ?>
+                        <span class="label"><?php echo __('Incl. Tax'); ?>:</span>
+                    <?php if (!$this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+                <?php $_incl = $this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($this->getItem()); ?>
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                    <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                <?php else: ?>
+                    <span class="cart-price">
+                <?php endif; ?>
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), array(0, 1, 4), 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?>
+                    <?php else: ?>
+                        <?php echo $this->getOrder()->formatPrice($_incl-$this->getItem()->getWeeeTaxRowDisposition()) ?>
+                    <?php endif; ?>
+                </span>
+
+                <?php if ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem())): ?>
+
+                    <span class="cart-tax-info" id="subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>" style="display:none;">
+                        <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 1, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><small><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></small></span>
+                            <?php endforeach; ?>
+                        <?php elseif ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 4, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                            <small>
+                            <?php foreach ($this->helper('Magento\Weee\Helper\Data')->getApplied($this->getItem()) as $tax): ?>
+                                <span class="nobr"><?php echo $tax['title']; ?>: <?php echo $this->getOrder()->formatPrice($tax['row_amount_incl_tax']); ?></span>
+                            <?php endforeach; ?>
+                            </small>
+                        <?php endif; ?>
+                    </span>
+
+                    <?php if ($this->helper('Magento\Weee\Helper\Data')->typeOfDisplay($this->getItem(), 2, 'sales') && (float)$this->getItem()->getWeeeTaxAppliedAmount()): ?>
+                        <span class="cart-tax-total" data-tax-toggle='{"itemTaxId" : "#subtotal-item-tax-details<?php echo $this->getItem()->getId(); ?>"}'>
+                            <span class="nobr"><?php echo __('Total incl. tax'); ?>:<br /> <?php echo $this->getOrder()->formatPrice($_incl+$this->getItem()->getWeeeTaxAppliedRowAmount()); ?></span>
+                        </span>
+                    <?php endif; ?>
+                <?php endif; ?>
+
+            </span>
+        <?php endif; ?>
+    </td>
+    <!--
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceExclTax()): ?>
+    <th class="a-right"><?php echo $this->getOrder()->formatPrice($this->getItem()->getRowTotal()) ?></th>
+    <?php endif; ?>
+    <?php if ($this->helper('Magento\Tax\Helper\Data')->displaySalesBothPrices() || $this->helper('Magento\Tax\Helper\Data')->displaySalesPriceInclTax()): ?>
+    <th class="a-right"><?php echo $this->getOrder()->formatPrice($this->helper('Magento\Checkout\Helper\Data')->getSubtotalInclTax($this->getItem())); ?></th>
+    <?php endif; ?>
+    -->
+</tr>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/print.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/print.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..90b9eaacd63271bf9507fbb9fd8bb3af1ca223e2
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/print.phtml
@@ -0,0 +1,98 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_order = $this->getOrder() ?>
+<div class="page title">
+    <h1 class="title"><?php echo __('Order #%1', $_order->getRealOrderId()) ?></h1>
+</div>
+<p class="order-date"><?php echo __('Order Date: %1', $this->formatDate($_order->getCreatedAtStoreDate(), 'long')) ?></p>
+
+<div class="order details view">
+    <div class="block order shipping address">
+        <div class="title">
+            <strong><?php echo __('Shipping Address') ?></strong>
+        </div>
+        <div class="content">
+            <address><?php echo $_order->getShippingAddress()->format('html') ?></address>
+        </div>
+    </div>
+    <div class="block order billing address">
+        <div class="title">
+            <strong><?php echo __('Billing Address') ?></strong>
+        </div>
+        <div class="content">
+            <address><?php echo $_order->getBillingAddress()->format('html') ?></address>
+        </div>
+    </div>
+    <?php if (!$_order->getIsVirtual()): ?>
+    <div class="block order shipping method">
+        <div class="title">
+            <strong><?php echo __('Shipping Method') ?></strong>
+        </div>
+        <?php echo $this->escapeHtml($_order->getShippingDescription()) ?>
+    </div>
+    <?php endif; ?>
+    <div class="block order shipping">
+        <div class="title">
+            <strong><?php echo __('Payment Method') ?></strong>
+        </div>
+        <div class="content">
+            <?php echo $this->getPaymentInfoHtml() ?>
+        </div>
+    </div>
+</div>
+
+<div class="order details items">
+    <div class="order subtitle caption">
+        <strong><?php echo __('Items Ordered') ?></strong>
+    </div>
+    <table class="data table order items" id="my-orders-table">
+        <thead>
+        <tr>
+            <th class="col name"><?php echo __('Product Name') ?></th>
+            <th class="col sku"><?php echo __('SKU') ?></th>
+            <th class="col price"><?php echo __('Price') ?></th>
+            <th class="col qty"><?php echo __('Qty') ?></th>
+            <th class="a-right"><?php echo __('Subtotal') ?></th>
+        </tr>
+        </thead>
+        <tfoot>
+        <?php echo $this->getChildHtml('order_totals') ?>
+        </tfoot>
+        <?php $_items = $_order->getItemsCollection(); ?>
+        <?php $_count = $_items->count(); ?>
+        <?php foreach ($_items as $_item): ?>
+        <?php if ($_item->getParentItem()) continue; ?>
+        <tbody>
+            <?php echo $this->getItemHtml($_item) ?>
+        </tbody>
+        <?php endforeach; ?>
+    </table>
+</div>
+<script type="text/javascript">(function ($) {
+    $('#my-orders-table').decorate('table', {'tbody':['odd', 'even'], 'tbody tr':['first', 'last']})
+})(jQuery)</script>
+<script type="text/javascript">window.print();</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/print/creditmemo.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/print/creditmemo.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..4d2a53c668ecc71c1297dd6ebaf7ddf109aece76
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/print/creditmemo.phtml
@@ -0,0 +1,117 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_order = $this->getOrder() ?>
+<div class="page title">
+    <h1 class="title"><?php echo __('Order #%1', $_order->getRealOrderId()) ?></h1>
+</div>
+<p class="order-date"><?php echo __('Order Date: %1', $this->formatDate($_order->getCreatedAtStoreDate(), 'long')) ?></p>
+<?php $_creditmemo = $this->getCreditmemo() ?>
+<?php if($_creditmemo): ?>
+    <?php $_creditmemos = array($_creditmemo); ?>
+<?php else: ?>
+    <?php $_creditmemos = $_order->getCreditmemosCollection() ?>
+<?php endif; ?>
+<?php foreach ($_creditmemos as $_creditmemo): ?>
+    <div class="order details view">
+        <div class="title">
+            <strong><?php echo __('Refund #%1', $_creditmemo->getIncrementId()) ?></strong>
+        </div>
+
+        <div class="block order shipping address">
+        <?php if (!$_order->getIsVirtual()): ?>
+            <div class="title">
+                <strong><?php echo __('Shipping Address') ?></strong>
+            </div>
+            <div class="content">
+                <?php $_shipping = $_creditmemo->getShippingAddress() ?>
+                <address><?php echo $_shipping->format('html') ?></address>
+            </div>
+        </div>
+
+        <div class="block order billing address">
+        <?php endif; ?>
+            <div class="title">
+                <strong><?php echo __('Billing Address') ?></strong>
+            </div>
+            <div class="content">
+                <?php $_billing = $_creditmemo->getbillingAddress() ?>
+                <address><?php echo $_order->getBillingAddress()->format('html') ?></address>
+            </div>
+        </div>
+
+        <?php if (!$_order->getIsVirtual()): ?>
+        <div class="block order shipping method">
+            <div class="title">
+                <strong><?php echo __('Shipping Method') ?></strong>
+            </div>
+            <div class="content">
+                <?php echo $this->escapeHtml($_order->getShippingDescription()) ?>
+            </div>
+        </div>
+        <?php endif; ?>
+        <div class="block order payment method">
+            <div class="title">
+                <strong><?php echo __('Payment Method') ?></strong>
+            </div>
+            <div class="content">
+                <?php echo $this->getPaymentInfoHtml() ?>
+            </div>
+        </div>
+
+    </div>
+    <div class="order details items">
+        <div class="order subtitle caption">
+            <strong><?php echo __('Items Refunded') ?></strong>
+        </div>
+        <table class="data table order items" id="my-refund-table-<?php echo $_creditmemo->getId(); ?>">
+            <thead>
+                <tr>
+                    <th class="col name"><?php echo __('Product Name') ?></th>
+                    <th class="col sku"><?php echo __('SKU') ?></th>
+                    <th class="col price"><?php echo __('Price') ?></th>
+                    <th class="col qty"><?php echo __('Qty') ?></th>
+                    <th class="col subtotal"><?php echo __('Subtotal') ?></th>
+                    <th class="col discount"><?php echo __('Discount Amount') ?></th>
+                    <th class="col rowtotal"><?php echo __('Row Total') ?></th>
+                </tr>
+            </thead>
+            <tfoot>
+                <?php echo $this->getTotalsHtml($_creditmemo);?>
+            </tfoot>
+            <?php $_items = $_creditmemo->getAllItems(); ?>
+            <?php $_count = count($_items); ?>
+            <?php foreach ($_items as $_item): ?>
+            <?php if ($_item->getOrderItem()->getParentItem()) continue; ?>
+            <tbody>
+                <?php echo $this->getItemHtml($_item) ?>
+            </tbody>
+            <?php endforeach; ?>
+        </table>
+    </div>
+<script type="text/javascript">(function($) {$('#my-refund-table-<?php echo $_creditmemo->getId(); ?>').decorate('table', {'tbody': ['odd','even'], 'tbody tr': ['first','last']})})(jQuery)</script>
+<?php endforeach; ?>
+<script type="text/javascript">window.print();</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/print/invoice.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/print/invoice.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..0c5043a86c679cbd6f06eeb9410259235c1ec49f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/print/invoice.phtml
@@ -0,0 +1,115 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_order = $this->getOrder() ?>
+<div class="page title">
+    <h1 class="title"><?php echo __('Order #%1', $_order->getRealOrderId()) ?></h1>
+</div>
+<p class="order date"><?php echo __('Order Date: %1', $this->formatDate($_order->getCreatedAtStoreDate(), 'long')) ?></p>
+<?php $_invoice = $this->getInvoice() ?>
+<?php if ($_invoice): ?>
+<?php $_invoices = array($_invoice); ?>
+<?php else: ?>
+<?php $_invoices = $_order->getInvoiceCollection() ?>
+<?php endif; ?>
+<?php foreach ($_invoices as $_invoice): ?>
+<div class="order details view">
+    <div class="title">
+        <strong><?php echo __('Invoice #%1', $_invoice->getIncrementId()) ?></strong>
+    </div>
+
+    <div class="block order shipping address">
+    <?php if (!$_order->getIsVirtual()): ?>
+        <div class="title">
+            <strong><?php echo __('Shipping Address') ?></strong>
+        </div>
+        <div class="content">
+            <?php $_shipping = $_invoice->getShippingAddress() ?>
+            <address><?php echo $_shipping->format('html') ?></address>
+        </div>
+    </div>
+    <div class="block order billing address">
+        <?php endif; ?>
+        <div class="title">
+            <strong><?php echo __('Billing Address') ?></strong>
+        </div>
+        <div class="content">
+            <?php $_billing = $_invoice->getbillingAddress() ?>
+            <address><?php echo $_order->getBillingAddress()->format('html') ?></address>
+        </div>
+    </div>
+    <?php if (!$_order->getIsVirtual()): ?>
+
+    <div class="block order shipping method">
+        <div class="title">
+            <strong><?php echo __('Shipping Method') ?></strong>
+        </div>
+        <div class="content">
+            <?php echo $this->escapeHtml($_order->getShippingDescription()) ?>
+        </div>
+    </div>
+    <?php endif; ?>
+    <div class="block order payment method">
+        <div class="title">
+            <strong><?php echo __('Payment Method') ?></strong>
+        </div>
+        <div class="content">
+            <?php echo $this->getPaymentInfoHtml() ?>
+        </div>
+    </div>
+</div>
+<div class="order details items">
+    <div class="order subtitle caption">
+        <strong><?php echo __('Items Invoiced') ?></strong>
+    </div>
+    <table class="data table order items" id="my-invoice-table-<?php echo $_invoice->getId(); ?>">
+        <thead>
+        <tr>
+            <th class="col name"><?php echo __('Product Name') ?></th>
+            <th class="col sku"><?php echo __('SKU') ?></th>
+            <th class="col price"><?php echo __('Price') ?></th>
+            <th class="col qty"><span class="nobr"><?php echo __('Qty Invoiced') ?></span></th>
+            <th class="col subtotal"><?php echo __('Subtotal') ?></th>
+        </tr>
+        </thead>
+        <tfoot>
+            <?php echo $this->getInvoiceTotalsHtml($_invoice)?>
+        </tfoot>
+        <?php $_items = $_invoice->getItemsCollection(); ?>
+        <?php $_count = $_items->count(); ?>
+        <?php foreach ($_items as $_item): ?>
+        <?php if ($_item->getOrderItem()->getParentItem()) continue; ?>
+        <tbody>
+            <?php echo $this->getItemHtml($_item) ?>
+        </tbody>
+        <?php endforeach; ?>
+    </table>
+</div>
+<script type="text/javascript">(function ($) {
+    $('#my-invoice-table-<?php echo $_invoice->getId(); ?>').decorate('table', {'tbody':['odd', 'even'], 'tbody tr':['first', 'last']})
+})(jQuery)</script>
+<?php endforeach; ?>
+<script type="text/javascript">window.print();</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/print/shipment.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/print/shipment.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..dd0510a86cc3d3f7138a71a023e12ba817ed2c31
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/print/shipment.phtml
@@ -0,0 +1,123 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /* @var $this \Magento\Sales\Block\Order\PrintOrder\Shipment */ ?>
+<?php $order = $this->getOrder(); ?>
+<div class="page title">
+    <h1 class="title">
+        <?php echo __('Order #%1', $this->getObjectData($order, 'real_order_id')); ?>
+    </h1>
+</div>
+<p class="order-date"><?php echo __('Order Date: %1', $this->formatDate($this->getObjectData($order, 'created_at_store_date'), 'long')) ?></p>
+<?php if (!$this->getObjectData($order, 'is_virtual')): ?>
+<?php foreach ($this->getShipmentsCollection() as $shipment): ?>
+    <div class="order details view">
+        <div class="title">
+            <strong><?php echo __('Shipment #%1', $this->getObjectData($shipment, 'increment_id')); ?></strong>
+        </div>
+
+        <div class="block order shipping address">
+            <div class="title">
+                <strong><?php echo __('Shipping Address') ?></strong>
+            </div>
+            <div class="content">
+                <address><?php echo $this->getShipmentAddressFormattedHtml($shipment); ?></address>
+            </div>
+        </div>
+
+        <div class="block order billing address">
+            <div class="title">
+                <strong><?php echo __('Billing Address') ?></strong>
+            </div>
+            <div class="content">
+                <address><?php echo $this->getBillingAddressFormattedHtml($order); ?></address>
+            </div>
+        </div>
+
+        <div class="block order shipping method">
+            <div class="title">
+                <strong><?php echo __('Shipping Method') ?></strong>
+            </div>
+            <?php echo $this->escapeHtml($this->getObjectData($order, 'shipping_description')); ?>
+            <?php $tracks = $this->getShipmentTracks($shipment);
+            if ($tracks): ?>
+                <table class="data table order tracking" id="my-shipment-tracking">
+                    <thead>
+                    <tr>
+                        <th class="label"><?php echo __('Title')?></th>
+                        <th><?php echo __('Number')?></th>
+                    </tr>
+                    </thead>
+                    <tbody>
+                        <?php foreach ($tracks as $track): ?>
+                    <tr>
+                        <td class="label"><?php echo $this->escapeHtml($this->getObjectData($track, 'title')); ?></td>
+                        <td><?php echo $this->escapeHtml($this->getObjectData($track, 'number')); ?></td>
+                    </tr>
+                        <?php endforeach; ?>
+                    </tbody>
+                </table>
+                <script type="text/javascript">(function ($) {
+                    $('#my-shipment-tracking').decorate('table')
+                })(jQuery)</script>
+            <?php endif; ?>
+        </div>
+
+        <div class="block order payment method">
+            <div class="title">
+                <strong><?php echo __('Payment Method') ?></strong>
+            </div>
+            <div class="content">
+                <?php echo $this->getPaymentInfoHtml() ?>
+            </div>
+        </div>
+
+    </div>
+    <div class="order details items">
+        <div class="order subtitle caption">
+            <strong><?php echo __('Items Shipped') ?></strong>
+        </div>
+        <table class="data table order items" id="my-shipment-table-<?php echo $this->getObjectData($shipment, 'id') ?>">
+            <thead>
+            <tr>
+                <th class="col name"><?php echo __('Product Name') ?></th>
+                <th class="col sku"><?php echo __('SKU') ?></th>
+                <th class="col price"><span class="nobr"><?php echo __('Qty Shipped') ?></span></th>
+            </tr>
+            </thead>
+            <?php foreach ($this->getShipmentItems($shipment) as $item): ?>
+            <tbody>
+                <?php echo $this->getItemHtml($item) ?>
+            </tbody>
+            <?php endforeach; ?>
+        </table>
+    </div>
+    <script type="text/javascript">(function ($) {
+        $('#my-shipment-table-<?php echo $this->getObjectData($shipment, 'id')?>').decorate('table', {'tbody':['odd', 'even'], 'tbody tr':['first', 'last']})
+    })(jQuery)</script>
+    <?php endforeach; ?>
+<?php endif; ?>
+<script type="text/javascript">window.print();</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/recent.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/recent.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..35af465a6a1e3894fb68e7a956b83caee0a28338
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/recent.phtml
@@ -0,0 +1,76 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="block dashboard orders">
+<?php $_orders = $this->getOrders(); ?>
+    <div class="order title">
+        <strong><?php echo __('Recent Orders') ?></strong>
+        <?php if( sizeof($_orders->getItems()) > 0 ): ?>
+            <a class="action view" href="<?php echo $this->getUrl('sales/order/history') ?>">
+                <span><?php echo __('View All') ?></span>
+            </a>
+        <?php endif; ?>
+    </div>
+    <div class="content">
+    <?php echo $this->getChildHtml()?>
+    <?php if( sizeof($_orders->getItems()) > 0 ): ?>
+        <table class="data table orders recent" id="my-orders-table">
+            <thead>
+                <tr>
+                    <th class="col id"><?php echo __('Order #') ?></th>
+                    <th class="col date"><?php echo __('Date') ?></th>
+                    <th class="col shipping"><?php echo __('Ship To') ?></th>
+                    <th class="col total"><?php echo __('Order Total') ?></th>
+                    <th class="col status"><?php echo __('Status') ?></th>
+                    <th class="col actions">&nbsp;</th>
+                </tr>
+            </thead>
+            <tbody>
+                <?php foreach ($_orders as $_order): ?>
+                    <tr>
+                        <td class="col id"><?php echo $_order->getRealOrderId() ?></td>
+                        <td class="col date"><?php echo $this->formatDate($_order->getCreatedAtStoreDate()) ?></td>
+                        <td class="col shipping"><?php echo $_order->getShippingAddress() ? $this->escapeHtml($_order->getShippingAddress()->getName()) : '&nbsp;' ?></td>
+                        <td class="col total"><?php echo $_order->formatPrice($_order->getGrandTotal()) ?></td>
+                        <td class="col status"><em><?php echo $_order->getStatusLabel() ?></em></td>
+                        <td class="col actions">
+                            <a href="<?php echo $this->getViewUrl($_order) ?>" class="action view">
+                                <span><?php echo __('View Order') ?></span>
+                            </a>
+                            <?php if ($this->helper('Magento\Sales\Helper\Reorder')->canReorder($_order)) : ?>
+                                <a href="<?php echo $this->getReorderUrl($_order) ?>" class="action order">
+                                    <span><?php echo __('Reorder') ?></span>
+                                </a>
+                            <?php endif ?>
+                        </td>
+                    </tr>
+                <?php endforeach; ?>
+            </tbody>
+        </table>
+    <?php else: ?>
+        <p class="empty"><?php echo __('You have placed no orders.'); ?></p>
+    <?php endif; ?>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/shipment.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/shipment.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..191012ded181154a09648dcfcac77d28d96e2bdb
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/shipment.phtml
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="order items details shipments">
+    <?php echo $this->getChildHtml('shipment_items') ?>
+    <div class="actions">
+        <div class="secondary">
+            <a href="<?php echo $this->getBackUrl() ?>" class="action back">
+                <span><?php echo $this->getBackTitle() ?></span>
+            </a>
+        </div>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/shipment/items.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/shipment/items.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..23843a765beaf149b37c72d6a1381e195ccdcd6d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/shipment/items.phtml
@@ -0,0 +1,105 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php  $_order = $this->getOrder() ?>
+<div class="order toolbar">
+    <div class="actions">
+        <?php  if ($_order->getTracksCollection()->count()) : ?>
+            <a href="#"
+               data-mage-init="{popupWindow: {windowURL:'<?php echo $this->helper('Magento\Shipping\Helper\Data')->getTrackingPopupUrlBySalesModel($_order) ?>',windowName:'trackorder',width:800,height:600,top:0,left:0,resizable:1,scrollbars:1}}" title="<?php echo __('Track all shipment(s)') ?>"
+               class="action track">
+                <span><?php echo __('Track all shipments') ?></span>
+            </a>
+        <?php endif; ?>
+        <a href="<?php echo $this->getPrintAllShipmentsUrl($_order) ?>"
+           onclick="this.target='_blank'"
+           class="action print">
+            <span><?php echo __('Print All Shipments') ?></span>
+        </a>
+    </div>
+</div>
+<?php foreach ($_order->getShipmentsCollection() as $_shipment): ?>
+<div class="order title">
+    <strong><?php echo __('Shipment #') ?><?php echo $_shipment->getIncrementId(); ?></strong>
+    <a href="<?php echo $this->getPrintShipmentUrl($_shipment) ?>"
+       onclick="this.target='_blank'"
+       class="action print">
+        <span><?php echo __('Print Shipment') ?></span
+    </a>
+    <a href="#"
+       data-mage-init="{popupWindow: {windowURL:'<?php echo $this->helper('Magento\Shipping\Helper\Data')->getTrackingPopupUrlBySalesModel($_shipment) ?>',windowName:'trackshipment',width:800,height:600,top:0,left:0,resizable:1,scrollbars:1}}"
+       title="<?php echo __('Track this shipment') ?>"
+       class="action track">
+        <span><?php echo __('Track this shipment') ?></span>
+    </a>
+</div>
+<?php $tracks = $_shipment->getTracksCollection(); ?>
+<?php  if ($tracks->count()): ?>
+    <table class="data table order tracking" id="my-tracking-table-<?php echo $_shipment->getId(); ?>">
+        <tbody>
+            <tr>
+                <th class="label"><?php echo __('Tracking Number(s):') ?></th>
+                <td>
+                <?php
+                $i = 1;
+                $_size = $tracks->count();
+                foreach($tracks as $track): ?>
+                <?php if($track->isCustom()): ?>
+                    <?php echo $this->escapeHtml($track->getNumber()) ?>
+                <?php else: ?>
+                    <a href="#"
+                       data-mage-init="{popupWindow: {windowURL:'<?php echo $this->helper('Magento\Shipping\Helper\Data')->getTrackingPopupUrlBySalesModel($track) ?>',windowName:'trackorder',width:800,height:600,left:0,top:0,resizable:1,scrollbars:1}}"
+                       class="action track">
+                        <span><?php echo $this->escapeHtml($track->getNumber()) ?></span>
+                    </a>
+                <?php endif; ?>
+                <?php if($i!=$_size): ?>, <?php endif; ?>
+                <?php $i++;
+                endforeach; ?>
+                </td>
+            </tr>
+        </tbody>
+    </table>
+<?php  endif; ?>
+<div class="order subtitle caption"><strong><?php echo __('Items Shipped') ?></strong></div>
+<table class="data table order items shipment" id="my-shipment-table-<?php echo $_shipment->getId(); ?>">
+    <thead>
+        <tr>
+            <th class="col name"><?php echo __('Product Name') ?></th>
+            <th class="col sku"><?php echo __('SKU') ?></th>
+            <th class="col qty"><?php echo __('Qty Shipped') ?></th>
+        </tr>
+    </thead>
+    <?php $_items = $_shipment->getAllItems(); ?>
+    <?php $_count = count($_items) ?>
+    <?php foreach ($_items as $_item): ?>
+    <?php if ($_item->getOrderItem()->getParentItem()) continue; ?>
+    <tbody>
+        <?php echo $this->getItemHtml($_item) ?>
+    </tbody>
+    <?php endforeach; ?>
+</table>
+<?php echo $this->getCommentsHtml($_shipment)?>
+<?php endforeach; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/order/view.phtml b/app/design/frontend/magento_plushe/Magento_Sales/order/view.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..5c6065afbe0e6ac275216bfb46e209b7a6261673
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/order/view.phtml
@@ -0,0 +1,73 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="order details items">
+    <?php $_order = $this->getOrder() ?>
+
+    <div class="order subtitle caption">
+        <strong><?php echo __('Items Ordered') ?></strong>
+        <?php if ($_order->getTracksCollection()->count()) : ?>
+            <a href="#"
+               data-mage-init="{popupWindow: {windowURL:'<?php echo $this->helper('Magento\Shipping\Helper\Data')->getTrackingPopupUrlBySalesModel($_order) ?>',windowName:'trackorder',top:0,left:0,width:800,height:600,resizable:1,scrollbars:1}}"
+               title="<?php echo __('Track your order') ?>"
+               class="action track">
+                <span><?php echo __('Track your order') ?></span>
+            </a>
+        <?php endif; ?>
+    </div>
+
+    <?php echo $this->getChildHtml('order_items') ?>
+
+    <?php if($this->helper('Magento\GiftMessage\Helper\Message')->getIsMessagesAvailable('order', $_order) && $_order->getGiftMessageId()): ?>
+    <div class="order additional details gift">
+        <div class="order subtitle caption"><strong><?php echo __('Gift Message for This Order') ?></strong></div>
+        <?php $_giftMessage=$this->helper('Magento\GiftMessage\Helper\Message')->getGiftMessageForEntity($_order); ?>
+        <dl class="gift message">
+            <dt class="gift sender"><strong class="label"><?php echo __('From:') ?></strong> <?php echo $this->escapeHtml($_giftMessage->getSender()) ?></dt>
+            <dt class="gift recipient"><strong class="label"><?php echo __('To:') ?></strong> <?php echo $this->escapeHtml($_giftMessage->getRecipient()) ?></dt>
+            <dd class="message text"><?php echo $this->helper('Magento\GiftMessage\Helper\Message')->getEscapedGiftMessage($_order) ?></dd>
+        </dl>
+    </div>
+    <?php endif; ?>
+    <?php $_history = $this->getOrder()->getVisibleStatusHistory() ?>
+    <?php if (count($_history)): ?>
+    <div class="order additional details comments">
+        <div class="order subtitle caption"><strong><?php echo __('About Your Order') ?></strong></div>
+        <dl class="order comments">
+            <?php foreach ($_history as $_historyItem): ?>
+                <dt class="comment date"><?php echo $this->formatDate($_historyItem->getCreatedAtStoreDate(), 'medium', true) ?></dt>
+                <dd class="comment text"><?php echo $this->escapeHtml($_historyItem->getComment()) ?></dd>
+            <?php endforeach; ?>
+        </dl>
+    </div>
+    <?php endif; ?>
+    <div class="actions">
+        <div class="secondary">
+            <a class="action back" href="<?php echo $this->getBackUrl() ?>">
+                <span><?php echo $this->getBackTitle() ?></span>
+            </a>
+        </div>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/recurring/profiles.phtml b/app/design/frontend/magento_plushe/Magento_Sales/recurring/profiles.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..ad0f270ca559fd2b8b369b2b5236716d7e15d148
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/recurring/profiles.phtml
@@ -0,0 +1,38 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @package     base_default
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /* @var $this \Magento\Sales\Block\Recurring\Profiles */ ?>
+<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
+
+<div class="block recurring profiles">
+    <?php echo $this->getChildHtml('grid')?>
+
+    <div class="actions">
+        <div class="secondary">
+            <a href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>" class="action back"><span><?php echo __('Back') ?></span></a>
+        </div>
+    </div>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/reorder/sidebar.phtml b/app/design/frontend/magento_plushe/Magento_Sales/reorder/sidebar.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..92f812bc6d2adb30702436980c9cd08492f41220
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/reorder/sidebar.phtml
@@ -0,0 +1,85 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+/**
+ * Last order sidebar
+ *
+ * @see \Magento\Sale\Block\Reorder\Sidebar
+ */
+?>
+<?php $_items = $this->getItems()?>
+<?php if($_items): ?>
+<div class="block reorder">
+    <div class="title">
+        <strong><?php echo __('My Orders') ?></strong>
+    </div>
+    <div class="content">
+        <form method="post" class="form reorder" action="<?php echo $this->getFormActionUrl() ?>" id="reorder-validate-detail">
+            <strong class="subtitle"><?php echo __('Last Ordered Items') ?></strong>
+            <ol class="items" id="cart-sidebar-reorder">
+            <?php $_showAddButtonFlag = false ?>
+            <?php foreach ($_items as $_item): ?>
+                <li class="item">
+                    <?php if ($this->isItemAvailableForReorder($_item)): ?>
+                        <?php $_showAddButtonFlag = true ?>
+                        <input type="checkbox" name="order_items[]" id="reorder-item-<?php echo $_item->getId() ?>" value="<?php echo $_item->getId() ?>" title="<?php echo __('Add to Cart') ?>"
+                               class="checkbox" data-validate='{"validate-one-checkbox-required-by-name": true}'/>
+                    <?php endif; ?>
+                    <strong class="product name"><a href="<?php echo $_item->getProduct()->getProductUrl() ?>"><?php echo $this->escapeHtml($_item->getName()) ?></a></strong>
+                </li>
+            <?php endforeach; ?>
+            </ol>
+            <div id="cart-sidebar-reorder-advice-container"></div>
+            <div class="actions">
+                <?php if ($_showAddButtonFlag): ?>
+                    <div class="primary">
+                        <button type="submit" title="<?php echo __('Add to Cart') ?>" class="action tocart">
+                            <span><?php echo __('Add to Cart') ?></span>
+                        </button>
+                    </div>
+                <?php endif; ?>
+                <div class="secondary"><a class="action view" href="<?php echo $this->getUrl('customer/account') ?>"><span><?php echo __('View All'); ?></span></a></div>
+            </div>
+        </form>
+    </div>
+    <?php echo $this->getPagerHtml(); ?>
+    <script type="text/javascript">
+        head.js(
+            "<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>",
+            function() {
+                jQuery('#reorder-validate-detail').validation({
+                    errorPlacement: function(error, element) {
+                        error.appendTo('#cart-sidebar-reorder-advice-container');
+                    }
+                });
+            }
+        );
+    </script>
+</div>
+<?php endif ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Sales/success.phtml b/app/design/frontend/magento_plushe/Magento_Sales/success.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..737dfe3fca9232e474af0518a0d6cd53069141a6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sales/success.phtml
@@ -0,0 +1,63 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<div class="page-title">
+    <h1><?php echo __('Your order has been received.') ?></h1>
+</div>
+<?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
+<h2 class="sub-title"><?php echo __('Thank you for your purchase!') ?></h2>
+
+<?php if ($this->getOrderId()):?>
+<?php if ($this->getCanViewOrder()) :?>
+    <p><?php echo __('Your order # is: %1.', sprintf('<a href="%s">%s</a>', $this->escapeHtml($this->getViewOrderUrl()), $this->escapeHtml($this->getOrderId()))) ?></p>
+<?php  else :?>
+    <p><?php echo __('Your order # is: %1.', $this->escapeHtml($this->getOrderId())) ?></p>
+<?php endif;?>
+    <p><?php echo __('You will receive an order confirmation email with details of your order and a link to track its progress.') ?></p>
+<?php if ($this->getCanViewOrder() && $this->getCanPrintOrder()) :?>
+    <p>
+        <?php echo __('Click <a href="%1" onclick="this.target=\'_blank\'">here to print</a> a copy of your order confirmation.', $this->getPrintUrl()) ?>
+        <?php echo $this->getChildHtml() ?>
+    </p>
+<?php endif;?>
+<?php endif;?>
+
+<?php if ($this->getAgreementRefId()): ?>
+    <p><?php echo __('Your billing agreement # is: %1.', sprintf('<a href="%s">%s</a>', $this->escapeHtml($this->getAgreementUrl()), $this->escapeHtml($this->getAgreementRefId())))?></p>
+<?php endif;?>
+
+<?php if ($profiles = $this->getRecurringProfiles()):?>
+<p><?php echo __('Your recurring payment profiles:'); ?></p>
+<ul class="disc">
+<?php foreach($profiles as $profile):?>
+<?php $profileIdHtml = ($this->getCanViewProfiles() ? sprintf('<a href="%s">%s</a>', $this->escapeHtml($this->getProfileUrl($profile)), $this->escapeHtml($this->getObjectData($profile, 'reference_id'))) : $this->escapeHtml($this->getObjectData($profile, 'reference_id')));?>
+    <li><?php echo __('Payment profile # %1: "%2".', $profileIdHtml, $this->escapeHtml($this->getObjectData($profile, 'schedule_description')))?></li>
+<?php endforeach;?>
+</ul>
+<?php endif;?>
+
+<div class="actions">
+    <button type="button" class="a" title="<?php echo __('Continue Shopping') ?>" onclick="window.location='<?php echo $this->getUrl() ?>'"><span><span><?php echo __('Continue Shopping') ?></span></span></button>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Sendfriend/layout/override/sendfriend_product_send.xml b/app/design/frontend/magento_plushe/Magento_Sendfriend/layout/override/sendfriend_product_send.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9e24f817f9d7f15d2dbd4cc5661844316df7db2e
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sendfriend/layout/override/sendfriend_product_send.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Catalog Product Email to a Friend" type="page" parent="catalog_product_view">
+    <update handle="page_one_column"/>
+    <referenceBlock name="page.main.title">
+        <action method="setPageTitle">
+            <argument name="title" translate="true" xsi:type="string">Email to a Friend</argument>
+        </action>
+    </referenceBlock>
+    <referenceContainer name="content">
+        <block class="Magento\Sendfriend\Block\Send" name="sendfriend.send" template="send.phtml"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Sendfriend/send.phtml b/app/design/frontend/magento_plushe/Magento_Sendfriend/send.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..998017fe960d58193598e19b45c58031efb7a26e
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Sendfriend/send.phtml
@@ -0,0 +1,118 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/* @var $this \Magento\Sendfriend\Block\Send */
+/**
+ * Send to friend form
+ *
+ * @see \Magento\Sendfriend\Block\Send
+ */
+?>
+<script id="add-recipient-tmpl" type="text/x-jQuery-tmpl">
+    <a href="delete_email"  id="btn-remove${_index_}" class="action delete" title="<?php echo $this->jsQuoteEscape(__('Remove Email')) ?>"><span><?php echo $this->jsQuoteEscape(__('Remove Email')) ?></span></a>
+
+    <div class="field name required">
+        <label for="recipients-name${_index_}" class="label"><span><?php echo __('Name:')?></span></label>
+        <div class="control">
+            <input name="recipients[name][${_index_}]" type="text" title="<?php echo __('Name:')?>" class="input-text" id="recipients-name${_index_}" data-validate="{required:true}"/>
+        </div>
+    </div>
+
+    <div class="field email required">
+        <label for="recipients-email${_index_}" class="label"><span><?php echo __('Email Address:') ?></span></label>
+        <div class="control">
+            <input name="recipients[email][${_index_}]" title="<?php echo __('Email Address:') ?>" id="recipients-email${_index_}" type="text" class="input-text" data-validate="{required:true, 'validate-email':true}"/>
+        </div>
+    </div>
+</script>
+
+<form action="<?php echo $this->getSendUrl() ?>" method="post" id="product-sendtofriend-form" class="form send friend" data-hasRequired="<?php echo __('* Required Fields') ?>">
+    <fieldset class="fieldset sender" id="sender_options">
+        <?php echo $this->getBlockHtml('formkey')?>
+        <legend class="legend"><span><?php echo __('Sender:') ?></span></legend>
+        <br>
+        <div class="field sender required">
+            <label for="sender-name" class="label"><span><?php echo __('Name:') ?></span></label>
+            <div class="control">
+                <input name="sender[name]" value="<?php echo $this->escapeHtml($this->getUserName()) ?>" title="<?php echo __('Name') ?>" id="sender-name" type="text" class="input-text" data-validate="{required:true}"/>
+            </div>
+        </div>
+
+        <div class="field email required">
+            <label for="sender-email" class="label"><span><?php echo __('Email:') ?></span></label>
+            <div class="control">
+                <input name="sender[email]" value="<?php echo $this->escapeHtml($this->getEmail()) ?>" title="<?php echo __('Email Address') ?>" id="sender-email" type="text" class="input-text" data-validate="{required:true, 'validate-email':true}"/>
+            </div>
+        </div>
+
+        <div class="field text required">
+            <label for="sender-message" class="label"><span><?php echo __('Message:') ?></span></label>
+            <div class="control">
+                <textarea name="sender[message]" class="input-text" id="sender-message" cols="3" rows="3" data-validate="{required:true}"><?php echo $this->escapeHtml($this->getMessage())?></textarea>
+            </div>
+        </div>
+    </fieldset>
+
+    <fieldset class="fieldset recipients" id="recipients-options">
+        <?php echo $this->getBlockHtml('formkey')?>
+        <legend class="legend"><span><?php echo __('Recipient:') ?></span></legend><br />
+    </fieldset>
+    <div class="actions">
+        <div class="primary">
+            <button type="submit" class="action submit"<?php if (!$this->canSend()):?> disabled="disabled"<?php endif ?>><span><?php echo __('Send Email') ?></span></button>
+            <div id="max-recipient-message" style="display:none;" class="notice-msg limit">
+                <?php if ($this->getMaxRecipients()): ?>
+                <span><?php echo __('Maximum %1 email addresses allowed.', $this->getMaxRecipients()) ?></span>
+                <?php endif; ?>
+            </div>
+            <?php if (1 < $this->getMaxRecipients()): ?>
+                <button type="button" id="add-recipient-button" class="action add"><span><?php echo __('Add Recipient') ?></span></button>
+            <?php endif; ?>
+        </div>
+        <div class="secondary">
+            <a class="action back" href="#" role="back"><span><?php echo __('Back') ?></span></a>
+        </div>
+    </div>
+</form>
+<script type="text/javascript">
+    (function($) {
+        head.js("<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('Magento_Page::js/row-builder.js')?>", function() {
+                $('#product-sendtofriend-form').rowBuilder({
+                    rowTemplate: '#add-recipient-tmpl',
+                    rowContainer: '#recipients-options',
+                    rowParentElem: '<div></div>',
+                    btnRemoveSelector: '.action.delete',
+                    maxRows: '<?php echo $this->getMaxRecipients() ?>',
+                    maxRowsMsg: '#max-recipient-message',
+                    addRowBtn: '#add-recipient-button',
+                    additionalRowClass: 'additional'
+                }).validation();
+                $('a[role="back"]').on('click', function() { history.back(); return false; });
+            })
+    })(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Shipping/tracking/popup.phtml b/app/design/frontend/magento_plushe/Magento_Shipping/tracking/popup.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..c3ca1b3567643bdf83e89ad1d158c87dd074fe06
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Shipping/tracking/popup.phtml
@@ -0,0 +1,174 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php /** @var $this \Magento\Shipping\Block\Tracking\Popup */ ?>
+<?php $_results = $this->getTrackingInfo(); ?>
+<div class="page tracking">
+    <div class="page title">
+        <h1 class="title">
+            <span class="base"><?php echo __('Tracking Information'); ?></span>
+        </h1>
+    </div>
+    <?php if(sizeof($_results)>0): ?>
+    <?php foreach($_results as $shipid => $_result): ?>
+        <?php if($shipid): ?>
+        <div class="order subtitle caption"><?php echo __('Shipment #').$shipid; ?></div>
+        <?php endif; ?>
+        <?php if(sizeof($_result)>0): ?>
+            <?php $rowCount = sizeof($_result); $counter = 1; ?>
+            <?php $_id = 0; foreach($_result as $track): ?>
+                <table class="data table order tracking" id="tracking-table-popup-<?php echo $_id ?>">
+                    <tbody>
+                    <?php if(is_object($track)): ?>
+                        <tr>
+                            <th class="col label"><?php echo __('Tracking Number:'); ?></th>
+                            <td class="col value"><?php echo $this->escapeHtml($track->getTracking()); ?></td>
+                        </tr>
+                        <?php if ($track->getCarrierTitle()): ?>
+                        <tr>
+                            <th class="col label"><?php echo __('Carrier:'); ?></th>
+                            <td class="col value"><?php echo $this->escapeHtml($track->getCarrierTitle()); ?></td>
+                        </tr>
+                        <?php endif; ?>
+                        <?php if($track->getErrorMessage()): ?>
+                        <tr>
+                            <th class="col label"><?php echo __('Error:'); ?></th>
+                            <td class="col error"><?php echo __('Tracking information is currently not available. Please '); if ($this->getContactUsEnabled()) : ?><a href="<?php echo $this->getContactUs() ?>" title="<?php echo __('contact us') ?>" onclick="this.target='_blank'"><?php echo __('contact us') ?></a><?php echo __(' for more information or '); endif; echo __('email us at '); ?><a href="mailto:<?php echo $this->getStoreSupportEmail() ?>"><?php echo $this->getStoreSupportEmail() ?></a></td>
+                        </tr>
+                        <?php elseif($track->getTrackSummary()): ?>
+                        <tr>
+                            <th class="col label"><?php echo __('Info:'); ?></th>
+                            <td class="col value"><?php echo $track->getTrackSummary(); ?></td>
+                        </tr>
+                        <?php elseif($track->getUrl()): ?>
+                        <tr>
+                            <th class="col label"><?php echo __('Track:'); ?></th>
+                            <td class="col value"><a href="<?php echo $this->escapeHtml($track->getUrl()); ?>" onclick="this.target='_blank'"><?php echo $this->escapeHtml($track->getUrl()); ?></a></td>
+                        </tr>
+                        <?php else: ?>
+                            <?php if ($track->getStatus()): ?>
+                            <tr>
+                                <th class="col label"><?php echo __('Status:'); ?></th>
+                                <td class="col value"><?php echo $track->getStatus(); ?></td>
+                            </tr>
+                            <?php endif; ?>
+
+                            <?php if ($track->getDeliverydate()): ?>
+                            <tr>
+                                <th class="col label"><?php echo __('Delivered on:'); ?></th>
+                                <td class="col value"><?php echo $this->formatDeliveryDateTime($track->getDeliverydate(),$track->getDeliverytime()); ?></td>
+                            </tr>
+                            <?php endif; ?>
+
+                            <?php if ($track->getSignedby()): ?>
+                            <tr>
+                                <th class="col label"><?php echo __('Signed by:'); ?></th>
+                                <td class="col value"><?php echo $track->getSignedby(); ?></td>
+                            </tr>
+                            <?php endif; ?>
+
+                            <?php if ($track->getDeliveryLocation()): ?>
+                            <tr>
+                                <th class="col label"><?php echo __('Delivered to:'); ?></th>
+                                <td class="col value"><?php echo $track->getDeliveryLocation(); ?></td>
+                            </tr>
+                            <?php endif; ?>
+
+                            <?php if ($track->getShippedDate()): ?>
+                            <tr>
+                                <th class="col label"><?php echo __('Shipped or billed on:'); ?></th>
+                                <td class="col value"><?php echo $track->getShippedDate(); ?></td>
+                            </tr>
+                            <?php endif; ?>
+
+                            <?php if ($track->getService()): ?>
+                            <tr>
+                                <th class="col label"><?php echo __('Service Type:'); ?></th>
+                                <td class="col value"><?php echo $track->getService(); ?></td>
+                            </tr>
+                            <?php endif; ?>
+
+                            <?php if ($track->getWeight()): ?>
+                            <tr>
+                                <th class="col label"><?php echo __('Weight:'); ?></th>
+                                <td class="col value"><?php echo $track->getWeight(); ?></td>
+                            </tr>
+                            <?php endif; ?>
+                        <?php endif; ?>
+                    <?php elseif(isset($track['title']) && isset($track['number']) && $track['number']): ?>
+                        <!--if the tracking is custom value-->
+                        <tr>
+                            <th class="col label"><?php echo ($track['title'] ? $this->escapeHtml($track['title']) : __('N/A')); ?>:</th>
+                            <td class="col value"><?php echo (isset($track['number']) ? $this->escapeHtml($track['number']) : ''); ?></td>
+                        </tr>
+                    <?php endif; ?>
+                    </tbody>
+                </table>
+                <?php if (is_object($track) && sizeof($track->getProgressdetail())>0): ?>
+                    <table class="data table order tracking" id="track-history-table-<?php echo $track->getTracking(); ?>">
+                        <thead>
+                            <tr>
+                                <th class="col location"><?php echo __('Location') ?></th>
+                                <th class="col date"><?php echo __('Date') ?></th>
+                                <th class="col time"><?php echo __('Local Time') ?></th>
+                                <th class="col description"><?php echo __('Description') ?></th>
+                            </tr>
+                       </thead>
+                       <tbody>
+                       <?php foreach($track->getProgressdetail() as $_detail): ?>
+                        <?php $_detailDate = (isset($_detail['deliverydate']) ? $this->formatDeliveryDate($_detail['deliverydate']) : '') ?>
+                        <?php $_detailTime = (isset($_detail['deliverytime']) ? $this->formatDeliveryTime($_detail['deliverytime'], $_detail['deliverydate']) : '') ?>
+                            <tr>
+                                <td class="col location"><?php echo (isset($_detail['deliverylocation']) ? $_detail['deliverylocation'] : ''); ?></td>
+                                <td class="col date"><?php echo $_detailDate ?></td>
+                                <td class="col time"><?php echo $_detailTime ?></td>
+                                <td class="col description"><?php echo (isset($_detail['activity']) ? $_detail['activity'] : '') ?></td>
+                            </tr>
+                       <?php endforeach; ?>
+                       </tbody>
+                    </table>
+                <?php endif; ?>
+                <?php if($counter!=$rowCount): ?>
+                <?php endif; ?>
+                <?php $counter++; ?>
+            <!--end for each tracking information-->
+            <?php endforeach; ?>
+        <?php else: ?>
+            <p class="empty"><?php echo __('There is no tracking available for this shipment.'); ?></p>
+        <?php endif; ?>
+
+    <?php endforeach; ?>
+    <?php else: ?>
+        <p class="empty"><?php echo __('There is no tracking available.'); ?></p>
+    <?php endif; ?>
+    <div class="actions">
+        <button type="button"
+                title="<?php echo __('Close Window') ?>"
+                class="action close"
+                onclick="window.close(); window.opener.focus();">
+            <span><?php echo __('Close Window') ?></span>
+        </button>
+    </div>
+</div>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Tax/checkout/grandtotal.phtml b/app/design/frontend/magento_plushe/Magento_Tax/checkout/grandtotal.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..b522d286f766615abb69bd387c15e8cba61f9af5
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Tax/checkout/grandtotal.phtml
@@ -0,0 +1,57 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/**
+ * @var $this \Magento\Tax\Block\Checkout\Grandtotal
+ * @see \Magento\Tax\Block\Checkout\Grandtotal
+ */
+?>
+<?php if ($this->includeTax() && $this->getTotalExclTax()>=0):?>
+<tr class="grand total excl">
+    <td style="<?php echo $this->getStyle() ?>" class="mark" colspan="<?php echo $this->getColspan(); ?>">
+        <strong><?php echo __('Grand Total Excl. Tax')?></strong>
+    </td>
+    <td style="<?php echo $this->getStyle() ?>" class="amount">
+        <strong><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotalExclTax()) ?></strong>
+    </td>
+</tr>
+<?php echo $this->renderTotals('taxes', $this->getColspan()); ?>
+<tr class="grand total incl">
+    <td style="<?php echo $this->getStyle() ?>" class="mark" colspan="<?php echo $this->getColspan(); ?>">
+        <strong><?php echo __('Grand Total Incl. Tax')?></strong>
+    </td>
+    <td style="<?php echo $this->getStyle() ?>" class="amount">
+        <strong><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotal()->getValue()) ?></strong>
+    </td>
+</tr>
+<?php else:?>
+<tr class="grand total">
+    <td style="<?php echo $this->getStyle() ?>" class="mark" colspan="<?php echo $this->getColspan(); ?>">
+        <strong><?php echo $this->getTotal()->getTitle() ?></strong>
+    </td>
+    <td style="<?php echo $this->getStyle() ?>" class="amount">
+        <strong><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotal()->getValue()) ?></strong>
+    </td>
+</tr>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Tax/checkout/shipping.phtml b/app/design/frontend/magento_plushe/Magento_Tax/checkout/shipping.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..29a032f765ecca49f312f26b7726d33b4122f910
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Tax/checkout/shipping.phtml
@@ -0,0 +1,65 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/**
+ * @var $this \Magento\Tax\Block\Checkout\Shipping
+ * @see \Magento\Tax\Block\Checkout\Shipping
+ */
+?>
+<?php if ($this->displayBoth()):?>
+<tr class="total shipping excl">
+    <td style="<?php echo $this->getStyle() ?>" class="mark" colspan="<?php echo $this->getColspan(); ?>">
+        <?php echo $this->getExcludeTaxLabel() ?>
+    </td>
+    <td style="<?php echo $this->getStyle() ?>" class="amount">
+        <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getShippingExcludeTax()) ?>
+    </td>
+</tr>
+<tr class="total shipping incl">
+    <td style="<?php echo $this->getStyle() ?>" class="mark" colspan="<?php echo $this->getColspan(); ?>">
+        <?php echo $this->getIncludeTaxLabel() ?>
+    </td>
+    <td style="<?php echo $this->getStyle() ?>" class="amount">
+        <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getShippingIncludeTax()) ?>
+    </td>
+</tr>
+<?php elseif($this->displayIncludeTax()) : ?>
+<tr class="total shipping incl">
+    <td style="<?php echo $this->getStyle() ?>" class="mark" colspan="<?php echo $this->getColspan(); ?>">
+        <?php echo $this->getTotal()->getTitle() ?>
+    </td>
+    <td style="<?php echo $this->getStyle() ?>" class="amount">
+        <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getShippingIncludeTax()) ?>
+    </td>
+</tr>
+<?php else:?>
+<tr class="total shipping excl">
+    <td style="<?php echo $this->getStyle() ?>" class="mark" colspan="<?php echo $this->getColspan(); ?>">
+        <?php echo $this->escapeHtml($this->getTotal()->getTitle()) ?>
+    </td>
+    <td style="<?php echo $this->getStyle() ?>" class="amount">
+        <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getShippingExcludeTax()) ?>
+    </td>
+</tr>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Tax/checkout/subtotal.phtml b/app/design/frontend/magento_plushe/Magento_Tax/checkout/subtotal.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..7eecfc2657ad4767f357a2966d095690007d4f1f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Tax/checkout/subtotal.phtml
@@ -0,0 +1,56 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/**
+ * @var $this \Magento\Tax\Block\Checkout\Subtotal
+ * @see \Magento\Tax\Block\Checkout\Subtotal
+ */
+?>
+<?php if ($this->displayBoth()):?>
+<tr class="sub total excl">
+    <td style="<?php echo $this->getStyle() ?>" class="mark" colspan="<?php echo $this->getColspan(); ?>">
+        <?php echo __('Subtotal (Excl. Tax)') ?>
+    </td>
+    <td style="<?php echo $this->getStyle() ?>" class="amount">
+        <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotal()->getValueExclTax()) ?>
+    </td>
+</tr>
+<tr class="sub total incl">
+    <td style="<?php echo $this->getStyle() ?>" class="mark" colspan="<?php echo $this->getColspan(); ?>">
+        <?php echo __('Subtotal (Incl. Tax)') ?>
+    </td>
+    <td style="<?php echo $this->getStyle() ?>" class="amount">
+        <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotal()->getValueInclTax()) ?>
+    </td>
+</tr>
+<?php else : ?>
+<tr class="sub total">
+    <td style="<?php echo $this->getStyle() ?>" class="mark" colspan="<?php echo $this->getColspan(); ?>">
+        <?php echo $this->getTotal()->getTitle() ?>
+    </td>
+    <td style="<?php echo $this->getStyle() ?>" class="amount">
+        <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($this->getTotal()->getValue()) ?>
+    </td>
+</tr>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Tax/checkout/tax.phtml b/app/design/frontend/magento_plushe/Magento_Tax/checkout/tax.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..7fe118b5710b131ef5f350182fb0c2bd0b519073
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Tax/checkout/tax.phtml
@@ -0,0 +1,80 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/**
+ * @var $this \Magento\Tax\Block\Checkout\Tax
+ * @see \Magento\Tax\Block\Checkout\Tax
+ */
+?>
+<?php
+    $_value = $this->getTotal()->getValue();
+    $_style = $this->getTotal()->getStyle();
+?>
+<?php global $taxIter; $taxIter++; ?>
+<?php if ($this->helper('Magento\Tax\Helper\Data')->displayFullSummary() && $_value!=0): ?>
+<?php $isTop = 1; ?>
+    <?php foreach ($this->getTotal()->getFullInfo() as $info): ?>
+        <?php if (isset($info['hidden']) && $info['hidden']) continue; ?>
+        <?php $percent = $info['percent']; ?>
+        <?php $amount = $info['amount']; ?>
+        <?php $rates = $info['rates']; ?>
+        <?php $isFirst = 1; ?>
+
+        <?php foreach ($rates as $rate): ?>
+        <tr class="summary-details-<?php echo $taxIter; ?> summary-details<?php if ($isTop): echo ' summary-details-first'; endif; ?>" style="display:none;">
+            <td class="a-right" style="<?php echo $_style ?>" colspan="<?php echo $this->getColspan(); ?>">
+                <?php echo $this->escapeHtml($rate['title']); ?>
+                <?php if (!is_null($rate['percent'])): ?>
+                    (<?php echo (float)$rate['percent']; ?>%)
+                <?php endif; ?>
+                <br />
+            </td>
+            <?php if ($isFirst): ?>
+                <td style="<?php echo $_style ?>" class="a-right" rowspan="<?php echo count($rates); ?>">
+                    <?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($amount); ?>
+                </td>
+            <?php endif; ?>
+        </tr>
+        <?php $isFirst = 0; ?>
+        <?php $isTop = 0; ?>
+        <?php endforeach; ?>
+    <?php endforeach; ?>
+<?php endif;?>
+<?php
+    $attributes = 'class="tax total"';
+    if ($this->helper('Magento\Tax\Helper\Data')->displayFullSummary() && $_value!=0) {
+        $attributes = 'class="summary-total tax total" onclick="expandDetails(this, \'.summary-details-' . $taxIter . '\')"';
+    }
+?>
+
+<tr <?php echo $attributes; ?>>
+    <td style="<?php echo $_style ?>" class="mark" colspan="<?php echo $this->getColspan(); ?>">
+        <?php if ($this->helper('Magento\Tax\Helper\Data')->displayFullSummary()): ?>
+            <div class="summary-collapse"><?php echo $this->getTotal()->getTitle() ?></div>
+        <?php else: ?>
+            <?php echo $this->getTotal()->getTitle() ?>
+        <?php endif;?>
+    </td>
+    <td style="<?php echo $_style ?>" class="amount"><?php echo $this->helper('Magento\Checkout\Helper\Data')->formatPrice($_value) ?></td>
+</tr>
diff --git a/app/design/frontend/magento_plushe/Magento_Widget/layout/override/default.xml b/app/design/frontend/magento_plushe/Magento_Widget/layout/override/default.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6c60196129d6c92ce012ad36ab5a4e7194de6ea6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Widget/layout/override/default.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
diff --git a/app/design/frontend/magento_plushe/Magento_Widget/layout/override/print.xml b/app/design/frontend/magento_plushe/Magento_Widget/layout/override/print.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6c60196129d6c92ce012ad36ab5a4e7194de6ea6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Widget/layout/override/print.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/button/share.phtml b/app/design/frontend/magento_plushe/Magento_Wishlist/button/share.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..0b79afbd5dec1e917e14c0ff1ec587f98ac6aa1c
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/button/share.phtml
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php if($this->getWishlist()->getItemsCount() && $this->getWishlist()->getShared() < $this->getConfig()->getSharingEmailLimit()): ?>
+    <button type="submit" name="save_and_share" title="<?php echo __('Share Wish List') ?>" class="action share"><span><span><?php echo __('Share Wish List') ?></span></span></button>
+<?php endif;?>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/button/tocart.phtml b/app/design/frontend/magento_plushe/Magento_Wishlist/button/tocart.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..e242ea902160775ecc1f903c76246eb018009165
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/button/tocart.phtml
@@ -0,0 +1,29 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+
+<?php if($this->getWishlist()->getItemsCount() && $this->getWishlist()->isSalable()): ?>
+    <button type="button" title="<?php echo __('Add All to Cart') ?>" class="action tocart"><span><?php echo __('Add All to Cart') ?></span></button>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/button/update.phtml b/app/design/frontend/magento_plushe/Magento_Wishlist/button/update.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..1a5b92add28f624575b9263e906538773f468ca0
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/button/update.phtml
@@ -0,0 +1,29 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+
+<?php if($this->getWishlist()->getItemsCount()): ?>
+    <button type="submit" name="do" title="<?php echo __('Update Wishlist') ?>" class="action update"><span><?php echo __('Update Wish List') ?></span></button>
+<?php endif;?>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/item/column/cart.phtml b/app/design/frontend/magento_plushe/Magento_Wishlist/item/column/cart.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..a5681f4bdf3a54b4c2b8cc8c8fea2cbb2ac802a9
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/item/column/cart.phtml
@@ -0,0 +1,57 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/* @var $this \Magento\Wishlist\Block\Customer\Wishlist\Item\Column\Cart */
+/* @var \Magento\Wishlist\Model\Item $item */
+$item = $this->getItem();
+$product = $item->getProduct();
+$options = $this->getChildBlock('customer.wishlist.item.options')
+    ->setItem($item)
+    ->getConfiguredOptions();
+?>
+    <?php echo $this->getPriceHtml($product, empty($options));?>
+    <div class="box tocart">
+        <?php if ($item->canHaveQty() && $item->getProduct()->isVisibleInSiteVisibility()): ?>
+            <input type="text" class="input-text qty" data-validate="{required:true,'validate-greater-than-zero':true}" name="qty[<?php echo $item->getId() ?>]"
+                   value="<?php echo $this->getAddToCartQty($item) * 1 ?>"/>
+        <?php endif; ?>
+        <?php if ($product->isSaleable()): ?>
+            <button type="button" title="<?php echo __('Add to Cart') ?>" data-item-id="<?php echo $item->getId()?>" class="action tocart"><span><span><?php echo __('Add to Cart') ?></span></span></button>
+        <?php else: ?>
+            <?php if ($product->getIsSalable()): ?>
+                <p class="available stock" title="<?php echo __('Availability') ?>"><span><?php echo __('In stock') ?></span></p>
+            <?php else: ?>
+                <p class="unavailable stock" title="<?php echo __('Availability') ?>"><span><?php echo __('Out of stock') ?></span></p>
+            <?php endif; ?>
+        <?php endif; ?>
+    </div>
+    <?php foreach ($this->getChildNames() as $childName): ?>
+        <?php echo $this->getLayout()->renderElement($childName, false); ?>
+    <?php endforeach;?>
+    <?php if ($product->isVisibleInSiteVisibility()): ?>
+        <p><a class="action edit" href="<?php echo $this->getItemConfigureUrl($item) ?>"><span><?php echo __('Edit') ?></span></a>
+    </p>
+    <?php endif ?>
+
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/item/column/image.phtml b/app/design/frontend/magento_plushe/Magento_Wishlist/item/column/image.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..5d5bd9f71e73307287b9b6df648d328085526e39
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/item/column/image.phtml
@@ -0,0 +1,33 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/* @var \Magento\Wishlist\Model\Item $item */
+$item = $this->getItem();
+$product = $item->getProduct();
+$imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');
+?>
+<a class="product photo" href="<?php echo $this->getProductUrl($item) ?>" title="<?php echo $this->escapeHtml($product->getName()) ?>">
+    <?php echo $imageBlock->init($product, 'wishlist_thumbnail')->toHtml() ?>
+</a>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/item/column/info.phtml b/app/design/frontend/magento_plushe/Magento_Wishlist/item/column/info.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..275b996e650b2592f0a918e5f351a5a360dada6f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/item/column/info.phtml
@@ -0,0 +1,40 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+/* @var \Magento\Wishlist\Model\Item $item */
+$item = $this->getItem();
+$product = $item->getProduct();
+?>
+<strong class="product name"><a href="<?php echo $this->getProductUrl($item) ?>" title="<?php echo $this->escapeHtml($product->getName()) ?>"><?php echo $this->escapeHtml($product->getName()) ?></a></strong>
+<div class="product description"><?php echo $this->escapeHtml($this->stripTags($product->getShortDescription()));?></div>
+<textarea placeholder="<?php echo $this->helper('Magento\Wishlist\Helper\Data')->defaultCommentString()?>" name="description[<?php echo $item->getWishlistItemId() ?>]" rows="3" cols="5" title="<?php echo __('Comment') ?>"><?php echo ($this->escapeHtml($item->getDescription())) ?></textarea>
+<?php $children = $this->getChildNames(); ?>
+<?php if ($children): ?>
+    <div class="product manage">
+    <?php foreach($children as $childName):?>
+        <?php echo $this->getLayout()->renderElement($childName, false);?>
+    <?php endforeach;?>
+    </div>
+<?php endif; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/item/column/remove.phtml b/app/design/frontend/magento_plushe/Magento_Wishlist/item/column/remove.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..91dcd50b456663fb4730eabc2024b1b06ff92cd0
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/item/column/remove.phtml
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+?>
+<a href="<?php echo $this->getItemRemoveUrl($this->getItem()); ?>" title="<?php echo __('Remove Item') ?>"
+    class="action delete"><span><?php echo __('Remove item');?></span></a>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/item/configure/addto.phtml b/app/design/frontend/magento_plushe/Magento_Wishlist/item/configure/addto.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..0b0f085bbc76224d3649ec02365b5130592d5548
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/item/configure/addto.phtml
@@ -0,0 +1,37 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php $_wishlistItem = $this->getWishlistItem(); ?>
+<?php $_wishlistSubmitUrl = $this->helper('Magento\Wishlist\Helper\Data')->getUpdateUrl($_wishlistItem); ?>
+<div class="product addto links" data-role="add-to-links">
+<?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllow()) : ?>
+    <a href="<?php echo $_wishlistSubmitUrl ?>" class="action towishlist updated"><span><?php echo __('Update Wish List') ?></span></a>
+<?php endif; ?>
+<?php $_product = $this->getProduct(); ?>
+<?php $_compareUrl = $this->helper('Magento\Catalog\Helper\Product\Compare')->getAddUrl($_product); ?>
+<?php if ($_compareUrl) : ?>
+    <a href="<?php echo $_compareUrl ?>" class="action tocompare"><span><?php echo __('Add to Compare') ?></span></a>
+<?php endif; ?>
+</div>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/item/list.phtml b/app/design/frontend/magento_plushe/Magento_Wishlist/item/list.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..96d64947ea1e0b22f09c675a6dee6fae459d0202
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/item/list.phtml
@@ -0,0 +1,53 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<?php
+    $columns = $this->getColumns();
+?>
+<table class="table data wishlist" id="wishlist-table">
+    <thead>
+        <tr>
+            <?php foreach ($columns as $column): ?>
+                <th class="col <?php echo $column->getColClass(); ?>"><?php echo $column->getTitle();?></th>
+            <?php endforeach; ?>
+        </tr>
+    </thead>
+    <tbody>
+        <?php if (count($this->getItems())): ?>
+            <?php foreach ($this->getItems() as $item): ?>
+                <tr id="item_<?php echo $item->getId();?>">
+                    <?php foreach ($columns as $column): ?>
+                        <td class="col <?php echo $column->getColClass(); ?>"><?php $column->setItem($item); echo $column->toHtml($item);?></td>
+                    <?php endforeach; ?>
+                </tr>
+            <?php endforeach ?>
+        <?php else: ?>
+            <td colspan="<?php echo count($columns);?>" class="empty"><?php echo __('This Wish List has no Items');?></td>
+        <?php endif; ?>
+    </tbody>
+</table>
+<?php foreach ($columns as $column): ?>
+    <?php echo $column->getAdditionalHtml();?>
+<?php endforeach; ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure.xml b/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8321608c8c181e900fc2a417838ebca408dd2c83
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Configure Wishlist Item" type="page" parent="catalog_product_view">
+    <update handle="catalog_product_view"/>
+    <referenceContainer name="product.info.main">
+        <block class="Magento\Wishlist\Block\Item\Configure" name="product.info.addto" as="addto" template="Magento_Wishlist::item/configure/addto.phtml"/>
+    </referenceContainer>
+    <referenceBlock name="product.info.options.wrapper.bottom">
+        <action method="unsetChild">
+            <argument name="name" xsi:type="string">product.info.addtocart.additional</argument>
+        </action>
+        <action method="append">
+            <argument name="element" xsi:type="string">product.info.addtocart.additional</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure_type_bundle.xml b/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure_type_bundle.xml
new file mode 100644
index 0000000000000000000000000000000000000000..33c45528fb4b23a1f1593dcb717f622f43cc2aa8
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure_type_bundle.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Configure Wishlist Item (Bundle)" type="page" parent="catalog_product_view">
+    <referenceBlock name="head">
+        <block class="Magento\Page\Block\Html\Head\Script" name="magento-bundle-bundle-js">
+            <arguments>
+                <argument name="file" xsi:type="string">Magento_Bundle::bundle.js</argument>
+            </arguments>
+        </block>
+        <block class="Magento\Page\Block\Html\Head\Script" name="magento-bundle-js-product-summary-js">
+            <arguments>
+                <argument name="file" xsi:type="string">Magento_Bundle::js/product-summary.js</argument>
+            </arguments>
+        </block>
+    </referenceBlock>
+    <referenceBlock name="root">
+        <action method="addBodyClass">
+            <argument name="value" xsi:type="string">type-bundle</argument>
+        </action>
+    </referenceBlock>
+    <referenceBlock name="product.info">
+        <block class="Magento\Bundle\Block\Catalog\Product\View" name="bundle.summary" as="form_top" template="catalog/product/view/summary.phtml">
+            <block class="Magento\Bundle\Block\Catalog\Product\Price" name="bundle.prices" as="bundle_prices" template="catalog/product/view/price.phtml">
+                <action method="setMAPTemplate">
+                    <argument name="tmpl" xsi:type="string">catalog/product/price_msrp_item.phtml</argument>
+                </action>
+            </block>
+            <block class="Magento\Catalog\Block\Product\View" name="product.info.addtocart.bundle" as="addtocart" template="product/view/addtocart.phtml"/>
+            <block class="Magento\Catalog\Block\Product\View" name="product.info.addto.bundle" as="addto" template="product/view/addto.phtml"/>
+        </block>
+    </referenceBlock>
+    <referenceBlock name="product.info.options.wrapper">
+        <block class="Magento\Catalog\Block\Product\View" name="bundle.product.view.options.notice" template="Magento_Bundle::catalog/product/view/options/notice.phtml"/>
+        <block class="Magento\Bundle\Block\Catalog\Product\View\Type\Bundle" name="product.info.bundle.options" as="type_bundle_options" template="catalog/product/view/type/bundle/options.phtml" before="-">
+            <action method="addRenderer">
+                <argument name="type" xsi:type="string">select</argument>
+                <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\View\Type\Bundle\Option\Select</argument>
+            </action>
+            <action method="addRenderer">
+                <argument name="type" xsi:type="string">multi</argument>
+                <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\View\Type\Bundle\Option\Multi</argument>
+            </action>
+            <action method="addRenderer">
+                <argument name="type" xsi:type="string">radio</argument>
+                <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\View\Type\Bundle\Option\Radio</argument>
+            </action>
+            <action method="addRenderer">
+                <argument name="type" xsi:type="string">checkbox</argument>
+                <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\View\Type\Bundle\Option\Checkbox</argument>
+            </action>
+        </block>
+    </referenceBlock>
+    <referenceBlock name="product.info.options.wrapper.bottom">
+        <remove name="product.tierprices"/>
+        <block class="Magento\Bundle\Block\Catalog\Product\View" name="bundle.tierprices" as="tierprices" before="-" template="Magento_Bundle::catalog/product/view/tierprices.phtml"/>
+        <block class="Magento\CatalogInventory\Block\Qtyincrements" name="product.info.qtyincrements" before="-" template="qtyincrements.phtml"/>
+        <block class="Magento\Bundle\Block\Catalog\Product\View" name="bundle.back.button" as="backButton" after="-" template="catalog/product/view/backbutton.phtml"/>
+        <action method="unsetChild">
+            <argument name="block" xsi:type="string">product.info.addtocart</argument>
+        </action>
+        <action method="setHideRequiredNotice">
+            <argument name="flag" xsi:type="string">1</argument>
+        </action>
+        <action method="unsetChild">
+            <argument name="block" xsi:type="string">product.info.addto</argument>
+        </action>
+    </referenceBlock>
+    <referenceContainer name="content">
+        <container name="bundle.options.container" label="invisible" htmlTag="div" htmlClass="bundle options container" after="product.info.media"/>
+        <move element="product.info" destination="bundle.options.container" before="-"/>
+    </referenceContainer>
+    <referenceContainer name="product.info.type">
+        <block class="Magento\Bundle\Block\Catalog\Product\View\Type\Bundle" name="product.info.bundle" as="product_type_data" template="catalog/product/view/type/bundle.phtml">
+            <action method="addPriceBlockType">
+                <argument name="type" xsi:type="string">bundle</argument>
+                <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\Price</argument>
+                <argument name="template" xsi:type="string">catalog/product/price.phtml</argument>
+            </action>
+        </block>
+        <container name="product.info.bundle.extra" after="product.info.bundle" as="product_type_data_extra" label="Product Extra Info"/>
+        <block class="Magento\Bundle\Block\Catalog\Product\View" name="customize.button" as="customize_button" template="catalog/product/view/customize.phtml"/>
+    </referenceContainer>
+    <referenceBlock name="product.clone_prices">
+        <action method="addPriceBlockType">
+            <argument name="type" xsi:type="string">bundle</argument>
+            <argument name="block" xsi:type="string">Magento\Bundle\Block\Catalog\Product\Price</argument>
+            <argument name="template" xsi:type="string">catalog/product/view/price.phtml</argument>
+        </action>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure_type_configurable.xml b/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure_type_configurable.xml
new file mode 100644
index 0000000000000000000000000000000000000000..9ed018ba6bc36fefb6bac61e3636eeb78f502b79
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure_type_configurable.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Configure Wishlist Item (Configurable)" type="page" parent="catalog_product_view">
+    <referenceBlock name="root">
+        <action method="addBodyClass">
+            <argument name="value" xsi:type="string">type-configurable</argument>
+        </action>
+    </referenceBlock>
+    <referenceContainer name="product.info.type">
+        <block class="Magento\Catalog\Block\Product\View\Type\Configurable" name="product.info.configurable" as="product_type_data" template="product/view/type/default.phtml"/>
+        <container name="product.info.configurable.extra" after="product.info.configurable" as="product_type_data_extra" label="Product Extra Info"/>
+    </referenceContainer>
+    <referenceBlock name="product.info.options.wrapper">
+        <block class="Magento\Catalog\Block\Product\View\Type\Configurable" name="product.info.options.configurable" as="options_configurable" before="-" template="product/view/type/options/configurable.phtml"/>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure_type_grouped.xml b/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure_type_grouped.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6bceb727e4c0e4b100bb2d86e95c0d27bc4ef02b
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure_type_grouped.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Configure Wishlist Item (Grouped)" type="page" parent="catalog_product_view">
+    <referenceContainer name="product.info.form.content">
+        <block class="Magento\Catalog\Block\Product\View\Type\Grouped" name="product.info.grouped" before="product.info.addtocart" template="product/view/type/grouped.phtml"/>
+        <container name="product.info.grouped.extra" after="product.info.grouped" before="product.info.grouped" as="product_type_data_extra" label="Product Extra Info"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure_type_simple.xml b/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure_type_simple.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6c60196129d6c92ce012ad36ab5a4e7194de6ea6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_configure_type_simple.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_index.xml b/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_index.xml
new file mode 100644
index 0000000000000000000000000000000000000000..26a3cfbd6a2a65ba7ffd546f151f2717c1434125
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_index_index.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Customer My Account My Wish List" type="page" parent="customer_account_index">
+    <update handle="customer_account"/>
+    <referenceBlock name="my.account.wrapper">
+        <block class="Magento\Wishlist\Block\Customer\Wishlist" name="customer.wishlist" template="view.phtml">
+            <action method="setTitle">
+                <argument name="title" translate="true" xsi:type="string">My Wish List</argument>
+            </action>
+            <block class="Magento\Wishlist\Block\Customer\Wishlist\Items" name="customer.wishlist.items" as="items" template="item/list.phtml">
+                <block class="Magento\Wishlist\Block\Customer\Wishlist\Item\Column\Image" name="customer.wishlist.item.image" before="-" template="item/column/image.phtml">
+                    <arguments>
+                        <argument name="col_class" xsi:type="string">photo</argument>
+                    </arguments>
+                </block>
+                <block class="Magento\Wishlist\Block\Customer\Wishlist\Item\Column\Comment" name="customer.wishlist.item.info" template="item/column/info.phtml">
+                    <arguments>
+                        <argument name="col_class" xsi:type="string">item</argument>
+                        <argument name="title" translate="true" xsi:type="string">Product Details and Comment</argument>
+                    </arguments>
+                </block>
+                <block class="Magento\Wishlist\Block\Customer\Wishlist\Item\Column\Cart" name="customer.wishlist.item.cart" template="item/column/cart.phtml">
+                    <arguments>
+                        <argument name="col_class" xsi:type="string">actions</argument>
+                        <argument name="title" translate="true" xsi:type="string">Add to Cart</argument>
+                    </arguments>
+                    <block class="Magento\Wishlist\Block\Customer\Wishlist\Item\Options" name="customer.wishlist.item.options"/>
+                </block>
+                <block class="Magento\Wishlist\Block\Customer\Wishlist\Item\Column\Remove" name="customer.wishlist.item.remove" template="item/column/remove.phtml">
+                    <arguments>
+                        <argument name="col_class" xsi:type="string">remove</argument>
+                    </arguments>
+                </block>
+            </block>
+            <container name="customer.wishlist.buttons" as="control_buttons" label="Wishlist Control Buttons">
+                <block class="Magento\Wishlist\Block\Customer\Wishlist\Button" name="customer.wishlist.button.share" template="button/share.phtml"/>
+                <block class="Magento\Wishlist\Block\Customer\Wishlist\Button" name="customer.wishlist.button.toCart" template="button/tocart.phtml"/>
+                <block class="Magento\Wishlist\Block\Customer\Wishlist\Button" name="customer.wishlist.button.update" template="button/update.phtml"/>
+            </container>
+        </block>
+    </referenceBlock>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_shared_index.xml b/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_shared_index.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1e6bd663cc6735410b2ee6ac78a26e6e96de961a
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/layout/override/wishlist_shared_index.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<layout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" label="Customer Shared Wishlist View" type="page" parent="wishlist_index_share">
+    <referenceContainer name="content">
+        <block class="Magento\Wishlist\Block\Share\Wishlist" name="customer.wishlist" template="shared.phtml"/>
+    </referenceContainer>
+</layout>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/shared.phtml b/app/design/frontend/magento_plushe/Magento_Wishlist/shared.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..bb5f0b8f425790693ab9bc1bd5ca3925d2d7d36b
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/shared.phtml
@@ -0,0 +1,79 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/* @var $this \Magento\Wishlist\Block\Share\Wishlist */
+?>
+
+<?php if ($this->hasWishlistItems()): ?>
+<form class="form shared wishlist" action="<?php echo $this->getUrl('*/*/update') ?>" method="post">
+    <table class="table data wishlist" id="wishlist-table">
+        <thead>
+            <tr>
+                <th class="col product"><?php echo __('Product') ?></th>
+                <th class="col comment"><?php echo __('Comment') ?></th>
+                <th class="col actions"><?php echo __('Add to Cart') ?></th>
+            </tr>
+        </thead>
+        <tbody>
+        <?php foreach($this->getWishlistItems() as $item): ?>
+            <?php
+                $product = $item->getProduct();
+                $isVisibleProduct = $product->isVisibleInSiteVisibility();
+            ?>
+            <tr>
+                <td class="col product">
+                    <a class="product photo" href="<?php echo $this->getProductUrl($item) ?>" title="<?php echo $this->escapeHtml($product->getName()) ?>">
+                        <span class="img photo container"><img src="<?php echo $this->getImageUrl($product); ?>" alt="<?php echo $this->escapeHtml($item->getName()) ?>"></span>
+                    </a>
+                    <strong class="product name"><a href="<?php echo $this->getProductUrl($item) ?>"><?php echo $this->escapeHtml($product->getName()) ?></a></strong>
+                    <?php echo $this->getPriceHtml($product) ?>
+                    <?php echo $this->getDetailsHtml($item) ?>
+                </td>
+                <td class="col comment"><?php echo $this->getEscapedDescription($item) ?></td>
+                <td class="col actions">
+                <?php if ($product->isSaleable()): ?>
+                    <?php if ($isVisibleProduct): ?>
+                        <button type="button" title="<?php echo __('Add to Cart') ?>" onclick="setLocation('<?php echo $this->getSharedItemAddToCartUrl($item) ?>')" class="action tocart"><span><?php echo __('Add to Cart') ?></span></button>
+                    <?php endif ?>
+                <?php endif; ?>
+                    <a href="<?php echo $this->getAddToWishlistUrl($item) ?>" onclick="setLocation(this.href); return false;" class="action towishlist" data-action="add-to-wishlist"><span><?php echo __('Add to Wishlist') ?></span></a>
+                </td>
+            </tr>
+        <?php endforeach ?>
+        </tbody>
+    </table>
+    <div class="actions">
+        <?php if($this->isSaleable()):?>
+            <div class="primary">
+                <button type="button" title="<?php echo __('Add All to Cart') ?>" onclick="setLocation('<?php echo $this->getUrl('*/*/allcart', array('_current'=>true)) ?>')" class="action tocart"><span><?php echo __('Add All to Cart') ?></span></button>
+            </div>
+        <?php endif;?>
+        <div class="secondary">
+            <a href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>" class="action back"><span><?php echo __('Back') ?></span></a>
+        </div>
+    </div>
+</form>
+<?php else: ?>
+    <p><?php echo __('Wish List is empty now.') ?></p>
+<?php endif ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/sharing.phtml b/app/design/frontend/magento_plushe/Magento_Wishlist/sharing.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..70da9af4b1c3fea338e94717c50d5bb86f3ffba7
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/sharing.phtml
@@ -0,0 +1,67 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+?>
+<form class="form wishlist share" action="<?php echo $this->getSendUrl() ?>" id="form-validate" method="post" data-hasrequired="<?php echo __('* Required Fields') ?>">
+    <fieldset class="fieldset">
+        <?php echo $this->getBlockHtml('formkey')?>
+        <legend class="legend"><span><?php echo __('Sharing Information') ?></span></legend><br />
+        <div class="field emails required">
+            <label class="label" for="email_address"><span><?php echo __('Email addresses, separated by commas') ?></span></label>
+            <div class="control">
+                <textarea name="emails" cols="60" rows="5" id="email_address" data-validate="{required:true,'validate-emails':true}"><?php echo $this->getEnteredData('emails') ?></textarea>
+            </div>
+        </div>
+        <div class="field text">
+            <label class="label" for="message"><span><?php echo __('Message') ?></span></label>
+            <div class="control">
+                <textarea id="message" name="message" cols="60" rows="5"><?php echo $this->getEnteredData('message') ?></textarea>
+            </div>
+        </div>
+        <?php if($this->helper('Magento\Wishlist\Helper\Data')->isRssAllow()): ?>
+        <div class="field choice rss">
+            <input type="checkbox" name="rss_url" id="rss_url" value="1" title="<?php echo __('Check this checkbox if you want to add a link to an rss feed to your wishlist.') ?>" class="checkbox" />
+            <label class="label" for="rss_url"><span><?php echo __('Check this checkbox if you want to add a link to an rss feed to your wishlist.') ?></span></label>
+        </div>
+        <?php endif; ?>
+    </fieldset>
+    <div class="actions">
+        <div class="primary">
+            <button type="submit" title="<?php echo __('Share Wishlist') ?>" class="action submit"><span><?php echo __('Share Wishlist') ?></span></button>
+        </div>
+        <div class="secondary">
+            <a class="action back" href="<?php echo $this->getBackUrl(); ?>"><span><?php echo __('Back')?></span></a></p>
+        </div>
+    </div>
+</form>
+<script type="text/javascript">
+    (function($) {
+        head.js("<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+            "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+            "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>", function() {
+                $('#form-validate').validation();
+            })
+    })(jQuery);
+</script>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/sidebar.phtml b/app/design/frontend/magento_plushe/Magento_Wishlist/sidebar.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..0925ab152d4cd5116af8dac5b67d6eb41b147c42
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/sidebar.phtml
@@ -0,0 +1,71 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/* @var $this \Magento\Wishlist\Block\Customer\Sidebar */
+?>
+<?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllow()) : ?>
+<?php $imageBlock =  $this->getLayout()->createBlock('Magento\Catalog\Block\Product\Image');?>
+<div class="block wishlist">
+    <div class="title">
+        <strong><?php echo $this->getTitle(); ?></strong>
+    </div>
+    <div class="content">
+    <strong class="subtitle"><?php echo __('Last Added Items') ?></strong>
+    <?php if ($this->hasWishlistItems()): ?>
+    <ol class="items minilist products" id="wishlist-sidebar">
+    <?php $iterator = 1; ?>
+    <?php foreach ($this->getWishlistItems() as $_item): ?>
+        <?php $product = $_item->getProduct(); ?>
+        <?php echo ($iterator++==1) ? '<li class="item product">' : '</li><li class="item product">' ?>
+            <div class="product">
+                <a class="product photo" href="<?php echo $this->getProductUrl($_item) ?>" title="<?php echo $this->escapeHtml($product->getName()) ?>">
+                    <?php echo $imageBlock->init($product, 'wishlist_sidebar_block')->toHtml() ?>
+                </a>
+                <div class="product details">
+                    <strong class="product name"><a href="<?php echo $this->getProductUrl($_item) ?>"><?php echo $this->escapeHtml($product->getName()) ?></a></strong>
+                    <?php echo $this->getPriceHtml($product, false, '-wishlist') ?>
+                    <div class="product actions">
+                        <?php if ($product->isSaleable() && $product->isVisibleInSiteVisibility()): ?>
+                            <div class="primary"><a href="<?php echo $this->getItemAddToCartUrl($_item) ?>" class="action tocart"><span><?php echo __('Add to Cart') ?></span></a></div>
+                        <?php endif; ?>
+                        <div class="secondary">
+                            <a href="<?php echo $this->getItemRemoveUrl($_item) ?>" title="<?php echo __('Remove This Item') ?>" onclick="return confirm('<?php echo __('Are you sure you would like to remove this item from the wishlist?') ?>');" class="action delete">
+                                <span><?php echo __('Remove This Item') ?></span>
+                            </a>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        <?php echo ($iterator==count($this->getWishlistItems())+1) ? '</li>' : '' ?>
+    <?php endforeach; ?>
+    </ol>
+    <div class="actions">
+        <a class="action details" href="<?php echo $this->helper('Magento\Wishlist\Helper\Data')->getListUrl() ?>"><span><?php echo __('Go to Wish List') ?></span></a>
+    </div>
+    <?php else: ?>
+        <p class="empty"><?php echo __('You have no items in your wish list.') ?></p>
+    <?php endif ?>
+    </div>
+</div>
+<?php endif ?>
diff --git a/app/design/frontend/magento_plushe/Magento_Wishlist/view.phtml b/app/design/frontend/magento_plushe/Magento_Wishlist/view.phtml
new file mode 100644
index 0000000000000000000000000000000000000000..dc803e1dc10f5be4bda0bf6dde14f752063cbd72
--- /dev/null
+++ b/app/design/frontend/magento_plushe/Magento_Wishlist/view.phtml
@@ -0,0 +1,81 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/* @var $this \Magento\Wishlist\Block\Customer\Wishlist */
+?>
+<?php if ($this->helper('Magento\Wishlist\Helper\Data')->isAllow()) : ?>
+    <?php if ($this->helper('Magento\Wishlist\Helper\Data')->isRssAllow() && $this->hasWishlistItems()): ?>
+        <a href="<?php echo $this->helper('Magento\Wishlist\Helper\Data')->getRssUrl($this->getWishlistInstance()->getId()); ?>" class="action rss wishlist"><span><?php echo __('RSS Feed') ?></span></a>
+    <?php endif; ?>
+    <form class="form wishlist items" id="wishlist-view-form" action="<?php echo $this->getUrl('*/*/update', array('wishlist_id' => $this->getWishlistInstance()->getId())) ?>" method="post">
+        <?php echo $this->getChildHtml('top'); ?>
+        <?php if ($this->hasWishlistItems()): ?>
+                <?php echo $this->getBlockHtml('formkey');?>
+                <?php $this->getChildBlock('items')->setItems($this->getWishlistItems()); ?>
+                <?php echo $this->getChildHtml('items');?>
+        <?php else: ?>
+            <p class="empty"><?php echo __('You have no items in your wish list.') ?></p>
+        <?php endif ?>
+        <?php echo $this->getChildHtml('bottom'); ?>
+        <div class="actions">
+            <div class="primary"><?php echo $this->getChildHtml('control_buttons');?></div>
+            <div class="secondary"><a href="<?php echo $this->escapeUrl($this->getBackUrl()) ?>" class="action back"><span><?php echo __('Back') ?></span></a></div>
+        </div>
+    </form>
+    <script id="form-tmpl" type="text/x-jQuery-tmpl">
+        <form id="wishlist-hidden-form" method="post" action="${url}" class="no-display">
+            {{if itemId}}<input name="item_id" value="${itemId}"/>{{/if}}
+            {{if wishlistId}}<input name="wishlist_id" value="${wishlistId}"/>{{/if}}
+            {{if qty}}<input name="qty" value="${qty}"/>{{/if}}
+            {{if item}}<input name="item" value="${item}"/>{{/if}}
+            {{if entity}}<input name="entity" value="${entity}"/>{{/if}}
+        </form>
+    </script>
+    <script>
+        (function($) {
+            head.js("<?php echo $this->getViewFileUrl('jquery/jquery.validate.js')?>",
+                "<?php echo $this->getViewFileUrl('jquery/jquery.metadata.js')?>",
+                "<?php echo $this->getViewFileUrl('mage/validation.js')?>",
+                "<?php echo $this->getViewFileUrl('mage/validation/validation.js')?>",
+                "<?php echo $this->getViewFileUrl('Magento_Persistent::splitbutton.js') ?>",
+                "<?php echo $this->getViewFileUrl('Magento_Wishlist::wishlist.js')?>", function() {
+                    $('#wishlist-view-form').wishlist({
+                        dataAttribute: 'item-id',
+                        nameFormat: 'qty[{0}]',
+                        btnRemoveSelector: '.action.delete',
+                        qtySelector: '.qty',
+                        addToCartSelector: '.action.tocart',
+                        addAllToCartSelector: '.primary > .action.tocart',
+                        commentInputType: 'textarea',
+                        infoList: false,
+                        addToCartUrl: '<?php echo $this->getItemAddToCartUrl('%item%');?>' ,
+                        confirmRemoveMessage: '<?php echo __('Are you sure you want to remove this product from your wishlist?') ?>',
+                        addAllToCartUrl : '<?php echo $this->getUrl('*/*/allcart', array('wishlist_id' => $this->getWishlistInstance()->getId())) ?>',
+                        commentString : ''
+                    });
+                    $('body').splitButton();
+                });
+        })(jQuery);
+    </script>
+<?php endif ?>
diff --git a/app/design/frontend/magento_plushe/css/print.css b/app/design/frontend/magento_plushe/css/print.css
new file mode 100644
index 0000000000000000000000000000000000000000..c522d1b9e47c51eaa567963e50d66e030fdfe1e1
--- /dev/null
+++ b/app/design/frontend/magento_plushe/css/print.css
@@ -0,0 +1,158 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+*     { background:none !important; text-align:left !important; }
+body  { background:#fff !important; font-size:9pt !important; margin:15px !important; }
+
+.header-container,
+.footer-before-container,
+.footer-container,
+.widget,
+.pager,
+.toolbar,
+.actions,
+.buttons-set { display:none !important; }
+
+.page-print .data-table .cart-tax-total { background-position:100% -54px; }
+.page-print .data-table .cart-tax-info { display:block !important; }
+
+
+
+
+/*
+ *    My Account -> My Orders
+ *
+----------------------------------------------------------------------------- */
+.order-date {
+    margin-bottom: 15px;
+}
+
+.order.details .title,
+.order.details .caption {
+    clear: both;
+    margin-bottom: 15px;
+}
+
+.order.details .title strong,
+.order.details .caption strong {
+    line-height: 1.2;
+    font-weight: 200;
+    font-size: 20px;
+}
+
+/* blocks */
+.order.details .block.order {
+    float: left;
+    width: 48%;
+    margin-bottom: 30px;
+    padding-right: 2%;
+}
+.order.details .block.order .title {
+    margin-bottom: 15px;
+}
+.order.details .block.order .title strong {
+    line-height: 1.2;
+    font-weight: 200;
+    font-size: 20px;
+}
+.order.details .block.order .content address {
+    font-style: normal;
+}
+.data.table.order.tracking {
+    margin: 10px 0;
+}
+
+/* tables */
+.data.table.order {
+    margin-bottom: 45px;
+    width: 100%;
+}
+.data.table.order thead th {
+    padding: 0 10px;
+}
+.data.table.order thead tr:last-child th {
+    padding-bottom: 10px;
+    border-bottom: 3px solid #e5e5e5;
+}
+.data.table.order td.col.qty {
+    width: 90px;
+    text-align: left;
+}
+.data.table.order td.col.price,
+.data.table.order td.col.subtotal {
+    text-align: left;
+}
+.data.table.order td {
+    padding: 16px 10px 10px;
+    vertical-align: top;
+}
+.data.table.order th {
+    text-align: left;
+    font-weight: 400;
+    font-size: 14px;
+    vertical-align: top;
+}
+.data.table.order tr:first-child th {
+    font-weight: 400;
+    font-size: 16px;
+}
+
+/* h4 */
+.data.table.order td h4 {
+    margin: 0;
+}
+
+/* .item.options */
+.data.table.order .item.options,
+.data.table.order .item-options {
+    margin: 5px 0;
+}
+.data.table.order .item.options dt,
+.data.table.order .item-options dt {
+    font-weight: 400;
+    display: inline;
+    margin-right: 10px;
+    float: left;
+    clear: left;
+}
+.data.table.order .item.options dt:after,
+.data.table.order .item-options dt:after {
+    content: ': ';
+}
+.data.table.order .item.options dd,
+.data.table.order .item-options dd {
+    font-weight: 200;
+    margin: 0 0 10px 10px;
+    padding: 0;
+}
+
+/* tfoot */
+.data.table.order tfoot tr:first-child td {
+    border-top: 3px solid #e5e5e5;
+    padding-top: 15px;
+}
+.data.table.order.tracking th,
+.data.table.order.tracking td {
+    padding: 0;
+}
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/css/styles.css b/app/design/frontend/magento_plushe/css/styles.css
new file mode 100644
index 0000000000000000000000000000000000000000..85ba910cf2f2b85e70b82a8627e4615cd7346fc6
--- /dev/null
+++ b/app/design/frontend/magento_plushe/css/styles.css
@@ -0,0 +1,10859 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/* normalize.css 2012-03-11T12:53 UTC - http://github.com/necolas/normalize.css */
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+nav,
+section,
+summary {
+  display: block;
+}
+audio,
+canvas,
+video {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+}
+audio:not([controls]) {
+  display: none;
+  height: 0;
+}
+[hidden] {
+  display: none;
+}
+html {
+  font-size: 100%;
+  -webkit-text-size-adjust: 100%;
+  -ms-text-size-adjust: 100%;
+}
+html,
+button,
+input,
+select,
+textarea {
+  font-family: sans-serif;
+}
+body {
+  margin: 0;
+}
+a:focus {
+  outline: thin dotted;
+}
+a:hover,
+a:active {
+  outline: 0;
+}
+h1 {
+  font-size: 2em;
+  margin: 0.67em 0;
+}
+h2 {
+  font-size: 1.5em;
+  margin: 0.83em 0;
+}
+h3 {
+  font-size: 1.17em;
+  margin: 1em 0;
+}
+h4 {
+  font-size: 1em;
+  margin: 1.33em 0;
+}
+h5 {
+  font-size: 0.83em;
+  margin: 1.67em 0;
+}
+h6 {
+  font-size: 0.75em;
+  margin: 2.33em 0;
+}
+abbr[title] {
+  border-bottom: 1px dotted;
+}
+b,
+strong {
+  font-weight: bold;
+}
+blockquote {
+  margin: 1em 40px;
+}
+dfn {
+  font-style: italic;
+}
+mark {
+  background: #ff0;
+  color: #000;
+}
+p,
+pre {
+  margin: 1em 0;
+}
+pre,
+code,
+kbd,
+samp {
+  font-family: monospace, serif;
+  _font-family: 'courier new', monospace;
+  font-size: 1em;
+}
+pre {
+  white-space: pre;
+  white-space: pre-wrap;
+  word-wrap: break-word;
+}
+q {
+  quotes: none;
+}
+q:before,
+q:after {
+  content: '';
+  content: none;
+}
+small {
+  font-size: 75%;
+}
+sub,
+sup {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+}
+sup {
+  top: -0.5em;
+}
+sub {
+  bottom: -0.25em;
+}
+dl,
+menu,
+ol,
+ul {
+  margin: 1em 0;
+}
+dd {
+  margin: 0 0 0 40px;
+}
+menu,
+ol,
+ul {
+  padding: 0 0 0 40px;
+}
+nav ul,
+nav ol {
+  list-style: none;
+  list-style-image: none;
+}
+img {
+  border: 0;
+  -ms-interpolation-mode: bicubic;
+}
+svg:not(:root) {
+  overflow: hidden;
+}
+figure {
+  margin: 0;
+}
+form {
+  margin: 0;
+}
+fieldset {
+  border: 1px solid #c0c0c0;
+  margin: 0 2px;
+  padding: 0.35em 0.625em 0.75em;
+}
+legend {
+  border: 0;
+  padding: 0;
+  white-space: normal;
+  *margin-left: -7px;
+}
+button,
+input,
+select,
+textarea {
+  font-size: 100%;
+  margin: 0;
+  vertical-align: baseline;
+  *vertical-align: middle;
+}
+button,
+input {
+  line-height: normal;
+}
+button,
+input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+  cursor: pointer;
+  -webkit-appearance: button;
+  *overflow: visible;
+}
+button[disabled],
+input[disabled] {
+  cursor: default;
+}
+input[type="checkbox"],
+input[type="radio"] {
+  box-sizing: border-box;
+  padding: 0;
+  *height: 13px;
+  *width: 13px;
+}
+input[type="search"] {
+  -webkit-appearance: textfield;
+  -moz-box-sizing: content-box;
+  -webkit-box-sizing: content-box;
+  box-sizing: content-box;
+}
+input[type="search"]::-webkit-search-decoration,
+input[type="search"]::-webkit-search-cancel-button {
+  -webkit-appearance: none;
+}
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+  border: 0;
+  padding: 0;
+}
+textarea {
+  overflow: auto;
+  vertical-align: top;
+}
+table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+@font-face {
+  font-family: "sourcesanspro";
+  src: url('../fonts/sourcesanspro/sourcesanspro-200-normal-webfont.eot');
+  src: url('../fonts/sourcesanspro/sourcesanspro-200-normal-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/sourcesanspro/sourcesanspro-200-normal-webfont.woff') format('woff'), url('../fonts/sourcesanspro/sourcesanspro-200-normal-webfont.ttf') format('truetype'), url('../fonts/sourcesanspro/sourcesanspro-200-normal-webfont.svg#sourcesanspro') format('svg');
+  font-weight: 200;
+  font-style: normal;
+}
+@font-face {
+  font-family: "sourcesanspro";
+  src: url('../fonts/sourcesanspro/sourcesanspro-200-normal-webfont.eot');
+  src: url('../fonts/sourcesanspro/sourcesanspro-200-normal-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/sourcesanspro/sourcesanspro-200-normal-webfont.woff') format('woff'), url('../fonts/sourcesanspro/sourcesanspro-200-normal-webfont.ttf') format('truetype'), url('../fonts/sourcesanspro/sourcesanspro-200-normal-webfont.svg#sourcesanspro') format('svg');
+  font-weight: 200;
+  font-style: normal;
+}
+@font-face {
+  font-family: "sourcesanspro";
+  src: url('../fonts/sourcesanspro/sourcesanspro-400-normal-webfont.eot');
+  src: url('../fonts/sourcesanspro/sourcesanspro-400-normal-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/sourcesanspro/sourcesanspro-400-normal-webfont.woff') format('woff'), url('../fonts/sourcesanspro/sourcesanspro-400-normal-webfont.ttf') format('truetype'), url('../fonts/sourcesanspro/sourcesanspro-400-normal-webfont.svg#sourcesanspro') format('svg');
+  font-weight: 400;
+  font-style: normal;
+}
+@font-face {
+  font-family: "sourcesanspro";
+  src: url('../fonts/sourcesanspro/sourcesanspro-600-normal-webfont.eot');
+  src: url('../fonts/sourcesanspro/sourcesanspro-600-normal-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/sourcesanspro/sourcesanspro-600-normal-webfont.woff') format('woff'), url('../fonts/sourcesanspro/sourcesanspro-600-normal-webfont.ttf') format('truetype'), url('../fonts/sourcesanspro/sourcesanspro-600-normal-webfont.svg#sourcesanspro') format('svg');
+  font-weight: 600;
+  font-style: normal;
+}
+@font-face {
+  font-family: "sourcesanspro";
+  src: url('../fonts/sourcesanspro/sourcesanspro-700-normal-webfont.eot');
+  src: url('../fonts/sourcesanspro/sourcesanspro-700-normal-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/sourcesanspro/sourcesanspro-700-normal-webfont.woff') format('woff'), url('../fonts/sourcesanspro/sourcesanspro-700-normal-webfont.ttf') format('truetype'), url('../fonts/sourcesanspro/sourcesanspro-700-normal-webfont.svg#sourcesanspro') format('svg');
+  font-weight: 700;
+  font-style: normal;
+}
+@font-face {
+  font-family: "marvel";
+  src: url('../fonts/marvel/marvel-400-normal-webfont.eot');
+  src: url('../fonts/marvel/marvel-400-normal-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/marvel/marvel-400-normal-webfont.woff') format('woff'), url('../fonts/marvel/marvel-400-normal-webfont.ttf') format('truetype'), url('../fonts/marvel/marvel-400-normal-webfont.svg#marvel') format('svg');
+  font-weight: 400;
+  font-style: normal;
+}
+@font-face {
+  font-family: "icons";
+  src: url('../fonts/icons/icons.eot');
+  src: url('../fonts/icons/icons.eot?#iefix') format('embedded-opentype'), url('../fonts/icons/icons.woff') format('woff'), url('../fonts/icons/icons.ttf') format('truetype'), url('../fonts/icons/icons.svg#icons') format('svg');
+  font-weight: 400;
+  font-style: normal;
+}
+html,
+body,
+button,
+input,
+select,
+textarea {
+  font: 400 14px/1.33 "sourcesanspro";
+  color: #675f55;
+}
+nav ul,
+nav ol {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+}
+h1 {
+  color: #675f55;
+  font: 200 30px/1.2 "sourcesanspro";
+}
+h2 {
+  color: #675f55;
+  font: 400 20px/1.2 "sourcesanspro";
+}
+h3 {
+  color: #675f55;
+  font: 600 18px/1.2 "sourcesanspro";
+}
+h4 {
+  color: #675f55;
+  font: 600 16px/1.2 "sourcesanspro";
+}
+h5 {
+  color: #675f55;
+  font: 600 14px/1.2 "sourcesanspro";
+}
+h6 {
+  color: #675f55;
+  font: 600 12px/1.2 "sourcesanspro";
+}
+a {
+  color: #332e29;
+  text-decoration: none;
+}
+a:visited {
+  color: #332e29;
+}
+a:hover,
+a:active {
+  color: #da370a;
+}
+q:before {
+  content: "\201c";
+}
+q:after {
+  content: "\201d";
+}
+q q:before {
+  content: "\2018";
+}
+q q:after {
+  content: "\2019";
+}
+table th {
+  border-right: 1px solid #e5e5e5;
+  font-size: 16px;
+  padding: 7px 10px;
+}
+table th:last-child {
+  border-right: 0;
+}
+table td {
+  border-right: 1px solid #e5e5e5;
+  padding: 7px 10px;
+  vertical-align: top;
+}
+table td:last-child {
+  border-right: 0;
+}
+table tbody tr:nth-child(odd) td {
+  background: #f8f8f8;
+}
+blockquote {
+  margin: 10px 20px 10px 40px;
+}
+blockquote:before {
+  color: #999999;
+  content: "\201C";
+  display: block;
+  font-family: Georgia, serif;
+  font-size: 60px;
+  font-style: italic;
+  position: absolute;
+  left: 15px;
+  top: 10px;
+}
+blockquote cite {
+  color: #999999;
+  font-style: italic;
+  font-size: 12px;
+  margin: 1em 0;
+}
+hr {
+  background: #c2c2c2;
+  border: 0;
+  color: #c2c2c2;
+  height: 1px;
+  margin: 1em 0;
+}
+.profileBlockWithBg,
+.multicheckout > .block.shipping .box,
+.multicheckout > .block.billing .box,
+.multicheckout .block.other .content {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  background: #f8f8f8;
+  padding: 30px;
+}
+.primary.action,
+.action.myPrimary,
+input[type="submit"],
+input[type="button"],
+.form.settings .action.submit,
+.fieldset.login .actions .action.login,
+.opc .actions .primary .action,
+.cart.summary .fieldset .action:not(.check),
+.popup .actions .action.submit,
+.page.title .action,
+.block.add.review .action.submit,
+.opc.wrapper .form:not(.login) .actions button.action,
+.step.login.wrapper button.action:not(.reload),
+.multicheckout .action.continue,
+.multicheckout .action.submit,
+.multicheckout .action.add,
+.cart.summary .block .action,
+.action.checkout,
+.form.newsletter.manage .action.save,
+.action.tocart,
+.action.primary.customize,
+.action.primary.tocart,
+.login.container .action.login,
+.login.container .action.create,
+.form.send.friend .action.save,
+.form.address.edit .action.save,
+.form.edit.account .action.save,
+.form.search.advanced .action.save,
+.form.orders.search .action.save,
+.form.contact .action.save,
+.form.password.forget .action.save,
+.form.create.account .action.save,
+.form.wishlist.share .action.save,
+.form.password.reset .action.save,
+.form.paypal.review .action.save,
+.form.send.friend .action.submit,
+.form.address.edit .action.submit,
+.form.edit.account .action.submit,
+.form.search.advanced .action.submit,
+.form.orders.search .action.submit,
+.form.contact .action.submit,
+.form.password.forget .action.submit,
+.form.create.account .action.submit,
+.form.wishlist.share .action.submit,
+.form.password.reset .action.submit,
+.form.paypal.review .action.submit,
+.form.send.friend .action.add,
+.form.address.edit .action.add,
+.form.edit.account .action.add,
+.form.search.advanced .action.add,
+.form.orders.search .action.add,
+.form.contact .action.add,
+.form.password.forget .action.add,
+.form.create.account .action.add,
+.form.wishlist.share .action.add,
+.form.password.reset .action.add,
+.form.paypal.review .action.add,
+.form.search.advanced .action,
+.form.orders.search .action,
+.form.contact .action,
+.data.table.wishlist + .actions .primary .action.share,
+.data.table.wishlist + .actions .primary .action.update,
+.action.myPrimary,
+input[type="submit"],
+input[type="button"],
+.form.settings .action.submit,
+.fieldset.login .actions .action.login,
+.opc .actions .primary .action,
+.cart.summary .fieldset .action:not(.check),
+.popup .actions .action.submit,
+.page.title .action,
+.block.add.review .action.submit,
+.opc.wrapper .form:not(.login) .actions button.action,
+.step.login.wrapper button.action:not(.reload),
+.multicheckout .action.continue,
+.multicheckout .action.submit,
+.multicheckout .action.add,
+.cart.summary .block .action,
+.action.checkout,
+.form.newsletter.manage .action.save,
+.action.tocart,
+.action.primary.customize,
+.action.primary.tocart,
+.login.container .action.login,
+.login.container .action.create,
+.form.send.friend .action.save,
+.form.address.edit .action.save,
+.form.edit.account .action.save,
+.form.search.advanced .action.save,
+.form.orders.search .action.save,
+.form.contact .action.save,
+.form.password.forget .action.save,
+.form.create.account .action.save,
+.form.wishlist.share .action.save,
+.form.password.reset .action.save,
+.form.paypal.review .action.save,
+.form.send.friend .action.submit,
+.form.address.edit .action.submit,
+.form.edit.account .action.submit,
+.form.search.advanced .action.submit,
+.form.orders.search .action.submit,
+.form.contact .action.submit,
+.form.password.forget .action.submit,
+.form.create.account .action.submit,
+.form.wishlist.share .action.submit,
+.form.password.reset .action.submit,
+.form.paypal.review .action.submit,
+.form.send.friend .action.add,
+.form.address.edit .action.add,
+.form.edit.account .action.add,
+.form.search.advanced .action.add,
+.form.orders.search .action.add,
+.form.contact .action.add,
+.form.password.forget .action.add,
+.form.create.account .action.add,
+.form.wishlist.share .action.add,
+.form.password.reset .action.add,
+.form.paypal.review .action.add,
+.form.search.advanced .action,
+.form.orders.search .action,
+.form.contact .action,
+.data.table.wishlist + .actions .primary .action.share,
+.data.table.wishlist + .actions .primary .action.update {
+  background-color: #da370a;
+  color: #ffffff;
+}
+.primary.action:focus,
+.primary.action:active,
+.primary.action:hover,
+.action.myPrimary:focus,
+.action.myPrimary:active,
+.action.myPrimary:hover,
+input[type="submit"]:focus,
+input[type="submit"]:active,
+input[type="submit"]:hover,
+input[type="button"]:focus,
+input[type="button"]:active,
+input[type="button"]:hover,
+.form.settings .action.submit:focus,
+.form.settings .action.submit:active,
+.form.settings .action.submit:hover,
+.fieldset.login .actions .action.login:focus,
+.fieldset.login .actions .action.login:active,
+.fieldset.login .actions .action.login:hover,
+.opc .actions .primary .action:focus,
+.opc .actions .primary .action:active,
+.opc .actions .primary .action:hover,
+.cart.summary .fieldset .action:not(.check):focus,
+.cart.summary .fieldset .action:not(.check):active,
+.cart.summary .fieldset .action:not(.check):hover,
+.popup .actions .action.submit:focus,
+.popup .actions .action.submit:active,
+.popup .actions .action.submit:hover,
+.page.title .action:focus,
+.page.title .action:active,
+.page.title .action:hover,
+.block.add.review .action.submit:focus,
+.block.add.review .action.submit:active,
+.block.add.review .action.submit:hover,
+.opc.wrapper .form:not(.login) .actions button.action:focus,
+.opc.wrapper .form:not(.login) .actions button.action:active,
+.opc.wrapper .form:not(.login) .actions button.action:hover,
+.step.login.wrapper button.action:not(.reload):focus,
+.step.login.wrapper button.action:not(.reload):active,
+.step.login.wrapper button.action:not(.reload):hover,
+.multicheckout .action.continue:focus,
+.multicheckout .action.continue:active,
+.multicheckout .action.continue:hover,
+.multicheckout .action.submit:focus,
+.multicheckout .action.submit:active,
+.multicheckout .action.submit:hover,
+.multicheckout .action.add:focus,
+.multicheckout .action.add:active,
+.multicheckout .action.add:hover,
+.cart.summary .block .action:focus,
+.cart.summary .block .action:active,
+.cart.summary .block .action:hover,
+.action.checkout:focus,
+.action.checkout:active,
+.action.checkout:hover,
+.form.newsletter.manage .action.save:focus,
+.form.newsletter.manage .action.save:active,
+.form.newsletter.manage .action.save:hover,
+.action.tocart:focus,
+.action.tocart:active,
+.action.tocart:hover,
+.action.primary.customize:focus,
+.action.primary.customize:active,
+.action.primary.customize:hover,
+.action.primary.tocart:focus,
+.action.primary.tocart:active,
+.action.primary.tocart:hover,
+.login.container .action.login:focus,
+.login.container .action.login:active,
+.login.container .action.login:hover,
+.login.container .action.create:focus,
+.login.container .action.create:active,
+.login.container .action.create:hover,
+.form.send.friend .action.save:focus,
+.form.send.friend .action.save:active,
+.form.send.friend .action.save:hover,
+.form.address.edit .action.save:focus,
+.form.address.edit .action.save:active,
+.form.address.edit .action.save:hover,
+.form.edit.account .action.save:focus,
+.form.edit.account .action.save:active,
+.form.edit.account .action.save:hover,
+.form.search.advanced .action.save:focus,
+.form.search.advanced .action.save:active,
+.form.search.advanced .action.save:hover,
+.form.orders.search .action.save:focus,
+.form.orders.search .action.save:active,
+.form.orders.search .action.save:hover,
+.form.contact .action.save:focus,
+.form.contact .action.save:active,
+.form.contact .action.save:hover,
+.form.password.forget .action.save:focus,
+.form.password.forget .action.save:active,
+.form.password.forget .action.save:hover,
+.form.create.account .action.save:focus,
+.form.create.account .action.save:active,
+.form.create.account .action.save:hover,
+.form.wishlist.share .action.save:focus,
+.form.wishlist.share .action.save:active,
+.form.wishlist.share .action.save:hover,
+.form.password.reset .action.save:focus,
+.form.password.reset .action.save:active,
+.form.password.reset .action.save:hover,
+.form.paypal.review .action.save:focus,
+.form.paypal.review .action.save:active,
+.form.paypal.review .action.save:hover,
+.form.send.friend .action.submit:focus,
+.form.send.friend .action.submit:active,
+.form.send.friend .action.submit:hover,
+.form.address.edit .action.submit:focus,
+.form.address.edit .action.submit:active,
+.form.address.edit .action.submit:hover,
+.form.edit.account .action.submit:focus,
+.form.edit.account .action.submit:active,
+.form.edit.account .action.submit:hover,
+.form.search.advanced .action.submit:focus,
+.form.search.advanced .action.submit:active,
+.form.search.advanced .action.submit:hover,
+.form.orders.search .action.submit:focus,
+.form.orders.search .action.submit:active,
+.form.orders.search .action.submit:hover,
+.form.contact .action.submit:focus,
+.form.contact .action.submit:active,
+.form.contact .action.submit:hover,
+.form.password.forget .action.submit:focus,
+.form.password.forget .action.submit:active,
+.form.password.forget .action.submit:hover,
+.form.create.account .action.submit:focus,
+.form.create.account .action.submit:active,
+.form.create.account .action.submit:hover,
+.form.wishlist.share .action.submit:focus,
+.form.wishlist.share .action.submit:active,
+.form.wishlist.share .action.submit:hover,
+.form.password.reset .action.submit:focus,
+.form.password.reset .action.submit:active,
+.form.password.reset .action.submit:hover,
+.form.paypal.review .action.submit:focus,
+.form.paypal.review .action.submit:active,
+.form.paypal.review .action.submit:hover,
+.form.send.friend .action.add:focus,
+.form.send.friend .action.add:active,
+.form.send.friend .action.add:hover,
+.form.address.edit .action.add:focus,
+.form.address.edit .action.add:active,
+.form.address.edit .action.add:hover,
+.form.edit.account .action.add:focus,
+.form.edit.account .action.add:active,
+.form.edit.account .action.add:hover,
+.form.search.advanced .action.add:focus,
+.form.search.advanced .action.add:active,
+.form.search.advanced .action.add:hover,
+.form.orders.search .action.add:focus,
+.form.orders.search .action.add:active,
+.form.orders.search .action.add:hover,
+.form.contact .action.add:focus,
+.form.contact .action.add:active,
+.form.contact .action.add:hover,
+.form.password.forget .action.add:focus,
+.form.password.forget .action.add:active,
+.form.password.forget .action.add:hover,
+.form.create.account .action.add:focus,
+.form.create.account .action.add:active,
+.form.create.account .action.add:hover,
+.form.wishlist.share .action.add:focus,
+.form.wishlist.share .action.add:active,
+.form.wishlist.share .action.add:hover,
+.form.password.reset .action.add:focus,
+.form.password.reset .action.add:active,
+.form.password.reset .action.add:hover,
+.form.paypal.review .action.add:focus,
+.form.paypal.review .action.add:active,
+.form.paypal.review .action.add:hover,
+.form.search.advanced .action:focus,
+.form.search.advanced .action:active,
+.form.search.advanced .action:hover,
+.form.orders.search .action:focus,
+.form.orders.search .action:active,
+.form.orders.search .action:hover,
+.form.contact .action:focus,
+.form.contact .action:active,
+.form.contact .action:hover,
+.data.table.wishlist + .actions .primary .action.share:focus,
+.data.table.wishlist + .actions .primary .action.share:active,
+.data.table.wishlist + .actions .primary .action.share:hover,
+.data.table.wishlist + .actions .primary .action.update:focus,
+.data.table.wishlist + .actions .primary .action.update:active,
+.data.table.wishlist + .actions .primary .action.update:hover {
+  background-color: #a92b08;
+}
+.secondary.action,
+.action.mySecondary,
+input[type="reset"],
+.action.mySecondaryButton,
+.popup .actions .action.cancel,
+.multicheckout .action.update,
+.cart.main.actions .action.update,
+.cart.main.actions .action.clear,
+.block.compare .action.compare,
+.data.comparison .cell.remove .action.delete,
+.form.send.friend .actions > .primary .action.add,
+.paypal.review.view .actions .action.update,
+.shipping-tracking-popup .action.close,
+.action.mySecondary,
+input[type="reset"],
+.action.mySecondaryButton,
+.popup .actions .action.cancel,
+.multicheckout .action.update,
+.cart.main.actions .action.update,
+.cart.main.actions .action.clear,
+.block.compare .action.compare,
+.data.comparison .cell.remove .action.delete,
+.form.send.friend .actions > .primary .action.add,
+.paypal.review.view .actions .action.update,
+.shipping-tracking-popup .action.close {
+  background-color: #c2c2c2;
+  color: #ffffff;
+}
+.secondary.action:focus,
+.secondary.action:active,
+.secondary.action:hover,
+.action.mySecondary:focus,
+.action.mySecondary:active,
+.action.mySecondary:hover,
+input[type="reset"]:focus,
+input[type="reset"]:active,
+input[type="reset"]:hover,
+.action.mySecondaryButton:focus,
+.action.mySecondaryButton:active,
+.action.mySecondaryButton:hover,
+.popup .actions .action.cancel:focus,
+.popup .actions .action.cancel:active,
+.popup .actions .action.cancel:hover,
+.multicheckout .action.update:focus,
+.multicheckout .action.update:active,
+.multicheckout .action.update:hover,
+.cart.main.actions .action.update:focus,
+.cart.main.actions .action.update:active,
+.cart.main.actions .action.update:hover,
+.cart.main.actions .action.clear:focus,
+.cart.main.actions .action.clear:active,
+.cart.main.actions .action.clear:hover,
+.block.compare .action.compare:focus,
+.block.compare .action.compare:active,
+.block.compare .action.compare:hover,
+.data.comparison .cell.remove .action.delete:focus,
+.data.comparison .cell.remove .action.delete:active,
+.data.comparison .cell.remove .action.delete:hover,
+.form.send.friend .actions > .primary .action.add:focus,
+.form.send.friend .actions > .primary .action.add:active,
+.form.send.friend .actions > .primary .action.add:hover,
+.paypal.review.view .actions .action.update:focus,
+.paypal.review.view .actions .action.update:active,
+.paypal.review.view .actions .action.update:hover,
+.shipping-tracking-popup .action.close:focus,
+.shipping-tracking-popup .action.close:active,
+.shipping-tracking-popup .action.close:hover {
+  background-color: #a9a9a9;
+}
+.button.link,
+.action.myLink,
+.fieldset .fields.dates .field .ui-datepicker-trigger,
+.multicheckout.success .action.continue {
+  background: none;
+  border: 0;
+  display: inline;
+  color: #332e29;
+  margin: 0;
+  padding: 0;
+  text-decoration: underline;
+}
+.button.link:focus,
+.button.link:active,
+.button.link:hover,
+.action.myLink:focus,
+.action.myLink:active,
+.action.myLink:hover,
+.fieldset .fields.dates .field .ui-datepicker-trigger:focus,
+.fieldset .fields.dates .field .ui-datepicker-trigger:active,
+.fieldset .fields.dates .field .ui-datepicker-trigger:hover,
+.multicheckout.success .action.continue:focus,
+.multicheckout.success .action.continue:active,
+.multicheckout.success .action.continue:hover {
+  color: #da370a;
+  text-decoration: none;
+}
+.button.action,
+.primary.action,
+.secondary.action,
+.action.myPrimary,
+.action.mySecondary,
+input[type="submit"],
+input[type="button"],
+input[type="reset"],
+.form.settings .action.submit,
+.fieldset.login .actions .action.login,
+.action.mySecondaryButton,
+.opc .actions .primary .action,
+.cart.summary .fieldset .action:not(.check),
+.popup .actions .action.submit,
+.popup .actions .action.cancel,
+.page.title .action,
+.block.add.review .action.submit,
+.opc.wrapper .form:not(.login) .actions button.action,
+.step.login.wrapper button.action:not(.reload),
+.multicheckout .action.update,
+.multicheckout .action.continue,
+.multicheckout .action.submit,
+.multicheckout .action.add,
+.cart.main.actions .action.update,
+.cart.main.actions .action.clear,
+.cart.summary .block .action,
+.action.checkout,
+.form.newsletter.manage .action.save,
+.block.compare .action.compare,
+.data.comparison .cell.remove .action.delete,
+.action.tocart,
+.action.primary.customize,
+.action.primary.tocart,
+.login.container .action.login,
+.login.container .action.create,
+.form.send.friend .action.save,
+.form.address.edit .action.save,
+.form.edit.account .action.save,
+.form.search.advanced .action.save,
+.form.orders.search .action.save,
+.form.contact .action.save,
+.form.password.forget .action.save,
+.form.create.account .action.save,
+.form.wishlist.share .action.save,
+.form.password.reset .action.save,
+.form.paypal.review .action.save,
+.form.send.friend .action.submit,
+.form.address.edit .action.submit,
+.form.edit.account .action.submit,
+.form.search.advanced .action.submit,
+.form.orders.search .action.submit,
+.form.contact .action.submit,
+.form.password.forget .action.submit,
+.form.create.account .action.submit,
+.form.wishlist.share .action.submit,
+.form.password.reset .action.submit,
+.form.paypal.review .action.submit,
+.form.send.friend .action.add,
+.form.address.edit .action.add,
+.form.edit.account .action.add,
+.form.search.advanced .action.add,
+.form.orders.search .action.add,
+.form.contact .action.add,
+.form.password.forget .action.add,
+.form.create.account .action.add,
+.form.wishlist.share .action.add,
+.form.password.reset .action.add,
+.form.paypal.review .action.add,
+.form.send.friend .actions > .primary .action.add,
+.form.search.advanced .action,
+.form.orders.search .action,
+.form.contact .action,
+.paypal.review.view .actions .action.update,
+.data.table.wishlist + .actions .primary .action.share,
+.data.table.wishlist + .actions .primary .action.update,
+.shipping-tracking-popup .action.close {
+  border: none;
+  border-radius: 0;
+  font: 600 14px/16px;
+  text-transform: uppercase;
+  margin: 0;
+  padding: 9px 11px 9px;
+  box-shadow: none;
+  text-shadow: none;
+  outline: none;
+  text-decoration: none;
+}
+.action + .action {
+  margin-left: 5px;
+}
+.hasRequired:after,
+.form.validation:after,
+.opc .form:after {
+  content: attr(data-hasrequired);
+  display: block;
+  font-size: 14px;
+  margin: 10px 0 0;
+  color: #da370a;
+  letter-spacing: normal;
+  word-spacing: normal;
+}
+.load.indicator {
+  display: inline-block;
+  margin: 20px auto;
+  padding: 8px;
+  vertical-align: middle;
+}
+.load.indicator span {
+  display: block;
+  line-height: 16px;
+}
+.load.indicator span:before {
+  content: '';
+  margin-right: 5px;
+  display: inline-block;
+  width: 16px;
+  height: 16px;
+  background: url("../images/loader.gif") no-repeat 0 0;
+  background-color: #da370a;
+  vertical-align: top;
+}
+.form .actions {
+  margin-right: 10px;
+  text-align: right;
+}
+.fieldset {
+  border: 0;
+  margin: 30px 10px 30px 30px;
+  padding: 0;
+  letter-spacing: -0.31em;
+  word-spacing: -0.43em;
+}
+.fieldset > * {
+  letter-spacing: normal;
+  word-spacing: normal;
+}
+.fieldset > .legend {
+  float: left;
+  font: 400 20px/1.2 "sourcesanspro";
+  margin: -30px 30px 50px -30px;
+  width: 100%;
+}
+.fieldset > .legend + br {
+  display: block;
+  *zoom: 1;
+}
+.fieldset > .legend + br:before,
+.fieldset > .legend + br:after {
+  content: "";
+  display: table;
+}
+.fieldset > .legend + br:after {
+  clear: both;
+}
+.fieldset > .field {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  margin: 0 0 20px;
+}
+.fieldset > .field > .label {
+  display: block;
+  padding-bottom: 5px;
+}
+.fieldset > .field .nested .field {
+  margin: 5px 0;
+}
+.fieldset > .field.choice > .control {
+  width: auto;
+}
+.fieldset > .field.choice > .label {
+  display: inline;
+}
+.fieldset > .field.choice > input {
+  vertical-align: top;
+  margin-top: 2px;
+  margin-right: 5px;
+}
+.fieldset > .field.required > .label > span:first-child:after {
+  content: '*';
+  color: #da370a;
+}
+.fieldset > .field .addon {
+  display: table;
+  padding: 0;
+  width: 100%;
+}
+.fieldset > .field .addon textarea,
+.fieldset > .field .addon select,
+.fieldset > .field .addon input {
+  box-shadow: none;
+  display: table-cell;
+  margin: 0;
+  width: 100%;
+}
+.fieldset > .field .addon .addbefore,
+.fieldset > .field .addon .addafter {
+  height: 0;
+  white-space: nowrap;
+  display: inline-block;
+  display: table-cell;
+  vertical-align: middle;
+  width: 1px;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  background: #ffffff;
+  border: 1px solid #c2c2c2;
+  border-radius: 3px;
+  font: 400 14px "sourcesanspro";
+  /* Prevent background color leak outs */
+
+  background-clip: padding-box;
+  outline: none;
+  height: 32px;
+  line-height: 1;
+  padding: 0 10px;
+}
+.fieldset > .field .addon .addbefore:focus,
+.fieldset > .field .addon .addafter:focus {
+  border-color: #999999;
+}
+.control .fieldset > .field .addon .addbefore,
+.control .fieldset > .field .addon .addafter {
+  width: 100%;
+}
+.fieldset > .field .addon .addbefore:disabled,
+.fieldset > .field .addon .addafter:disabled {
+  opacity: 0.5;
+}
+.fieldset > .field .addon .addbefore::-webkit-input-placeholder,
+.fieldset > .field .addon .addafter::-webkit-input-placeholder {
+  line-height: 1.333;
+}
+.fieldset > .field .addon .addbefore:-ms-input-placeholder,
+.fieldset > .field .addon .addafter:-ms-input-placeholder {
+  line-height: 1.333;
+}
+.eq-ie8 .fieldset > .field .addon .addbefore,
+.eq-ie8 .fieldset > .field .addon .addafter {
+  padding-top: 8px;
+}
+.fieldset > .field .note {
+  font-size: 12px;
+  margin-top: 3px;
+  padding-left: 15px;
+}
+.fieldset > .field .note:before {
+  border-bottom: 5px solid #675f55;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  content: '';
+  display: inline-block;
+  font-size: 0;
+  line-height: 0;
+  margin: 4px 0 0 -14px;
+  position: absolute;
+  vertical-align: top;
+  width: 0;
+}
+.fieldset .fields.range .field {
+  display: inline-block;
+  letter-spacing: normal;
+  margin: 0;
+  vertical-align: top;
+  word-spacing: normal;
+}
+.fieldset .fields.range .field:first-child .control {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  padding-right: 30px;
+}
+.fieldset .fields.range .field:first-child .control:after {
+  content: '\2014';
+  display: inline-block;
+  margin-right: -30px;
+  text-align: center;
+  width: 29px;
+}
+.fieldset .fields.range .field:first-child input {
+  width: 98%;
+}
+.fieldset .fields.dates .field {
+  display: inline-block;
+  letter-spacing: normal;
+  margin: 0 25px 0 0;
+  padding: 0 34px 0 0;
+  position: relative;
+  vertical-align: top;
+}
+.fieldset .fields.dates .field:first-child {
+  margin: 0 30px 0 0;
+}
+.fieldset .fields.dates .field:first-child .control {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+}
+.fieldset .fields.dates .field:first-child .control:after {
+  content: '\2014';
+  display: inline-block;
+  position: absolute;
+  right: -39px;
+  top: 7px;
+  width: 29px;
+}
+.fieldset .fields.dates .field .ui-datepicker-trigger {
+  text-decoration: none;
+  position: absolute;
+  right: 0;
+  top: 9px;
+}
+input[type="text"],
+input[type="search"],
+input[type="tel"],
+input[type="url"],
+input[type="email"],
+input[type="datetime"],
+input[type="password"] {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  background: #ffffff;
+  border: 1px solid #c2c2c2;
+  border-radius: 3px;
+  font: 400 14px "sourcesanspro";
+  /* Prevent background color leak outs */
+
+  background-clip: padding-box;
+  outline: none;
+  height: 32px;
+  line-height: 1;
+  padding: 0 10px;
+}
+input[type="text"]:focus,
+input[type="search"]:focus,
+input[type="tel"]:focus,
+input[type="url"]:focus,
+input[type="email"]:focus,
+input[type="datetime"]:focus,
+input[type="password"]:focus {
+  border-color: #999999;
+}
+.control input[type="text"],
+.control input[type="search"],
+.control input[type="tel"],
+.control input[type="url"],
+.control input[type="email"],
+.control input[type="datetime"],
+.control input[type="password"] {
+  width: 100%;
+}
+input[type="text"]:disabled,
+input[type="search"]:disabled,
+input[type="tel"]:disabled,
+input[type="url"]:disabled,
+input[type="email"]:disabled,
+input[type="datetime"]:disabled,
+input[type="password"]:disabled {
+  opacity: 0.5;
+}
+input[type="text"]::-webkit-input-placeholder,
+input[type="search"]::-webkit-input-placeholder,
+input[type="tel"]::-webkit-input-placeholder,
+input[type="url"]::-webkit-input-placeholder,
+input[type="email"]::-webkit-input-placeholder,
+input[type="datetime"]::-webkit-input-placeholder,
+input[type="password"]::-webkit-input-placeholder {
+  line-height: 1.333;
+}
+input[type="text"]:-ms-input-placeholder,
+input[type="search"]:-ms-input-placeholder,
+input[type="tel"]:-ms-input-placeholder,
+input[type="url"]:-ms-input-placeholder,
+input[type="email"]:-ms-input-placeholder,
+input[type="datetime"]:-ms-input-placeholder,
+input[type="password"]:-ms-input-placeholder {
+  line-height: 1.333;
+}
+.eq-ie8 input[type="text"],
+.eq-ie8 input[type="search"],
+.eq-ie8 input[type="tel"],
+.eq-ie8 input[type="url"],
+.eq-ie8 input[type="email"],
+.eq-ie8 input[type="datetime"],
+.eq-ie8 input[type="password"] {
+  padding-top: 8px;
+}
+select {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  background: #ffffff;
+  border: 1px solid #c2c2c2;
+  border-radius: 3px;
+  font: 400 14px "sourcesanspro";
+  /* Prevent background color leak outs */
+
+  background-clip: padding-box;
+  outline: none;
+  padding: 5px 10px 4px;
+}
+select:focus {
+  border-color: #999999;
+}
+.control select {
+  width: 100%;
+}
+select:disabled {
+  opacity: 0.5;
+}
+select.multiselect {
+  height: auto;
+}
+textarea {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  background: #ffffff;
+  border: 1px solid #c2c2c2;
+  border-radius: 3px;
+  font: 400 14px "sourcesanspro";
+  /* Prevent background color leak outs */
+
+  background-clip: padding-box;
+  outline: none;
+  height: auto;
+  line-height: 1.2;
+  min-height: 4.8em;
+  padding: 10px;
+  resize: vertical;
+}
+textarea:focus {
+  border-color: #999999;
+}
+.control textarea {
+  width: 100%;
+}
+textarea:disabled {
+  opacity: 0.5;
+}
+.fieldset textarea.valid,
+.fieldset select.valid,
+.fieldset input[type="text"].valid,
+.fieldset input[type="search"].valid,
+.fieldset input[type="tel"].valid,
+.fieldset input[type="url"].valid,
+.fieldset input[type="email"].valid,
+.fieldset input[type="datetime"].valid,
+.fieldset input[type="password"].valid {
+  border-color: #42b649 !important;
+}
+.fieldset textarea.mage-error,
+.fieldset select.mage-error,
+.fieldset input[type="text"].mage-error,
+.fieldset input[type="search"].mage-error,
+.fieldset input[type="tel"].mage-error,
+.fieldset input[type="url"].mage-error,
+.fieldset input[type="email"].mage-error,
+.fieldset input[type="datetime"].mage-error,
+.fieldset input[type="password"].mage-error {
+  border-color: #da370a !important;
+}
+.fieldset div.mage-error[generated] {
+  color: #da370a !important;
+  font-size: 12px;
+  padding-top: 4px;
+}
+.form.validation .fieldset {
+  margin: 20px 0;
+}
+.form.settings .field {
+  display: inline-block;
+  padding-right: 20px;
+  vertical-align: top;
+  width: 50%;
+}
+.form.settings .nested .field {
+  width: 100%;
+}
+.form.settings .actions {
+  margin-right: 30px;
+}
+.ui-datepicker {
+  background: #efefef;
+  border: 4px solid #ffffff;
+  box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.35);
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  display: none;
+  padding: 15px;
+  width: auto;
+  z-index: 999999 !important;
+}
+.ui-datepicker .ui-datepicker-header {
+  position: relative;
+  padding: .2em 0;
+}
+.ui-datepicker .ui-datepicker-prev,
+.ui-datepicker .ui-datepicker-next {
+  position: absolute;
+  top: 2px;
+  width: 1.8em;
+  height: 1.8em;
+  cursor: pointer;
+}
+.ui-datepicker .ui-datepicker-prev span,
+.ui-datepicker .ui-datepicker-next span {
+  border: solid;
+  display: block;
+  font-size: 0;
+  margin-top: -5px;
+  position: absolute;
+  left: 50%;
+  top: 50%;
+  width: 0;
+  height: 0;
+}
+.ui-datepicker .ui-datepicker-prev {
+  left: 2px;
+}
+.ui-datepicker .ui-datepicker-prev span {
+  margin-left: -8px;
+  border-width: 5px 8px 5px 0;
+  border-color: transparent #da370a transparent transparent;
+}
+.ui-datepicker .ui-datepicker-prev.ui-datepicker-prev-hover span {
+  border-color: transparent #a92b08 transparent transparent;
+}
+.ui-datepicker .ui-datepicker-next {
+  right: 2px;
+}
+.ui-datepicker .ui-datepicker-next span {
+  margin-left: 0;
+  border-width: 5px 0 5px 8px;
+  border-color: transparent transparent transparent #da370a;
+}
+.ui-datepicker .ui-datepicker-next.ui-datepicker-next-hover span {
+  border-color: transparent transparent transparent #a92b08;
+}
+.ui-datepicker .ui-datepicker-title {
+  margin: 0 2.3em;
+  line-height: 1.8em;
+  text-align: center;
+}
+.ui-datepicker .ui-datepicker-title select {
+  margin: 1px 0;
+  padding: 0;
+}
+.ui-datepicker .ui-datepicker-title .ui-datepicker-month,
+.ui-datepicker .ui-datepicker-title .ui-datepicker-year {
+  width: 47%;
+}
+.ui-datepicker .ui-datepicker-title .ui-datepicker-month {
+  margin-right: 6%;
+}
+.ui-datepicker .ui-datepicker-title .ui-datepicker-month-year {
+  width: 100%;
+}
+.ui-datepicker table {
+  width: 100%;
+  font-size: 12px;
+}
+.ui-datepicker th {
+  font-size: 12px;
+}
+.ui-datepicker td {
+  padding: 0;
+}
+.ui-datepicker td span,
+.ui-datepicker td a {
+  color: #000000;
+  display: block;
+  line-height: 14px;
+  padding: 4px;
+  text-align: right;
+  text-decoration: none;
+}
+.ui-datepicker .ui-datepicker-buttonpane {
+  overflow: hidden;
+  padding-top: 10px;
+}
+.ui-datepicker .ui-datepicker-buttonpane button {
+  float: right;
+}
+.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
+  float: left;
+}
+.ui-datepicker .ui-datepicker-calendar {
+  background: #ffffff;
+  border: 1px solid #cfcfcf;
+}
+.ui-datepicker .ui-datepicker-calendar th {
+  background: #efefef;
+  border: 1px solid #cfcfcf;
+  padding: 4px;
+  text-transform: uppercase;
+}
+.ui-datepicker .ui-datepicker-calendar td {
+  border: 1px solid #cfcfcf;
+}
+.ui-datepicker .ui-datepicker-calendar td a {
+  padding: 4px;
+  display: block;
+}
+.ui-datepicker .ui-datepicker-calendar td .ui-state-hover:hover {
+  background: #f9eae7;
+}
+.ui-datepicker .ui-datepicker-calendar .ui-datepicker-week-col {
+  text-align: center;
+  border: 1px solid #cfcfcf;
+}
+.ui-datepicker .ui-datepicker-calendar .ui-datepicker-today {
+  background: #f3d7d2;
+}
+.ui-datepicker .ui-datepicker-calendar .ui-state-active {
+  background: #f77653;
+}
+.ui-datepicker .ui-datepicker-calendar .ui-state-disabled {
+  background: #f9f9f9;
+}
+.ui-datepicker .ui-datepicker-calendar .ui-state-disabled span {
+  color: #959595;
+}
+.ui-datepicker-rtl {
+  direction: rtl;
+}
+.ui-datepicker-rtl .ui-datepicker-prev {
+  right: 2px;
+  left: auto;
+}
+.ui-datepicker-rtl .ui-datepicker-prev:hover {
+  right: 1px;
+  left: auto;
+}
+.ui-datepicker-rtl .ui-datepicker-next {
+  left: 2px;
+  right: auto;
+}
+.ui-datepicker-rtl .ui-datepicker-next:hover {
+  left: 1px;
+  right: auto;
+}
+.ui-datepicker-rtl .ui-datepicker-buttonpane {
+  clear: right;
+}
+.ui-datepicker-rtl .ui-datepicker-buttonpane button {
+  float: left;
+}
+.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current {
+  float: right;
+}
+.ui-datepicker-rtl .ui-datepicker-group {
+  float: right;
+}
+.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header {
+  border-right-width: 0;
+  border-left-width: 1px;
+}
+.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
+  border-right-width: 0;
+  border-left-width: 1px;
+}
+.ui-timepicker-div {
+  padding: 10px 0 5px 0;
+}
+.ui-timepicker-div .ui-widget-header {
+  margin-bottom: 8px;
+}
+.ui-timepicker-div dl {
+  text-align: left;
+}
+.ui-timepicker-div dl dt {
+  height: 25px;
+  margin-bottom: -22px;
+}
+.ui-timepicker-div dl dd {
+  margin: 0 10px 10px 65px;
+}
+.ui-timepicker-div dl .ui_tpicker_time_label {
+  margin-bottom: -25px;
+}
+.ui-timepicker-div td {
+  font-size: 90%;
+}
+.ui-tpicker-grid-label {
+  background: none;
+  border: none;
+  margin: 0;
+  padding: 0;
+}
+.ui-slider {
+  position: relative;
+  text-align: left;
+}
+.ui-slider .ui-slider-handle {
+  position: absolute;
+  z-index: 2;
+  cursor: default;
+}
+.ui-slider-horizontal {
+  border-radius: 10px;
+  border: none;
+  background: #efefef;
+  height: 10px;
+}
+.ui-slider-horizontal .ui-slider-handle {
+  margin-left: -5px;
+  height: 10px;
+  width: 10px;
+  border-radius: 10px;
+  background: #da370a;
+  display: block;
+  position: absolute;
+}
+.clearlessgrid1 {
+  width: 100%;
+}
+.clearlessgrid1 > .grid-1 {
+  float: left;
+  margin-right: 0%;
+  width: 100%;
+  margin-right: 0;
+  float: right;
+}
+.clearlessgrid2 {
+  width: 100%;
+}
+.clearlessgrid2 .main {
+  float: left;
+  margin-right: 0%;
+  width: 75%;
+}
+.clearlessgrid2 .sidebar {
+  float: left;
+  margin-right: 0%;
+  width: 25%;
+  margin-right: 0;
+  float: right;
+}
+.clearlessgrid3 {
+  width: 100%;
+}
+.clearlessgrid3 .main {
+  float: left;
+  margin-right: 0%;
+  width: 75%;
+  margin-right: 0;
+  float: right;
+}
+.clearlessgrid3 .sidebar {
+  float: left;
+  margin-right: 0%;
+  width: 25%;
+}
+.clearlessgrid4 {
+  width: 100%;
+}
+.clearlessgrid4 .main {
+  float: left;
+  margin-right: 0%;
+  width: 50%;
+}
+.clearlessgrid4 .sidebar1,
+.clearlessgrid4 .sidebar2 {
+  float: left;
+  margin-right: 0%;
+  width: 25%;
+}
+.clearlessgrid4 .sidebar2 {
+  margin-right: 0;
+  float: right;
+}
+.clearlessgrid5 {
+  width: 100%;
+}
+.clearlessgrid5 > .grid-1 {
+  float: left;
+  margin-right: 0%;
+  width: 25%;
+}
+.clearlessgrid5 > .grid-1:last-child {
+  margin-right: 0;
+  float: right;
+}
+.clearlessgrid6 {
+  width: 100%;
+}
+.clearlessgrid6 > .grid-1 {
+  float: left;
+  margin-right: 0%;
+  width: 16.666666666666664%;
+}
+.clearlessgrid6 > .grid-1:last-child {
+  margin-right: 0;
+  float: right;
+}
+.clearlessgrid12 {
+  width: 100%;
+}
+.clearlessgrid12 > .grid-1 {
+  float: left;
+  margin-right: 0%;
+  width: 8.333333333333332%;
+}
+.clearlessgrid12 > .grid-1:last-child {
+  margin-right: 0;
+  float: right;
+}
+.inlinegrid1 {
+  letter-spacing: -0.31em;
+  *letter-spacing: normal;
+  word-spacing: -0.43em;
+}
+.inlinegrid1 > .grid-1 {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+  vertical-align: top;
+  letter-spacing: normal;
+  word-spacing: normal;
+  margin-right: 0%;
+  width: 100%;
+  margin-right: 0;
+}
+.inlinegrid2 {
+  letter-spacing: -0.31em;
+  *letter-spacing: normal;
+  word-spacing: -0.43em;
+}
+.inlinegrid2 .main {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+  vertical-align: top;
+  letter-spacing: normal;
+  word-spacing: normal;
+  margin-right: 0%;
+  width: 75%;
+}
+.inlinegrid2 .sidebar {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+  vertical-align: top;
+  letter-spacing: normal;
+  word-spacing: normal;
+  margin-right: 0%;
+  width: 25%;
+  margin-right: 0;
+}
+.inlinegrid3 {
+  letter-spacing: -0.31em;
+  *letter-spacing: normal;
+  word-spacing: -0.43em;
+}
+.inlinegrid3 .main {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+  vertical-align: top;
+  letter-spacing: normal;
+  word-spacing: normal;
+  margin-right: 0%;
+  width: 75%;
+  margin-right: 0;
+}
+.inlinegrid3 .sidebar {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+  vertical-align: top;
+  letter-spacing: normal;
+  word-spacing: normal;
+  margin-right: 0%;
+  width: 25%;
+}
+.inlinegrid4 {
+  letter-spacing: -0.31em;
+  *letter-spacing: normal;
+  word-spacing: -0.43em;
+}
+.inlinegrid4 .main {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+  vertical-align: top;
+  letter-spacing: normal;
+  word-spacing: normal;
+  margin-right: 0%;
+  width: 50%;
+}
+.inlinegrid4 .sidebar1,
+.inlinegrid4 .sidebar2 {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+  vertical-align: top;
+  letter-spacing: normal;
+  word-spacing: normal;
+  margin-right: 0%;
+  width: 25%;
+}
+.inlinegrid4 .sidebar2 {
+  margin-right: 0;
+}
+.inlinegrid5 {
+  letter-spacing: -0.31em;
+  *letter-spacing: normal;
+  word-spacing: -0.43em;
+}
+.inlinegrid5 > .grid-1 {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+  vertical-align: top;
+  letter-spacing: normal;
+  word-spacing: normal;
+  margin-right: 0%;
+  width: 25%;
+}
+.inlinegrid5 > .grid-1:last-child {
+  margin-right: 0;
+}
+.inlinegrid6 {
+  letter-spacing: -0.31em;
+  *letter-spacing: normal;
+  word-spacing: -0.43em;
+}
+.inlinegrid6 > .grid-1 {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+  vertical-align: top;
+  letter-spacing: normal;
+  word-spacing: normal;
+  margin-right: 0%;
+  width: 16.666666666666664%;
+}
+.inlinegrid6 > .grid-1:last-child {
+  margin-right: 0;
+}
+.inlinegrid12 {
+  letter-spacing: -0.31em;
+  *letter-spacing: normal;
+  word-spacing: -0.43em;
+}
+.inlinegrid12 > .grid-1 {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+  vertical-align: top;
+  letter-spacing: normal;
+  word-spacing: normal;
+  margin-right: 0%;
+  width: 8.333333333333332%;
+}
+.inlinegrid12 > .grid-1:last-child {
+  margin-right: 0;
+}
+.gridwrapper > div,
+.inlinegridwrapper > div {
+  background: #e5e5e5;
+  border: 1px solid #999;
+  padding: 5px 0;
+  text-align: center;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+}
+.example.icon {
+  display: inline-block;
+  margin: 0 0 16px;
+  width: 20%;
+  text-align: center;
+}
+.example.icon:before {
+  font-family: "icons";
+  font-size: 32px;
+  line-height: 32px;
+  height: 32px;
+  margin: 0 0 10px 0;
+  overflow: hidden;
+  content: "";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.example.icon:before {
+  content: attr(data-icon);
+  display: block;
+}
+.example.icon:hover {
+  color: #55c2e6;
+}
+.action.showcart1:before {
+  font-family: "icons";
+  font-size: 16px;
+  line-height: 16px;
+  height: 16px;
+  margin: 0 5px 0 0;
+  overflow: hidden;
+  content: "\e014";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.action.showcart2:after {
+  font-family: "icons";
+  font-size: 16px;
+  line-height: 16px;
+  height: 16px;
+  margin: 0 0 0 10px;
+  overflow: hidden;
+  content: "\e014";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.action.showcart3 {
+  width: 16px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+}
+.action.showcart3:after {
+  font-family: "icons";
+  font-size: 16px;
+  line-height: 16px;
+  height: 16px;
+  margin: 10px;
+  overflow: hidden;
+  content: "\e014";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.action.showcart3:active {
+  outline: 0;
+}
+.action.showcart3:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+ul.messages {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+}
+.message.base,
+.message.error,
+.message.success,
+.message.notice,
+.message.info,
+.error-msg,
+.success-msg,
+.notice-msg,
+.note-msg {
+  display: block;
+  *zoom: 1;
+  padding: 13px 60px 12px 20px;
+  margin: 3px 0 3px;
+  border-radius: 3px;
+  position: relative;
+  line-height: 16px;
+  z-index: 1;
+}
+.message.base:before,
+.message.base:after,
+.message.error:before,
+.message.error:after,
+.message.success:before,
+.message.success:after,
+.message.notice:before,
+.message.notice:after,
+.message.info:before,
+.message.info:after,
+.error-msg:before,
+.error-msg:after,
+.success-msg:before,
+.success-msg:after,
+.notice-msg:before,
+.notice-msg:after,
+.note-msg:before,
+.note-msg:after {
+  content: "";
+  display: table;
+}
+.message.base:after,
+.message.error:after,
+.message.success:after,
+.message.notice:after,
+.message.info:after,
+.error-msg:after,
+.success-msg:after,
+.notice-msg:after,
+.note-msg:after {
+  clear: both;
+}
+.message.base:before,
+.message.error:before,
+.message.success:before,
+.message.notice:before,
+.message.info:before,
+.error-msg:before,
+.success-msg:before,
+.notice-msg:before,
+.note-msg:before {
+  content: '';
+  position: absolute;
+  width: 31px;
+  text-align: center;
+  right: 0;
+  top: 0;
+  height: 100%;
+  display: block;
+  padding: 0;
+  border-radius: 3px;
+  z-index: 1;
+}
+.message.base > *:first-child:before,
+.message.error > *:first-child:before,
+.message.success > *:first-child:before,
+.message.notice > *:first-child:before,
+.message.info > *:first-child:before,
+.error-msg > *:first-child:before,
+.success-msg > *:first-child:before,
+.notice-msg > *:first-child:before,
+.note-msg > *:first-child:before {
+  content: '';
+  width: 0;
+  height: 0;
+  border: 5px solid transparent;
+  border-right-color: #ffc000;
+  position: absolute;
+  overflow: hidden;
+  top: 50%;
+  margin-top: -3px;
+  right: 31px;
+  z-index: 2;
+}
+.message.base > *:first-child:after,
+.message.error > *:first-child:after,
+.message.success > *:first-child:after,
+.message.notice > *:first-child:after,
+.message.info > *:first-child:after,
+.error-msg > *:first-child:after,
+.success-msg > *:first-child:after,
+.notice-msg > *:first-child:after,
+.note-msg > *:first-child:after {
+  font-family: "icons";
+  color: #ffffff;
+  font-size: 20px;
+  line-height: 20px;
+  position: absolute;
+  top: 50%;
+  right: 0;
+  margin-top: -10px;
+  width: 31px;
+  text-align: center;
+  display: block;
+  z-index: 3;
+}
+.message.base ul,
+.message.error ul,
+.message.success ul,
+.message.notice ul,
+.message.info ul,
+.error-msg ul,
+.success-msg ul,
+.notice-msg ul,
+.note-msg ul {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+}
+.message.base li,
+.message.error li,
+.message.success li,
+.message.notice li,
+.message.info li,
+.error-msg li,
+.success-msg li,
+.notice-msg li,
+.note-msg li {
+  margin-top: 5px;
+}
+.message.base li:first-child,
+.message.error li:first-child,
+.message.success li:first-child,
+.message.notice li:first-child,
+.message.info li:first-child,
+.error-msg li:first-child,
+.success-msg li:first-child,
+.notice-msg li:first-child,
+.note-msg li:first-child {
+  margin-top: 0;
+}
+.message.error,
+.error-msg,
+.error-msg {
+  background: #ffd9d0;
+  color: #911c00;
+}
+.message.error:before,
+.error-msg:before {
+  background: #ff3200;
+}
+.message.error > *:first-child:before,
+.error-msg > *:first-child:before {
+  border-right-color: #ff3200;
+}
+.message.error > *:first-child:after,
+.error-msg > *:first-child:after {
+  content: "\e00e";
+}
+.message.success,
+.success-msg,
+.success-msg {
+  background: #d3edd5;
+  color: #1b6720;
+}
+.message.success:before,
+.success-msg:before {
+  background: #42b649;
+}
+.message.success > *:first-child:before,
+.success-msg > *:first-child:before {
+  border-right-color: #42b649;
+}
+.message.success > *:first-child:after,
+.success-msg > *:first-child:after {
+  content: "\e013";
+}
+.message.notice,
+.notice-msg,
+.note-msg,
+.notice-msg,
+.note-msg {
+  background: #ffedb8;
+  color: #926e00;
+}
+.message.notice:before,
+.notice-msg:before,
+.note-msg:before {
+  background: #ffc000;
+}
+.message.notice > *:first-child:before,
+.notice-msg > *:first-child:before,
+.note-msg > *:first-child:before {
+  border-right-color: #ffc000;
+}
+.message.notice > *:first-child:after,
+.notice-msg > *:first-child:after,
+.note-msg > *:first-child:after {
+  content: "\e00a";
+}
+.message.info {
+  background: #ffedb8;
+  color: #926e00;
+  border: 1px solid #ffe085;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+}
+.message.info:before {
+  background: #ffc000;
+  top: -2px;
+  height: auto;
+  bottom: -2px;
+}
+.message.info > *:first-child:before {
+  border-right-color: #ffc000;
+}
+.message.info > *:first-child:after {
+  content: "\e00a";
+}
+.navigation {
+  background-color: #d6d7d2;
+  background-image: url("../images/header-bg.jpg");
+  background-repeat: repeat;
+  background-position: 0 0;
+  border-top: 1px solid;
+  border-color: #f6f6f5;
+  position: relative;
+  z-index: 2;
+  *zoom: 1;
+}
+.navigation:before,
+.navigation:after {
+  content: "";
+  display: table;
+}
+.navigation:after {
+  clear: both;
+}
+.navigation > ul > .level-top {
+  display: inline-block;
+  line-height: 1.2;
+  vertical-align: top;
+  padding-right: 40px;
+}
+.navigation > ul > .level-top:last-child {
+  padding-right: 0;
+}
+.navigation > ul > .level-top.active > a:after {
+  opacity: 1;
+  border-bottom-color: #ffffff;
+}
+.navigation > ul > .level-top.hover > a:after {
+  border-bottom-color: #f8f8f8;
+}
+.navigation > ul > .level-top.hover > .submenu {
+  border-bottom: 1px solid #c2c2c2;
+}
+.navigation > ul > .level-top.hover > .submenu,
+.navigation > ul > .level-top:hover > .submenu {
+  z-index: 2;
+}
+.navigation > ul > .level-top.hover:hover > a span,
+.navigation > ul > .level-top:hover:hover > a span,
+.navigation > ul > .level-top.hover.parent.hover > a span,
+.navigation > ul > .level-top:hover.parent.hover > a span,
+.navigation > ul > .level-top.hover.parent > a span,
+.navigation > ul > .level-top:hover.parent > a span {
+  color: #675f55;
+}
+.navigation > ul > .level-top.hover:hover > a:after,
+.navigation > ul > .level-top:hover:hover > a:after,
+.navigation > ul > .level-top.hover.hover > a:after,
+.navigation > ul > .level-top:hover.hover > a:after,
+.navigation > ul > .level-top.hover.parent > a:after,
+.navigation > ul > .level-top:hover.parent > a:after {
+  opacity: 1;
+}
+.navigation > ul > .level-top.more:after {
+  cursor: pointer;
+  content: "\e010";
+  font-family: "icons";
+  font-size: 16px;
+  display: inline-block;
+  padding: .6em .7em 1em;
+  margin-top: 0.4em;
+  border-radius: 4px 4px 0 0;
+  position: relative;
+  z-index: 1;
+}
+.navigation > ul > .level-top.more.hover:after {
+  background: #f8f8f8;
+}
+.navigation > ul > .level-top.more li.level-top {
+  width: 200px;
+  margin: 0 0 0 -10px !important;
+  padding: 7px 10px 7px 30px;
+}
+.navigation > ul > .level-top.more li.level-top > a {
+  font-size: 16px;
+}
+.navigation > ul > .level-top.more li.level-top.hover,
+.navigation > ul > .level-top.more li.level-top:hover {
+  background: #f8f8f8;
+}
+.navigation > ul > .level-top.more li.level-top.hover > a span,
+.navigation > ul > .level-top.more li.level-top:hover > a span {
+  color: #675f55;
+}
+.navigation > ul > .level-top.more li.level-top.hover.parent:before,
+.navigation > ul > .level-top.more li.level-top:hover.parent:before {
+  font-family: "icons";
+  font-size: 16px;
+  line-height: 16px;
+  height: 16px;
+  margin: 0 8px 0 0;
+  overflow: hidden;
+  content: "\e01a";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.navigation > ul > .level-top.more li.level-top.hover.parent:before,
+.navigation > ul > .level-top.more li.level-top:hover.parent:before {
+  float: right;
+  color: #da370a;
+}
+.navigation > ul > .level-top.more li.level-top.hover .submenu,
+.navigation > ul > .level-top.more li.level-top:hover .submenu {
+  display: block !important;
+}
+.navigation > ul > .level-top.more li.level-top > a span {
+  color: #837d75;
+}
+.navigation > ul > .level-top.more li.level-top .submenu {
+  display: none;
+}
+.navigation > ul > .level-top.more li.level-top > .submenu {
+  position: absolute;
+  right: 0;
+  padding: 0;
+  left: 0;
+  top: 0;
+  margin-left: 230px;
+  min-height: 100%;
+  background: #f8f8f8;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  -webkit-box-shadow: 0 10px 8px rgba(0, 0, 0, 0.3);
+  -moz-box-shadow: 0 10px 8px rgba(0, 0, 0, 0.3);
+  box-shadow: 0 10px 8px rgba(0, 0, 0, 0.3);
+}
+.no-boxshadow .navigation > ul > .level-top.more li.level-top > .submenu {
+  border: 2px solid #c2c2c2;
+  border-width: 0 2px 2px;
+}
+.navigation > ul > .level-top.more li.level-top > .submenu > ul {
+  background: #f8f8f8;
+  position: relative;
+  z-index: 1;
+  padding: 10px;
+}
+.navigation > ul > .level-top.more > .submenu {
+  background: none;
+  border-width: 0;
+}
+.navigation > ul > .level-top.more > .submenu > ul {
+  position: relative;
+}
+.navigation > ul > .level-top > a {
+  position: relative;
+  display: inline-block;
+  vertical-align: top;
+  padding: 1em 0;
+  font-size: 16px;
+  text-align: center;
+  color: #837d75;
+}
+.navigation > ul > .level-top > a:after {
+  opacity: 0;
+  content: '';
+  overflow: hidden;
+  display: block;
+  position: absolute;
+  bottom: 0;
+  left: 50%;
+  zoom: 1;
+  z-index: 2;
+  color: #675f55;
+  width: 0;
+  height: 0;
+  border: 10px solid transparent;
+}
+.navigation > ul > .level-top > a > span {
+  color: #837d75;
+}
+.navigation > ul > .level-top > a:active span,
+.navigation > ul > .level-top > a:focus span {
+  color: #675f55;
+}
+.navigation > ul > .level-top > a:active:after,
+.navigation > ul > .level-top > a:focus:after {
+  opacity: 1;
+}
+.navigation > ul > .level-top > .submenu {
+  display: none;
+  position: absolute;
+  left: 0;
+  top: 100%;
+  background: #f8f8f8;
+  width: 100%;
+  z-index: 1;
+}
+.navigation > ul > .level-top > .submenu > ul {
+  height: auto;
+  padding-top: 45px;
+  padding-bottom: 45px;
+}
+.navigation > ul > .level-top > .submenu > ul li.column {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  width: 25%;
+  display: inline-block;
+  padding-right: 30px;
+  vertical-align: top;
+}
+.navigation > ul > .level-top > .submenu > ul .level1 > a {
+  text-transform: uppercase;
+}
+.navigation > ul > .level-top > .submenu > ul .parent ul {
+  padding-left: 10px;
+}
+.navigation > ul > .level-top > .submenu > ul li {
+  margin: 8px 0;
+}
+.navigation > ul > .level-top > .submenu > ul li:fist-child {
+  margin-top: 0;
+}
+@media only screen and (max-width: 640px) {
+  html {
+    height: 100%;
+    min-width: 0;
+    overflow: hidden;
+  }
+  body {
+    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+    position: relative;
+    height: 100%;
+    width: 100%;
+    overflow: hidden;
+  }
+  body.opened .navigation {
+    left: 0;
+  }
+  body.opened .page.wrapper {
+    margin-right: -86%;
+    cursor: pointer;
+  }
+  .page.wrapper {
+    position: relative;
+    width: 100%;
+    float: right;
+    margin: 0;
+    -webkit-transition: margin 0.3s ease-out 0;
+    -moz-transition: margin 0.3s ease-out 0;
+    transition: margin 0.3s ease-out 0;
+  }
+  .navigation {
+    display: block;
+    position: absolute;
+    width: 86%;
+    left: -86%;
+    height: 100%;
+    background: #ffffff;
+    overflow-x: hidden;
+    border-right: #b6b8af 1px solid;
+    -moz-box-sizing: border-box;
+    -webkit-box-sizing: border-box;
+    -ms-box-sizing: border-box;
+    box-sizing: border-box;
+    -webkit-transition: left 0.3s ease-out 0;
+    -moz-transition: left 0.3s ease-out 0;
+    transition: left 0.3s ease-out 0;
+  }
+  .navigation ul {
+    margin: 0;
+    padding: 0;
+  }
+  .navigation ul li.hidden {
+    display: none;
+  }
+  .navigation > ul {
+    -webkit-transition: left 0.3s linear 0;
+    -moz-transition: left 0.3s linear 0;
+    transition: left 0.3s linear 0;
+    position: relative;
+    overflow: hidden;
+  }
+  .navigation > ul > .level-top {
+    display: block;
+    padding: 0;
+    background: #ffffff;
+  }
+  .navigation > ul > .level-top > a {
+    display: block;
+    padding: 10px 20px;
+    text-transform: none;
+    font-size: 20px;
+    font-weight: 600;
+    border-bottom: 1px solid #e5e5e5;
+    color: #675f55;
+    text-align: left;
+  }
+  .navigation > ul > .level-top > a:hover,
+  .navigation > ul > .level-top > a:visited {
+    color: #675f55;
+  }
+  .navigation > ul > .level-top > a:active {
+    background: #dbdcd7;
+  }
+  .navigation > ul > .level-top > a:after {
+    border: 0;
+  }
+  .navigation > ul > .level-top.parent:after {
+    display: none;
+  }
+  .navigation > ul > .level-top.parent > a {
+    position: relative;
+    text-transform: none !important;
+  }
+  .navigation > ul > .level-top.parent > a:after {
+    font-family: "icons";
+    font-size: 18px;
+    line-height: 18px;
+    height: 18px;
+    margin: 0;
+    overflow: hidden;
+    content: "\e01a";
+    font-style: normal;
+    speak: none;
+    font-weight: normal;
+    -webkit-font-smoothing: antialiased;
+    display: inline-block;
+    vertical-align: middle;
+    text-align: center;
+  }
+  .navigation > ul > .level-top.parent > a:after {
+    position: absolute;
+    width: 18px;
+    top: 12px;
+    right: 17px;
+    left: auto;
+    opacity: 1;
+    z-index: auto;
+  }
+  .navigation > ul > .level-top.parent > .submenu {
+    position: absolute;
+    display: block;
+    left: 100%;
+    top: 0;
+    width: 100%;
+    overflow-x: hidden;
+    background: #ffffff;
+    -webkit-transition: left 0.3s ease-out 0;
+    -moz-transition: left 0.3s ease-out 0;
+    transition: left 0.3s ease-out 0;
+  }
+  .navigation > ul > .level-top.parent > .submenu.opened {
+    left: 0;
+    z-index: 3;
+  }
+  .navigation > ul > .level-top.parent > .submenu > ul {
+    padding-top: 0;
+    padding-bottom: 0;
+  }
+  .navigation > ul > .level-top.parent > .submenu > ul li {
+    margin: 0;
+  }
+  .navigation > ul > .level-top.parent > .submenu > ul li > a {
+    display: block;
+    padding: 10px 20px;
+    text-transform: none;
+    font-size: 20px;
+    font-weight: 600;
+    border-bottom: 1px solid #e5e5e5;
+    color: #675f55;
+    text-align: left;
+  }
+  .navigation > ul > .level-top.parent > .submenu > ul li > a:hover,
+  .navigation > ul > .level-top.parent > .submenu > ul li > a:visited {
+    color: #675f55;
+  }
+  .navigation > ul > .level-top.parent > .submenu > ul li > a:active {
+    background: #dbdcd7;
+  }
+  .navigation > ul > .level-top.parent > .submenu > ul li > a:after {
+    border: 0;
+  }
+  .navigation > ul > .level-top.parent > .submenu > ul li.column {
+    width: 100%;
+    display: block;
+    padding-right: 0;
+  }
+  .navigation > ul > .level-top.parent > .submenu > ul .parent ul {
+    padding-left: 0;
+  }
+  .navigation .action.back a {
+    background: #675f55;
+    position: relative;
+    color: #ffffff !important;
+    border-bottom-color: transparent;
+    cursor: pointer;
+  }
+  .navigation .action.back a:before {
+    font-family: "icons";
+    font-size: 18px;
+    line-height: 18px;
+    height: 18px;
+    margin: 0;
+    overflow: hidden;
+    content: "\e01b";
+    font-style: normal;
+    speak: none;
+    font-weight: normal;
+    -webkit-font-smoothing: antialiased;
+    display: inline-block;
+    vertical-align: middle;
+    text-align: center;
+  }
+  .navigation .action.back a:hover,
+  .navigation .action.back a:active,
+  .navigation .action.back a:visited {
+    color: #ffffff !important;
+    background: #675f55 !important;
+  }
+  .navigation .action.back a:before {
+    position: absolute;
+    top: 12px;
+    left: 3px;
+  }
+  .navigation .action.back a span:before {
+    content: "";
+  }
+  .navigation .parent:after {
+    display: none;
+  }
+  .navigation .parent > a {
+    position: relative;
+  }
+  .navigation .parent > a:after {
+    font-family: "icons";
+    font-size: 18px;
+    line-height: 18px;
+    height: 18px;
+    margin: 0;
+    overflow: hidden;
+    content: "\e01a";
+    font-style: normal;
+    speak: none;
+    font-weight: normal;
+    -webkit-font-smoothing: antialiased;
+    display: inline-block;
+    vertical-align: middle;
+    text-align: center;
+  }
+  .navigation .parent > a:after {
+    position: absolute;
+    width: 18px;
+    top: 16px;
+    right: 17px;
+    left: auto;
+    opacity: 1;
+    z-index: auto;
+  }
+  .navigation .parent .submenu {
+    position: absolute;
+    display: block;
+    left: 100%;
+    top: 0;
+    width: 100%;
+    overflow-x: hidden;
+    background: #ffffff;
+    -webkit-transition: left 0.3s ease-out 0;
+    -moz-transition: left 0.3s ease-out 0;
+    transition: left 0.3s ease-out 0;
+  }
+  .navigation .parent .submenu.opened {
+    left: 0;
+    z-index: 3;
+  }
+  .navigation .parent .submenu > ul {
+    padding-top: 0;
+    padding-bottom: 0;
+  }
+  .navigation .parent .submenu > ul li {
+    margin: 0;
+  }
+  .navigation .parent .submenu > ul li > a {
+    display: block;
+    padding: 10px 20px;
+    text-transform: none;
+    font-size: 20px;
+    font-weight: 600;
+    border-bottom: 1px solid #e5e5e5;
+    color: #675f55;
+    text-align: left;
+  }
+  .navigation .parent .submenu > ul li > a:hover,
+  .navigation .parent .submenu > ul li > a:visited {
+    color: #675f55;
+  }
+  .navigation .parent .submenu > ul li > a:active {
+    background: #dbdcd7;
+  }
+  .navigation .parent .submenu > ul li > a:after {
+    border: 0;
+  }
+  .navigation .parent .submenu > ul li.column {
+    width: 100%;
+    display: block;
+    padding-right: 0;
+  }
+  .navigation .parent .submenu > ul .parent ul {
+    padding-left: 0;
+  }
+  .action.toggle.nav {
+    margin-top: 19px;
+    position: absolute;
+    top: 0;
+    left: 20px;
+    font-size: 0;
+    width: 32px;
+    display: block;
+    line-height: 0;
+    white-space: nowrap;
+    vertical-align: middle;
+    text-align: center;
+    text-indent: -999em;
+    cursor: pointer;
+  }
+  .action.toggle.nav:after {
+    font-family: "icons";
+    font-size: 32px;
+    line-height: 32px;
+    height: 32px;
+    margin: 0;
+    overflow: hidden;
+    content: "\e007";
+    font-style: normal;
+    speak: none;
+    font-weight: normal;
+    -webkit-font-smoothing: antialiased;
+    display: inline-block;
+    vertical-align: middle;
+    text-align: center;
+  }
+  .action.toggle.nav:active {
+    outline: 0;
+  }
+  .action.toggle.nav:after {
+    text-indent: 0;
+    display: block;
+    margin: 0;
+  }
+  .action.toggle.nav:before {
+    position: absolute;
+    width: 100%;
+    height: 100%;
+    left: -100%;
+    top: -20px;
+    padding: 20px 0;
+    content: "";
+  }
+  .active-nav .action.toggle.nav:before {
+    position: fixed;
+    padding: 0;
+    left: 86%;
+    right: 0;
+    top: 0;
+    bottom: 0;
+  }
+  .header {
+    padding: 0;
+    position: relative;
+    margin-bottom: 35px;
+  }
+}
+@media only screen and (max-width: 99999px) {
+  .product.data {
+    *zoom: 1;
+    position: relative;
+    z-index: 1;
+  }
+  .product.data:before,
+  .product.data:after {
+    content: "";
+    display: table;
+  }
+  .product.data:after {
+    clear: both;
+  }
+  .product.data > .item.title {
+    float: left;
+  }
+  .product.data > .item.title > .switch {
+    display: block;
+    position: relative;
+    top: 1px;
+    z-index: 2;
+  }
+  .product.data > .item.content {
+    width: 100%;
+    float: right;
+    margin-left: -100%;
+    display: none;
+    -moz-box-sizing: border-box;
+    -webkit-box-sizing: border-box;
+    -ms-box-sizing: border-box;
+    box-sizing: border-box;
+  }
+  .product.data > .item.content.active {
+    display: block;
+  }
+  .product.data .tabs > .term-content.active {
+    border: 1px solid #BFBFBF;
+    color: #808080;
+    display: block;
+  }
+  .product.data > .item.title {
+    margin-right: 1px;
+    min-height: 35px;
+  }
+  .product.data > .item.title > .switch {
+    font-size: 14px;
+    line-height: 1;
+    font-weight: 600;
+    text-decoration: none;
+    padding: 11px 11px 8px;
+    border: 2px solid #e5e5e5;
+    background: rgba(0, 0, 0, 0.03);
+    border-bottom: none;
+    text-transform: uppercase;
+    border-radius: 4px 4px 0 0;
+  }
+  .product.data > .item.title:not(.disabled) > .switch:active,
+  .product.data > .item.title:not(.disabled) > .switch:focus,
+  .product.data > .item.title:not(.disabled) > .switch:hover,
+  .product.data > .item.title.active > .switch {
+    background: #fff;
+    border-width: 3px;
+    padding: 10px 10px 8px;
+    outline: none;
+  }
+  .product.data > .item.title.active > .switch {
+    padding: 10px 20px 11px !important;
+  }
+  .product.data > .item.content {
+    *zoom: 1;
+    margin-top: 36px;
+    padding: 20px;
+  }
+  .product.data > .item.content:before,
+  .product.data > .item.content:after {
+    content: "";
+    display: table;
+  }
+  .product.data > .item.content:after {
+    clear: both;
+  }
+  .product.data > .item.content:before {
+    content: '';
+    border-top: 3px solid #e5e5e5;
+    width: 100%;
+    display: block;
+    position: absolute;
+    left: 0;
+    -moz-box-sizing: border-box;
+    -webkit-box-sizing: border-box;
+    -ms-box-sizing: border-box;
+    box-sizing: border-box;
+    margin: -20px 0 20px;
+  }
+}
+@media only screen and (max-width: 768px) {
+  .product.data {
+    margin: 0;
+    padding: 0;
+  }
+  .product.data > .item.title {
+    -moz-box-sizing: border-box;
+    -webkit-box-sizing: border-box;
+    -ms-box-sizing: border-box;
+    box-sizing: border-box;
+    width: 100%;
+  }
+  .product.data > .item.title > .item.switch {
+    display: block;
+  }
+  .product.data > .item.content {
+    *zoom: 1;
+    -moz-box-sizing: border-box;
+    -webkit-box-sizing: border-box;
+    -ms-box-sizing: border-box;
+    box-sizing: border-box;
+    display: none;
+  }
+  .product.data > .item.content:before,
+  .product.data > .item.content:after {
+    content: "";
+    display: table;
+  }
+  .product.data > .item.content:after {
+    clear: both;
+  }
+  .product.data > .item.content.active {
+    display: block;
+  }
+  .product.data > .item.title {
+    margin: 3px 0 0;
+  }
+  .product.data > .item.title > .switch {
+    display: block;
+    font-size: 14px;
+    line-height: 1;
+    font-weight: 600;
+    text-decoration: none;
+    padding: 11px;
+    border: 2px solid #e5e5e5;
+    background: #f8f8f8;
+    text-transform: uppercase;
+    border-radius: 4px;
+  }
+  .product.data > .item.title:not(.disabled) > .switch:active,
+  .product.data > .item.title:not(.disabled) > .switch:focus,
+  .product.data > .item.title:not(.disabled) > .switch:hover,
+  .product.data > .item.title.active > .switch {
+    background: #fff;
+    border-width: 3px;
+    padding: 10px;
+    outline: none;
+  }
+  .product.data > .item.title.active > .switch {
+    border-radius: 4px 4px 0 0;
+  }
+  .product.data > .item.content {
+    margin: 0;
+    padding: 20px;
+    background: #fff;
+  }
+}
+.block.search input {
+  border-radius: 3px 0 0 3px;
+  border-right: 0;
+  float: left;
+  width: 100%;
+}
+.block.search input:focus {
+  border-color: #c2c2c2;
+}
+.block.search .field .control {
+  width: 260px;
+}
+.block.search .label,
+.block.search > .title,
+.block.search .action.advanced {
+  display: none;
+}
+.block.search .action.search {
+  background: #ffffff;
+  border: 1px solid #c2c2c2;
+  border-radius: 0 3px 3px 0;
+  color: #c2c2c2;
+  float: left;
+  padding: 7px;
+}
+.block.search .action.search:hover {
+  color: #675f55;
+}
+.block.search .action.search span {
+  width: 16px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+}
+.block.search .action.search span:after {
+  font-family: "icons";
+  font-size: 16px;
+  line-height: 16px;
+  height: 16px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e005";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.block.search .action.search span:active {
+  outline: 0;
+}
+.block.search .action.search span:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.block.search .action.search .search.autocomplete {
+  display: none !important;
+}
+.block.search ::-webkit-input-placeholder {
+  color: #999999;
+}
+.block.search :-moz-placeholder {
+  color: #999999;
+}
+.block.search ::-moz-placeholder {
+  color: #999999;
+}
+.block.search :-ms-input-placeholder {
+  color: #999999;
+}
+.block.newsletter > .title {
+  display: none;
+}
+.block.newsletter .label {
+  display: block;
+  font-size: 16px;
+  line-height: 1.2;
+  margin-bottom: 10px;
+}
+.block.newsletter .control {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  float: left;
+  padding-right: 45px;
+  width: 100%;
+}
+.block.newsletter input[type="text"] {
+  width: 100%;
+}
+.block.newsletter .actions {
+  float: right;
+  margin-left: -45px;
+  padding-left: 10px;
+}
+.block.newsletter .action.subscribe {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  background: #da370a;
+  border-radius: 3px;
+  border: 1px solid #da370a;
+  padding: 7px;
+  vertical-align: top;
+}
+.block.newsletter .action.subscribe:hover {
+  background: #a92b08;
+}
+.block.newsletter .action.subscribe span {
+  width: 16px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+  color: #ffffff;
+}
+.block.newsletter .action.subscribe span:after {
+  font-family: "icons";
+  font-size: 16px;
+  line-height: 16px;
+  height: 16px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e001";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.block.newsletter .action.subscribe span:active {
+  outline: 0;
+}
+.block.newsletter .action.subscribe span:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.breadcrumbs {
+  font-size: 12px;
+}
+.breadcrumbs .items {
+  margin: 0;
+  padding: 0;
+}
+.breadcrumbs .item {
+  display: inline;
+  font-weight: 200;
+}
+.breadcrumbs .item:before {
+  content: " / ";
+}
+.breadcrumbs .item:first-child:before {
+  content: "";
+}
+.breadcrumbs strong {
+  font-weight: 400;
+}
+.pages ol {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+}
+.pages .item {
+  display: inline-block;
+}
+.pages a {
+  padding: 0 3px;
+}
+.pages strong {
+  color: #da370a;
+  font-weight: normal;
+  padding: 0 3px;
+}
+.pages > .label {
+  display: none;
+}
+.pages .action {
+  color: #c2c2c2;
+}
+.pages .action.previous {
+  width: 16px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+  display: inline-block;
+}
+.pages .action.previous:after {
+  font-family: "icons";
+  font-size: 16px;
+  line-height: 16px;
+  height: 16px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e01b";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.pages .action.previous:active {
+  outline: 0;
+}
+.pages .action.previous:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.pages .action.next {
+  width: 16px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+  display: inline-block;
+}
+.pages .action.next:after {
+  font-family: "icons";
+  font-size: 16px;
+  line-height: 16px;
+  height: 16px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e01a";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.pages .action.next:active {
+  outline: 0;
+}
+.pages .action.next:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.pages .action:hover {
+  color: #8f8f8f;
+}
+.modes .label {
+  display: none;
+}
+.modes .mode {
+  border: 1px solid #c2c2c2;
+  color: #c2c2c2;
+  display: inline-block;
+  margin: 0 3px;
+  overflow: hidden;
+  padding: 4px;
+}
+.modes .mode.active {
+  background: #c2c2c2;
+  border-color: #c2c2c2;
+  cursor: default;
+  color: #ffffff;
+}
+.modes .mode.active span {
+  color: #ffffff;
+}
+.modes .mode.active:hover {
+  background: #c2c2c2;
+  border-color: #c2c2c2;
+  color: #ffffff;
+}
+.modes .mode.active:hover span {
+  color: #ffffff;
+}
+.modes .mode:hover {
+  background: #999999;
+  border-color: #999999;
+  color: #ffffff;
+}
+.modes .mode:hover span {
+  color: #ffffff;
+}
+.modes .mode.grid {
+  width: 13px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+  display: inline-block;
+}
+.modes .mode.grid:after {
+  font-family: "icons";
+  font-size: 13px;
+  line-height: 13px;
+  height: 13px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e003";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.modes .mode.grid:active {
+  outline: 0;
+}
+.modes .mode.grid:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.modes .mode.list {
+  width: 13px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+  display: inline-block;
+}
+.modes .mode.list:after {
+  font-family: "icons";
+  font-size: 13px;
+  line-height: 13px;
+  height: 13px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e002";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.modes .mode.list:active {
+  outline: 0;
+}
+.modes .mode.list:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.sorter .label {
+  font-weight: 400;
+  line-height: 25px;
+  margin-right: 5px;
+}
+.sorter select {
+  padding: 0;
+}
+.sorter .action.sort.desc {
+  width: 13px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+  display: inline-block;
+}
+.sorter .action.sort.desc:after {
+  font-family: "icons";
+  font-size: 13px;
+  line-height: 13px;
+  height: 13px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e01c";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.sorter .action.sort.desc:active {
+  outline: 0;
+}
+.sorter .action.sort.desc:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.sorter .action.sort.asc {
+  width: 13px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+  display: inline-block;
+}
+.sorter .action.sort.asc:after {
+  font-family: "icons";
+  font-size: 13px;
+  line-height: 13px;
+  height: 13px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e019";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.sorter .action.sort.asc:active {
+  outline: 0;
+}
+.sorter .action.sort.asc:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.limiter .label {
+  font-weight: 400;
+  line-height: 25px;
+  margin-right: 5px;
+}
+.limiter select {
+  padding: 0;
+}
+.limiter .text {
+  display: none;
+}
+.tags.items.cloud {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+  margin: 0 0 20px;
+}
+.tags.items.cloud .item {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+  display: inline-block;
+  margin: 0 0 5px 5px;
+}
+.tags.items.cloud .item:first-child {
+  margin-left: 0;
+}
+.tags.items.cloud .amount {
+  margin-left: 3px;
+}
+.tags.items.cloud .amount:before {
+  content: '(';
+}
+.tags.items.cloud .amount:after {
+  content: ')';
+}
+.field.ratings {
+  border-bottom: 1px solid;
+  border-color: #d7d7d7;
+  padding-bottom: 15px;
+  margin-bottom: 30px;
+  overflow: hidden;
+  position: relative;
+  z-index: 1;
+}
+.field.ratings .nested {
+  display: table;
+}
+.field.ratings .field.rating {
+  display: table-row;
+}
+.field.ratings .field.rating > .label {
+  display: table-cell;
+  vertical-align: top;
+  padding: 6px 0;
+}
+.field.ratings .field.rating .control {
+  padding: 5px 10px;
+  display: table-cell;
+  z-index: 1;
+}
+.field.ratings .field.rating .control:before {
+  letter-spacing: 0.2em;
+  position: absolute;
+  z-index: 1;
+  display: block;
+  float: left;
+  font-family: "icons";
+  content: "\e009\e009\e009\e009\e009";
+  font-style: normal;
+  font-size: 16px;
+  color: rgba(218, 55, 10, 0.3);
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+}
+.field.ratings .field.rating .control input:focus + label:before,
+.field.ratings .field.rating .control input:checked + label:before {
+  color: #da370a;
+  opacity: 1;
+}
+.field.ratings .field.rating .control input[type="radio"] {
+  position: absolute;
+  margin-left: -999em;
+}
+.field.ratings .field.rating .control label {
+  position: absolute;
+  display: block;
+  cursor: pointer;
+}
+.field.ratings .field.rating .control label span {
+  display: none;
+}
+.field.ratings .field.rating .control label:before {
+  letter-spacing: 0.2em;
+  font-family: "icons";
+  font-style: normal;
+  font-size: 16px;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  opacity: 0;
+}
+.field.ratings .field.rating .control label:hover:before {
+  color: #da370a;
+  opacity: 1;
+}
+.field.ratings .field.rating .control label:hover ~ label:before {
+  opacity: 0 !important;
+}
+.field.ratings .field.rating .control .rating-1 {
+  z-index: 6;
+}
+.field.ratings .field.rating .control .rating-1:before {
+  content: "\e009";
+}
+.field.ratings .field.rating .control .rating-2 {
+  z-index: 5;
+}
+.field.ratings .field.rating .control .rating-2:before {
+  content: "\e009\e009";
+}
+.field.ratings .field.rating .control .rating-3 {
+  z-index: 4;
+}
+.field.ratings .field.rating .control .rating-3:before {
+  content: "\e009\e009\e009";
+}
+.field.ratings .field.rating .control .rating-4 {
+  z-index: 3;
+}
+.field.ratings .field.rating .control .rating-4:before {
+  content: "\e009\e009\e009\e009";
+}
+.field.ratings .field.rating .control .rating-5 {
+  z-index: 2;
+}
+.field.ratings .field.rating .control .rating-5:before {
+  content: "\e009\e009\e009\e009\e009";
+}
+.fieldset.login {
+  margin: 0;
+  padding: 0;
+}
+.fieldset.login > .field {
+  *zoom: 1;
+}
+.fieldset.login > .field:before,
+.fieldset.login > .field:after {
+  content: "";
+  display: table;
+}
+.fieldset.login > .field:after {
+  clear: both;
+}
+.fieldset.login > .field > .label {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  float: left;
+  margin: 0;
+  padding-right: 10px;
+  padding-top: 7px;
+  text-align: right;
+  width: 40%;
+}
+.fieldset.login > .field > .control {
+  float: left;
+  margin: 0;
+  width: 60%;
+}
+.fieldset.login .actions {
+  text-align: right;
+}
+.fieldset.login .actions .secondary {
+  margin-top: 0.8em;
+}
+.loader {
+  background: url("../images/loader.gif") no-repeat 50% 50%;
+  width: 20px;
+  height: 20px;
+}
+.action.mySecondaryButton.loading {
+  padding-right: 30px;
+  position: relative;
+}
+.action.mySecondaryButton.loading:after {
+  background: url("../images/loader.gif") no-repeat 50% 50%;
+  width: 16px;
+  height: 16px;
+  content: "";
+  margin: -8px 0 0;
+  position: absolute;
+  right: 7px;
+  top: 50%;
+}
+.textUnderLoader {
+  background: #f8f8f8;
+  border: 1px solid #c2c2c2;
+  padding: 10px 20px;
+}
+.textUnderLoader.loading {
+  position: relative;
+}
+.textUnderLoader.loading:before {
+  background: #ffffff;
+  opacity: 0.7;
+  content: "";
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+}
+.textUnderLoader.loading:after {
+  background: url("../images/loader.gif") no-repeat 50% 50%;
+  width: 16px;
+  height: 16px;
+  content: "";
+  margin: -8px 0 0 -8px;
+  position: absolute;
+  left: 50%;
+  top: 50%;
+}
+.opc .fieldset {
+  margin: 20px 0;
+}
+.opc .fieldset .field {
+  display: inline-block;
+  padding-right: 20px;
+  vertical-align: top;
+  width: 50%;
+}
+.opc .fieldset .nested .field {
+  width: 100%;
+}
+.opc .fieldset .actions {
+  margin-right: 30px;
+}
+.opc .field {
+  margin-bottom: 10px;
+}
+.opc .field.fullname + .field.company,
+.opc .field.name-lastname + .field.company,
+.opc .field.country,
+.opc .field.taxvat {
+  margin: 0 40% 30px 0;
+}
+.form-list {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+}
+.form-list .required em {
+  display: none;
+}
+.form-list .required:first-child:after {
+  color: #da370a;
+  content: '*';
+}
+.form-list > li {
+  *zoom: 1;
+  margin: 0 0 10px;
+}
+.form-list > li:before,
+.form-list > li:after {
+  content: "";
+  display: table;
+}
+.form-list > li:after {
+  clear: both;
+}
+.form-list > li .field {
+  *zoom: 1;
+  margin: 10px 0 0;
+}
+.form-list > li .field:before,
+.form-list > li .field:after {
+  content: "";
+  display: table;
+}
+.form-list > li .field:after {
+  clear: both;
+}
+.form-list > li .field:first-child {
+  margin: 0;
+}
+.form-list > li > label,
+.form-list > li .field > label {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  clear: left;
+  float: left;
+  padding: 7px 10px 0 0;
+  text-align: right;
+  width: 30%;
+}
+.form-list > li .input-box {
+  float: left;
+  width: 70%;
+}
+.form-list > li .input-box > input,
+.form-list > li .input-box > select,
+.form-list > li .input-box > textarea {
+  width: 100%;
+}
+.form-list > li .input-box > .v-fix {
+  float: left;
+  margin: 0 10px 0 0;
+}
+.cart.summary .fieldset {
+  border: 0;
+  font-size: 12px;
+  padding: 0;
+  margin: 0;
+}
+.cart.summary .fieldset .field {
+  margin: 0 0 10px;
+}
+.cart.summary .fieldset .field:not(.choice) .label {
+  padding: 0 0 5px;
+  display: block;
+}
+.cart.summary .fieldset .action:not(.check) {
+  padding: 6px 11px 5px;
+}
+.cart.summary .fieldset .action:not(.check) span {
+  font-size: 12px;
+  line-height: 12px;
+}
+.cart.summary .fieldset.coupon .actions,
+.cart.summary .fieldset.estimate .actions {
+  display: table-cell;
+  width: 1%;
+  white-space: nowrap;
+  vertical-align: bottom;
+}
+.cart.summary .fieldset.coupon .field,
+.cart.summary .fieldset .field.postcode {
+  display: table-cell;
+  padding-right: 10px;
+  vertical-align: bottom;
+  width: 99%;
+}
+.cart.summary .fieldset.coupon .field div.mage-error,
+.cart.summary .fieldset .field.postcode div.mage-error {
+  position: absolute;
+}
+.cart.summary .fieldset.rates {
+  padding-top: 25px;
+}
+.cart.summary .fieldset.rates .actions {
+  text-align: right;
+}
+.cart.summary .title {
+  cursor: pointer;
+  line-height: 16px;
+  margin: 0;
+  padding: 10px 5px;
+}
+.cart.summary .content {
+  padding: 15px 15px 20px;
+}
+.cart.summary input[type="text"] {
+  padding: 0 5px;
+  font-size: 12px;
+  height: 30px;
+}
+.cart.summary select {
+  padding: 5px 5px 4px;
+  font-size: 12px;
+}
+.cart.summary .items.methods dt {
+  font-weight: 700;
+}
+.cart.summary .items.methods dd {
+  margin: 10px 10px 25px;
+}
+.popup {
+  background: #e5e5e5;
+  border: 1px solid #c2c2c2;
+  display: inline-block;
+  padding: 20px;
+  position: relative;
+}
+.popup .close {
+  color: #999999;
+  cursor: pointer;
+  position: absolute;
+  right: 5px;
+  top: 3px;
+}
+.popup .close:before {
+  font-family: "icons";
+  font-size: 12px;
+  line-height: 12px;
+  height: 12px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e012";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.popup .close:hover {
+  color: #675f55;
+}
+.fade .popup {
+  background: #ffffff;
+  box-shadow: 0 0 10px 0 #999999;
+}
+.popup > .header,
+.popup > .content {
+  margin: 0 0 5px;
+}
+.popup > .header {
+  font-size: 16px;
+  font-weight: 700;
+}
+.popup .actions {
+  margin: 15px 0 0;
+}
+.popup .actions .action.submit {
+  margin-right: 10px;
+}
+.popup.system {
+  background: #ffffff;
+  padding: 0;
+}
+.popup.system > .header {
+  background: #e5e5e5;
+  border-bottom: 1px solid #c2c2c2;
+  border-radius: 5px 5px 0 0;
+  cursor: move;
+  padding: 10px 20px;
+}
+.popup.system > .content {
+  padding: 20px;
+}
+.popup.system > .footer {
+  border-top: 1px solid #c2c2c2;
+  padding: 10px 20px;
+}
+.popup.system .actions {
+  margin: 0;
+}
+.popup.system .close {
+  right: 8px;
+  top: 8px;
+}
+.fade {
+  background-color: rgba(0, 0, 0, 0.5);
+  position: relative;
+  left: 0;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  padding: 10%;
+}
+.tooltip {
+  display: inline-block;
+  vertical-align: middle;
+  line-height: 1.1;
+  cursor: help;
+}
+.tooltip .tooltip-content {
+  display: none;
+  position: absolute;
+  max-width: 500px;
+  margin: 10px 0 0;
+  padding: 8px;
+  background: rgba(0, 0, 0, 0.5);
+  color: #ffffff;
+  border-radius: 3px;
+  z-index: 20;
+}
+.tooltip .tooltip-content:before {
+  content: '';
+  position: absolute;
+  width: 0;
+  height: 0;
+  top: -5px;
+  left: 20px;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  border-bottom: 5px solid rgba(0, 0, 0, 0.5);
+}
+.tooltip:hover > .tooltip-content {
+  display: block;
+}
+.tipsy {
+  position: absolute;
+  left: 0;
+  top: 0;
+  display: none;
+  padding: 5px;
+  font-size: 16px;
+  z-index: 9999;
+}
+.tipsy .tipsy-inner {
+  padding: 5px 8px 4px;
+  background-color: rgba(0, 0, 0, 0.9);
+  color: #ffffff;
+  max-width: 200px;
+  border-radius: 3px;
+}
+.tipsy .tipsy-arrow {
+  position: absolute;
+  width: 0;
+  height: 0;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  border-bottom: 5px solid rgba(0, 0, 0, 0.9);
+}
+.tipsy.tipsy-s .tipsy-arrow {
+  top: 0;
+  left: 50%;
+  margin-left: -4px;
+}
+.tipsy.tipsy-se .tipsy-arrow {
+  top: 0;
+  left: 10px;
+}
+.tipsy.tipsy-sw .tipsy-arrow {
+  top: 0;
+  right: 10px;
+}
+.tipsy.tipsy-n .tipsy-arrow,
+.tipsy.tipsy-ne .tipsy-arrow,
+.tipsy.tipsy-nw .tipsy-arrow {
+  bottom: 0;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  border-top: 5px solid rgba(0, 0, 0, 0.9);
+  border-bottom: none;
+}
+.tipsy.tipsy-n .tipsy-arrow {
+  left: 50%;
+  margin-left: -4px;
+}
+.tipsy.tipsy-ne .tipsy-arrow {
+  left: 10px;
+}
+.tipsy.tipsy-nw .tipsy-arrow {
+  right: 10px;
+}
+.tipsy.tipsy-w .tipsy-arrow,
+.tipsy.tipsy-e .tipsy-arrow {
+  top: 50%;
+  margin-top: -4px;
+  border-top: 5px solid transparent;
+  border-bottom: 5px solid transparent;
+}
+.tipsy.tipsy-w .tipsy-arrow {
+  right: 0;
+  border-right: none;
+  border-left: 5px solid rgba(0, 0, 0, 0.9);
+}
+.tipsy.tipsy-e .tipsy-arrow {
+  left: 0;
+  border-right: 5px solid rgba(0, 0, 0, 0.9);
+  border-left: none;
+}
+.example-tooltips {
+  /*presentation styles*/
+
+  padding: 70px;
+  text-align: center;
+}
+.example-tooltips button {
+  /*presentation styles*/
+
+  width: 70px;
+  height: 70px;
+  font-size: 18px;
+  margin: 10px 5px;
+}
+strong {
+  font-weight: 700;
+}
+.items {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+}
+/*
+    Forms
+-------------------------------------- */
+.field.required > .label > span:first-child:after {
+  content: ' *';
+  color: #da370a;
+}
+/*
+    Magento_Page
+-------------------------------------- */
+html,
+body,
+button,
+input,
+select,
+textarea {
+  color: #675f55;
+  font: 400 14px/1.33 "sourcesanspro";
+}
+html {
+  background: #ffffff;
+}
+body {
+  position: relative;
+}
+.page.wrapper {
+  background: #ffffff;
+}
+/*
+    Page Layout
+-------------------------------------- */
+.columns {
+  padding-left: 10px;
+  padding-right: 10px;
+  margin: 0 auto;
+  min-width: 1005px;
+  max-width: 1005px;
+}
+.page.main {
+  *zoom: 1;
+  clear: both;
+  padding: 30px 0;
+}
+.page.main:before,
+.page.main:after {
+  content: "";
+  display: table;
+}
+.page.main:after {
+  clear: both;
+}
+.page.title {
+  *zoom: 1;
+  margin-bottom: 30px;
+}
+.page.title:before,
+.page.title:after {
+  content: "";
+  display: table;
+}
+.page.title:after {
+  clear: both;
+}
+.page.title .title {
+  display: inline;
+  margin: 0;
+  line-height: 1.2;
+  font-weight: 200;
+  font-size: 30px;
+  color: #837d75;
+}
+.page.title .action {
+  float: right;
+}
+.page.main > .page.title {
+  padding-left: 10px;
+  padding-right: 10px;
+  margin: 0 auto;
+  min-width: 1005px;
+  max-width: 1005px;
+  margin-bottom: 30px;
+}
+.column.main {
+  min-height: 500px;
+}
+.column.left,
+.column.right {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  min-height: 1px;
+}
+.col1-layout .column.main {
+  float: left;
+  width: 100%;
+  margin-right: 0%;
+}
+.col2-left-layout .column.main {
+  float: right !important;
+  float: left;
+  width: 83.33333333333334%;
+  margin-right: 0%;
+}
+.col2-left-layout .column.left {
+  float: left;
+  width: 16.666666666666664%;
+  margin-right: 0%;
+  padding-right: 12px;
+}
+.col2-right-layout .column.main {
+  float: left;
+  width: 83.33333333333334%;
+  margin-right: 0%;
+}
+.col2-right-layout .column.right {
+  float: left;
+  width: 16.666666666666664%;
+  margin-right: 0%;
+  padding-left: 12px;
+}
+.col3-layout .column.main {
+  *zoom: 1;
+  float: left;
+  width: 66.66666666666666%;
+  margin-right: 0%;
+  float: none !important;
+  display: inline-block !important;
+  vertical-align: top;
+}
+.col3-layout .column.main:before,
+.col3-layout .column.main:after {
+  content: "";
+  display: table;
+}
+.col3-layout .column.main:after {
+  clear: both;
+}
+.col3-layout .column.left {
+  width: 16.666666666666664%;
+  margin-right: 0%;
+  float: left;
+  padding-right: 12px;
+}
+.col3-layout .column.right {
+  float: left;
+  width: 16.666666666666664%;
+  margin-right: 0%;
+  float: none !important;
+  display: inline-block !important;
+  padding-left: 12px;
+}
+/*
+    Header
+-------------------------------------- */
+.header {
+  background-color: #d6d7d2;
+  background-image: url("../images/header-bg.jpg");
+  background-repeat: repeat;
+  background-position: 0;
+  border-bottom: 1px solid;
+  border-color: #b6b8af;
+  padding: 15px 0;
+}
+.header > .content {
+  padding-left: 10px;
+  padding-right: 10px;
+  margin: 0 auto;
+  min-width: 1005px;
+  max-width: 1005px;
+  *zoom: 1;
+  text-align: right;
+}
+.header > .content:before,
+.header > .content:after {
+  content: "";
+  display: table;
+}
+.header > .content:after {
+  clear: both;
+}
+.header > .content .links {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+  margin-bottom: 5px;
+}
+.header > .content .links li {
+  margin-left: 20px;
+  display: inline;
+  text-transform: capitalize;
+}
+.header > .content .links a {
+  color: #837d75;
+}
+.header > .content .links a > span {
+  color: #837d75;
+}
+.header > .content .links a:hover,
+.header > .content .links a:hover > span {
+  color: #da370a;
+}
+.header .panel {
+  padding-left: 10px;
+  padding-right: 10px;
+  margin: 0 auto;
+  min-width: 1005px;
+  max-width: 1005px;
+  *zoom: 1;
+  margin-bottom: 15px;
+  text-align: right;
+}
+.header .panel:before,
+.header .panel:after {
+  content: "";
+  display: table;
+}
+.header .panel:after {
+  clear: both;
+}
+.logo {
+  font-family: "marvel";
+  font-style: normal;
+  font-weight: 400;
+  font-size: 55px;
+  display: block;
+  float: left;
+  line-height: 1;
+  text-align: center;
+}
+.logo img {
+  display: inline-block;
+  vertical-align: middle;
+  margin: 0 auto;
+}
+.logo span {
+  display: inline-block;
+  vertical-align: middle;
+  margin-left: 15px;
+  color: #837d75;
+  margin-top: -8px;
+}
+.logo:active {
+  outline: 0;
+}
+/*
+    Header Banner
+-------------------------------------- */
+.header .panel .widget {
+  display: inline-block;
+  text-align: left;
+}
+.banner-header:visited,
+.banner-header:hover,
+.banner-header {
+  font-size: 16px;
+  text-transform: uppercase;
+  color: #da370a;
+}
+/*
+    Search
+-------------------------------------- */
+.block.search {
+  float: right;
+}
+.block.search > .content {
+  white-space: nowrap;
+}
+.block.search .field,
+.block.search .actions,
+.block.search .field .control {
+  float: left;
+}
+.block.search .actions {
+  margin-right: 0;
+}
+.block.search .search.autocomplete {
+  background: #ffffff;
+  border: 1px solid #c2c2c2;
+  border-width: 0 1px 1px;
+  border-radius: 0 0 5px 5px;
+  z-index: 5;
+}
+.block.search .search.autocomplete ul {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+}
+.block.search .search.autocomplete ul li {
+  border-top: 1px solid #e5e5e5;
+  cursor: pointer;
+  padding: 5px 40px 5px 10px;
+  position: relative;
+  text-align: left;
+  white-space: normal;
+}
+.block.search .search.autocomplete ul li:first-child {
+  border-top: none;
+}
+.block.search .search.autocomplete ul li:hover {
+  background: #f8f8f8;
+}
+.block.search .search.autocomplete ul li .amount {
+  color: #999999;
+  font-weight: 600;
+  position: absolute;
+  right: 7px;
+  top: 6px;
+}
+/*
+    Navigation
+-------------------------------------- */
+.navigation {
+  z-index: 4;
+}
+.navigation > ul > .level-top.hover > .submenu,
+.navigation > ul > .level-top:hover > .submenu {
+  z-index: 3;
+}
+.navigation > ul > .level-top.more > .submenu {
+  background: #f8f8f8;
+}
+.navigation > ul > .level-top.more > .submenu > ul {
+  padding-left: 10px;
+  padding-right: 10px;
+  margin: 0 auto;
+  min-width: 1005px;
+  max-width: 1005px;
+  position: relative;
+}
+.navigation > ul > .level-top.more.hover > .submenu {
+  border-bottom: 1px solid #c2c2c2;
+  overflow: visible !important;
+}
+.navigation > ul,
+.navigation > ul > .level0 > .submenu > ul.level0 {
+  padding-left: 10px;
+  padding-right: 10px;
+  margin: 0 auto;
+  min-width: 1005px;
+  max-width: 1005px;
+  padding-left: 0;
+  padding-right: 0;
+}
+@media only screen and (max-width: 640px) {
+  .navigation > ul {
+    min-width: 100%;
+    max-width: 100%;
+  }
+  .action.toggle.nav {
+    top: 100%;
+  }
+}
+/*
+    General block
+-------------------------------------- */
+.column.main .block,
+.sidebar .block {
+  margin-bottom: 45px;
+}
+.column.main .block > .title,
+.sidebar .block > .title {
+  margin-bottom: 15px;
+}
+.column.main .block > .title strong,
+.sidebar .block > .title strong {
+  line-height: 1.2;
+  font-weight: 200;
+  font-size: 20px;
+}
+.column.main .block.filter .item,
+.sidebar .block.filter .item {
+  margin-bottom: 10px;
+}
+.sidebar .block > .title strong {
+  font-size: 18px;
+}
+/*
+    Breadcrumbs
+-------------------------------------- */
+.breadcrumbs {
+  padding-left: 10px;
+  padding-right: 10px;
+  margin: 0 auto;
+  min-width: 1005px;
+  max-width: 1005px;
+  margin-top: 30px;
+}
+/*
+    Footer
+-------------------------------------- */
+.footer {
+  background: #ffffff;
+  border-top: 1px solid;
+  border-color: #dedede;
+  padding: 30px 0 80px;
+}
+.footer > .content {
+  padding-left: 10px;
+  padding-right: 10px;
+  margin: 0 auto;
+  min-width: 1005px;
+  max-width: 1005px;
+  text-align: left;
+}
+.footer .links {
+  display: inline-block;
+  padding: 0;
+  margin: 1px 3px 19px 0;
+}
+.footer .links ul {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+}
+.footer .links li {
+  list-style: none;
+  list-style-image: none;
+  margin: 0;
+  padding: 0;
+  display: inline;
+}
+.footer .links li:after {
+  content: ' | ';
+}
+.footer .links li:last-child:after {
+  content: '';
+}
+.footer .links + .links li:first-child:before {
+  content: ' | ';
+}
+.footer .links a {
+  color: #837d75;
+}
+.footer .links a > span {
+  color: #837d75;
+}
+.footer .links a:hover,
+.footer .links a:hover > span {
+  color: #da370a;
+}
+.footer .copyright {
+  font-size: 14px;
+  display: block;
+  padding-top: 10px;
+}
+.footer .bugs {
+  margin-top: 25px;
+  font-size: 11px;
+}
+.footer .bugs a {
+  font-weight: bold;
+}
+.footer .bugs a:before {
+  content: ' - ';
+  display: inline-block;
+}
+/*
+    Switchers
+-------------------------------------- */
+.switcher {
+  display: inline-block;
+  text-align: left;
+  font-size: 11px;
+  vertical-align: middle;
+}
+.header .panel .switcher {
+  margin-right: 25px;
+}
+.header .panel .switcher:last-child {
+  margin-right: 0;
+}
+.switcher .label {
+  display: none;
+}
+.switcher strong {
+  color: #837d75;
+  font-weight: 600;
+}
+.switcher .options {
+  display: inline-block;
+  position: relative;
+  z-index: 1;
+}
+.switcher .options > ul {
+  padding: 0;
+  list-style-type: none;
+  list-style-image: none;
+  margin: 0;
+  padding: 5px 10px;
+  position: absolute;
+  top: 100%;
+  right: 0;
+  margin-left: -11px;
+  min-width: 100%;
+  float: left;
+  background: #f8f8f8;
+  border: 1px solid #cacbc4;
+  visibility: hidden;
+  opacity: 0;
+  -webkit-transition: visibility 0s linear 2s;
+  -moz-transition: visibility 0s linear 2s;
+  transition: visibility 0s linear 2s;
+}
+.switcher .options > ul li {
+  margin: 5px 0;
+  white-space: nowrap;
+}
+.switcher .options.active {
+  z-index: 999;
+}
+.switcher .options.active > ul {
+  visibility: visible;
+  opacity: 1;
+  -webkit-transition-delay: 0s;
+  -moz-transition-delay: 0s;
+  -ms-transition-delay: 0s;
+  -o-transition-delay: 0s;
+  transition-delay: 0s;
+}
+.switcher .options.active strong,
+.switcher .options:hover strong {
+  color: #675f55;
+}
+.action.switch {
+  border: none;
+  border-radius: 0;
+  background: none;
+  margin: 0;
+  padding: 0;
+  box-shadow: none;
+  text-shadow: none;
+  outline: none;
+  vertical-align: top;
+  color: #837d75;
+}
+.action.switch span {
+  width: 16px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+}
+.action.switch span:after {
+  font-family: "icons";
+  font-size: 16px;
+  line-height: 16px;
+  height: 16px;
+  margin: 0;
+  overflow: hidden;
+  content: '\e02c';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.action.switch span:active {
+  outline: 0;
+}
+.action.switch span:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.action.switch span:after {
+  line-height: 12px;
+}
+.action.switch:focus,
+.action.switch:hover,
+.action.switch.active {
+  color: #675f55;
+}
+.action.switch.active span:after {
+  content: "\e029";
+}
+.no-js .action.switch:focus + ul {
+  visibility: visible;
+  opacity: 1;
+  -webkit-transition-delay: 0s;
+  -moz-transition-delay: 0s;
+  -ms-transition-delay: 0s;
+  -o-transition-delay: 0s;
+  transition-delay: 0s;
+}
+/*
+    Global Notices
+-------------------------------------- */
+.notice.global.site {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  position: absolute;
+  width: 100%;
+  padding: 8px;
+  background: #4d5d64;
+  color: #fff;
+  top: 0;
+  left: 0;
+  text-align: center;
+}
+.notice.global.site p {
+  margin: 0;
+}
+/*
+    Reviews
+-------------------------------------- */
+.reviews.summary {
+  line-height: 16px;
+}
+.reviews.summary .action {
+  font-size: 12px;
+}
+.reviews.summary .reviews.actions {
+  font-size: 12px;
+  display: inline;
+}
+.reviews.summary .action.view span:before {
+  content: ' ';
+}
+.reviews.summary .action.view + .action.add:before {
+  content: '\00A0|\00A0\00A0';
+  display: inline-block;
+  color: #332e29;
+}
+.reviews.summary.short:not(.no-rating) .action.view span {
+  display: none;
+}
+.reviews.summary.short:not(.no-rating) .action.view:before {
+  content: '(';
+  display: inline-block;
+}
+.reviews.summary.short:not(.no-rating) .action.view:after {
+  content: ')';
+  display: inline-block;
+}
+.block.reviews.dashboard .rating,
+.reviews.summary .rating {
+  width: 80px;
+  margin-right: 3px;
+  line-height: 1;
+  color: rgba(218, 55, 10, 0.3);
+  display: inline-block;
+  vertical-align: top;
+  margin-top: -1px;
+}
+.block.reviews.dashboard .rating > span,
+.reviews.summary .rating > span {
+  display: block;
+  overflow: hidden;
+  color: #da370a;
+  height: 0;
+  padding-top: 16px;
+  line-height: 1;
+  margin-top: -16px;
+}
+.block.reviews.dashboard .rating > span:before,
+.reviews.summary .rating > span:before {
+  margin-top: -16px;
+}
+.block.reviews.dashboard .rating:before,
+.reviews.summary .rating:before,
+.block.reviews.dashboard .rating > span:before,
+.reviews.summary .rating > span:before {
+  display: block;
+  top: 0;
+  left: 0;
+  width: 100%;
+  font-family: "icons";
+  content: "\e009" "\e009" "\e009" "\e009" "\e009";
+  font-style: normal;
+  font-size: 16px;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+}
+/*
+    Customer Reviews
+-------------------------------------- */
+.block.reviews.list {
+  margin: 0 0 30px -20px;
+  padding: 0;
+}
+.block.reviews.list > .title {
+  display: none;
+}
+.block.reviews.list .item.review {
+  padding: 15px;
+}
+.block.reviews.list .item.review .review.title {
+  font-weight: 600;
+  display: block;
+  margin: 15px 0;
+}
+.block.reviews.list .item.review:nth-child(odd) {
+  background: #f8f8f8;
+}
+.block.reviews.list .review.details .author strong {
+  text-transform: uppercase;
+  font-weight: 600;
+}
+.block.reviews.list .review.details .review.date {
+  font-size: 12px;
+}
+.block.reviews.list .review.details p {
+  margin: 5px 0;
+}
+.block.reviews.list .review.details p span {
+  display: none;
+}
+.block.add.review {
+  margin: 0 0 30px -20px;
+  padding: 20px;
+  background: #f8f8f8;
+}
+.block.add.review .title {
+  display: none;
+}
+.block.add.review .fieldset {
+  margin: 30px 10px 30px 30px;
+  letter-spacing: -0.31em;
+  word-spacing: -0.43em;
+  border: 0;
+  padding: 0;
+  margin: 0;
+}
+.block.add.review .fieldset > * {
+  letter-spacing: normal;
+  word-spacing: normal;
+}
+.block.add.review .fieldset > .legend {
+  float: left;
+  font: 400 20px/1.2 "sourcesanspro";
+  margin: -30px 30px 50px -30px;
+  width: 100%;
+}
+.block.add.review .fieldset > .legend + br {
+  display: block;
+  *zoom: 1;
+}
+.block.add.review .fieldset > .legend + br:before,
+.block.add.review .fieldset > .legend + br:after {
+  content: "";
+  display: table;
+}
+.block.add.review .fieldset > .legend + br:after {
+  clear: both;
+}
+.block.add.review .fieldset > .legend {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  float: left;
+  width: 100%;
+  margin: 0 0 20px;
+  padding: 10px 0 30px;
+  border-bottom: 1px solid;
+  border-color: #d7d7d7;
+}
+.block.add.review .fieldset > .legend + br {
+  clear: both;
+  display: block !important;
+}
+.block.add.review .fieldset > .legend span {
+  line-height: 1.2;
+  font-weight: 200;
+  font-size: 20px;
+}
+.block.add.review .fieldset > .legend strong {
+  margin-left: 20px;
+  font-size: 14px;
+  font-weight: 600;
+}
+.block.add.review .fieldset > .field:not(.ratings) {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  margin: 0 0 20px;
+  margin: 0 0 10px;
+}
+.block.add.review .fieldset > .field:not(.ratings) > .label {
+  display: block;
+  padding-bottom: 5px;
+}
+.block.add.review .fieldset > .field:not(.ratings) .nested .field {
+  margin: 5px 0;
+}
+.block.add.review .fieldset > .field:not(.ratings).choice > .control {
+  width: auto;
+}
+.block.add.review .fieldset > .field:not(.ratings).choice > .label {
+  display: inline;
+}
+.block.add.review .fieldset > .field:not(.ratings).choice > input {
+  vertical-align: top;
+  margin-top: 2px;
+  margin-right: 5px;
+}
+.block.add.review .fieldset > .field:not(.ratings).required > .label > span:first-child:after {
+  content: '*';
+  color: #da370a;
+}
+.block.add.review .fieldset > .field:not(.ratings) .addon {
+  display: table;
+  padding: 0;
+  width: 100%;
+}
+.block.add.review .fieldset > .field:not(.ratings) .addon textarea,
+.block.add.review .fieldset > .field:not(.ratings) .addon select,
+.block.add.review .fieldset > .field:not(.ratings) .addon input {
+  box-shadow: none;
+  display: table-cell;
+  margin: 0;
+  width: 100%;
+}
+.block.add.review .fieldset > .field:not(.ratings) .addon .addbefore,
+.block.add.review .fieldset > .field:not(.ratings) .addon .addafter {
+  height: 0;
+  white-space: nowrap;
+  display: inline-block;
+  display: table-cell;
+  vertical-align: middle;
+  width: 1px;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  background: #ffffff;
+  border: 1px solid #c2c2c2;
+  border-radius: 3px;
+  font: 400 14px "sourcesanspro";
+  /* Prevent background color leak outs */
+
+  background-clip: padding-box;
+  outline: none;
+  height: 32px;
+  line-height: 1;
+  padding: 0 10px;
+}
+.block.add.review .fieldset > .field:not(.ratings) .addon .addbefore:focus,
+.block.add.review .fieldset > .field:not(.ratings) .addon .addafter:focus {
+  border-color: #999999;
+}
+.control .block.add.review .fieldset > .field:not(.ratings) .addon .addbefore,
+.control .block.add.review .fieldset > .field:not(.ratings) .addon .addafter {
+  width: 100%;
+}
+.block.add.review .fieldset > .field:not(.ratings) .addon .addbefore:disabled,
+.block.add.review .fieldset > .field:not(.ratings) .addon .addafter:disabled {
+  opacity: 0.5;
+}
+.block.add.review .fieldset > .field:not(.ratings) .addon .addbefore::-webkit-input-placeholder,
+.block.add.review .fieldset > .field:not(.ratings) .addon .addafter::-webkit-input-placeholder {
+  line-height: 1.333;
+}
+.block.add.review .fieldset > .field:not(.ratings) .addon .addbefore:-ms-input-placeholder,
+.block.add.review .fieldset > .field:not(.ratings) .addon .addafter:-ms-input-placeholder {
+  line-height: 1.333;
+}
+.eq-ie8 .block.add.review .fieldset > .field:not(.ratings) .addon .addbefore,
+.eq-ie8 .block.add.review .fieldset > .field:not(.ratings) .addon .addafter {
+  padding-top: 8px;
+}
+.block.add.review .fieldset > .field:not(.ratings) .note {
+  font-size: 12px;
+  margin-top: 3px;
+  padding-left: 15px;
+}
+.block.add.review .fieldset > .field:not(.ratings) .note:before {
+  border-bottom: 5px solid #675f55;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  content: '';
+  display: inline-block;
+  font-size: 0;
+  line-height: 0;
+  margin: 4px 0 0 -14px;
+  position: absolute;
+  vertical-align: top;
+  width: 0;
+}
+.block.add.review .fieldset > .field:not(.ratings):last-child {
+  margin-bottom: 0;
+}
+.block.add.review .fieldset > .field:not(.ratings) .nested {
+  padding: 0 0 0;
+}
+.block.add.review .fieldset > .field:not(.ratings) .nested .field {
+  margin: 5px 0;
+}
+.block.add.review .fieldset > .field:not(.ratings) > .label {
+  padding: 0 0 5px;
+}
+.block.add.review .action.cancel {
+  border: none;
+  border-radius: 0;
+  background: none;
+  margin: 0;
+  padding: 0;
+  box-shadow: none;
+  text-shadow: none;
+  outline: none;
+  display: inline;
+  color: #332e29;
+  text-decoration: none;
+  position: absolute;
+  left: 100%;
+  text-decoration: underline;
+  text-transform: uppercase;
+  margin-left: 20px;
+  margin-top: 10px;
+}
+.block.add.review .action.cancel:focus,
+.block.add.review .action.cancel:active,
+.block.add.review .action.cancel:hover {
+  color: #da370a;
+}
+.block.add.review .actions,
+.block.add.review .field:not(.ratings) {
+  width: 60%;
+}
+.block.add.review .actions {
+  padding-top: 20px;
+  text-align: right;
+  position: relative;
+  z-index: 1;
+}
+/*
+    Review details
+-------------------------------------- */
+.review.view .product.name {
+  display: inline-block;
+  margin: 0;
+}
+.review.view .product.details {
+  float: left;
+  margin-right: 30px;
+}
+.review.view .product.photo {
+  display: block;
+  margin-bottom: 30px;
+}
+.review.view .review.details {
+  margin: 30px 0;
+  display: table;
+}
+.review.view .review.details .ratings.summary {
+  margin-bottom: 30px;
+}
+.review.view .review.details .ratings.summary strong {
+  font-weight: 600;
+  display: block;
+  margin: 0 0 15px;
+}
+.review.view .review.details .ratings.summary .item {
+  display: table-row;
+}
+.review.view .review.details .ratings.summary .label {
+  padding: 0 0 10px;
+  padding-right: 10px;
+  display: table-cell;
+}
+.review.view .review.details .ratings.summary .label:after {
+  content: ': ';
+}
+.review.view .review.details .review.date {
+  font-size: 12px;
+}
+.review.view .review.details .review.title {
+  font-weight: 600;
+  font-size: 16px;
+  margin: 0 0 15px;
+}
+.customer.review.view + .actions {
+  clear: both;
+}
+/*
+    Messages
+-------------------------------------- */
+.page.messages {
+  padding-left: 10px;
+  padding-right: 10px;
+  margin: 0 auto;
+  min-width: 1005px;
+  max-width: 1005px;
+  margin: 15px auto;
+}
+/*
+    Magento_Checkout
+    One page
+-------------------------------------- */
+.block.progress.onepage {
+  float: left;
+  width: 200px;
+}
+.block.progress.onepage dt {
+  font-size: 16px;
+  font-weight: 400;
+  margin: 0 0 10px 0;
+}
+.block.progress.onepage dt a {
+  font-size: 14px;
+}
+.block.progress.onepage dd.complete {
+  padding: 0;
+  margin: 0 0 30px;
+}
+.block.progress.onepage address {
+  font-style: normal;
+}
+.opc.wrapper {
+  float: right;
+  width: 725px;
+}
+.opc.wrapper > .opc {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+}
+.opc.wrapper > .opc .section {
+  margin-bottom: 4px;
+}
+.opc.wrapper > .opc .section > .step-title {
+  padding: 15px 20px;
+  line-height: 1;
+  background: #da370a;
+  font-size: 22px;
+}
+.opc.wrapper > .opc .section > .step-title h2 {
+  font-weight: 400;
+  font-size: 18px;
+  margin: 0;
+  padding: 0;
+  color: #fff;
+}
+.opc.wrapper > .opc .section > .step-title .number {
+  display: none;
+}
+.opc.wrapper > .opc .section.active > .step-title {
+  background: #f8f8f8;
+  margin-bottom: 0;
+}
+.opc.wrapper > .opc .section.active > .step-title h2 {
+  color: #675f55;
+}
+.opc.wrapper > .opc .section.allow > .step-title {
+  cursor: pointer;
+}
+.opc.wrapper > .opc .section.allow > .step-title h2:after {
+  display: block;
+}
+.opc.wrapper > .opc .section > .step {
+  padding: 0 20px 20px;
+  background: #f8f8f8;
+}
+.opc.wrapper > .opc .section > .step:before {
+  content: '';
+  border-top: 3px solid #e5e5e5;
+  display: block;
+  margin-bottom: 20px;
+}
+.opc.wrapper .form:not(.login) .fieldset {
+  padding: 0;
+  margin: 20px 0;
+  border: 0;
+}
+.opc.wrapper .form:not(.login) .fieldset .field {
+  display: inline-block;
+  padding-right: 20px;
+  vertical-align: top;
+  width: 50%;
+}
+.opc.wrapper .form:not(.login) .fieldset .nested .field {
+  width: 100%;
+}
+.opc.wrapper .form:not(.login) .fieldset .actions {
+  margin-right: 30px;
+}
+.opc.wrapper .form:not(.login) .field {
+  margin: 0 0 10px;
+}
+.opc.wrapper .form:not(.login) .field:last-child {
+  margin-bottom: 0;
+}
+.opc.wrapper .form:not(.login) .field .nested {
+  padding: 0 0 0;
+}
+.opc.wrapper .form:not(.login) .field .nested .field {
+  margin: 5px 0;
+}
+.opc.wrapper .form:not(.login) .field:not(.choice) .label {
+  display: block;
+  padding-bottom: 5px;
+}
+.opc.wrapper .form:not(.login) .actions {
+  *zoom: 1;
+  text-align: right;
+}
+.opc.wrapper .form:not(.login) .actions:before,
+.opc.wrapper .form:not(.login) .actions:after {
+  content: "";
+  display: table;
+}
+.opc.wrapper .form:not(.login) .actions:after {
+  clear: both;
+}
+.opc.wrapper .form:not(.login) .actions button.action {
+  float: right;
+}
+.opc.wrapper .form:not(.login) .actions .secondary {
+  padding-top: 10px;
+  clear: right;
+  float: right;
+}
+.opc.wrapper .form:not(.login) .field.fullname + .field.company,
+.opc.wrapper .form:not(.login) .field.name-lastname + .field.company,
+.opc.wrapper .form:not(.login) .field.country,
+.opc.wrapper .form:not(.login) .field.taxvat {
+  margin: 0 40% 30px 0;
+}
+.opc.wrapper .form:not(.login) .field.confirm,
+.opc.wrapper .form:not(.login) .field.password {
+  margin-top: 20px;
+  margin-bottom: 20px;
+}
+.opc.wrapper .form:not(.login) .field.choice {
+  width: 100%;
+  display: block;
+}
+.opc.wrapper .form:not(.login) .field.persistent,
+.opc.wrapper .form:not(.login) .field.save {
+  margin: 20px 0 0;
+}
+.opc.wrapper .form:not(.login) .field.addresses {
+  margin-bottom: 20px;
+}
+.opc.wrapper .form:not(.login):after {
+  content: attr(data-hasrequired);
+  display: block;
+  letter-spacing: normal;
+  word-spacing: normal;
+  color: #da370a;
+}
+.opc.loading .active {
+  position: relative;
+  z-index: 1;
+}
+.opc.loading .active:before {
+  content: '';
+  display: block;
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  background: rgba(255, 255, 255, 0.1);
+}
+.opc.loading .active .actions .action {
+  visibility: hidden;
+  width: 1px;
+  overflow: hidden;
+}
+/*
+    Load Indicator
+-------------------------------------- */
+.load.indicator {
+  display: inline-block;
+  padding: 8px;
+  vertical-align: middle;
+}
+.load.indicator span {
+  display: block;
+  line-height: 16px;
+}
+.load.indicator span:before {
+  content: '';
+  margin-right: 5px;
+  display: inline-block;
+  width: 16px;
+  height: 16px;
+  background: url(../images/loader.gif) no-repeat 0 0;
+  background-color: #da370a;
+  vertical-align: top;
+}
+/*
+    Step Login
+-------------------------------------- */
+.step.login.wrapper {
+  *zoom: 1;
+  position: relative;
+  z-index: 1;
+  padding-bottom: 70px;
+}
+.step.login.wrapper:before,
+.step.login.wrapper:after {
+  content: "";
+  display: table;
+}
+.step.login.wrapper:after {
+  clear: both;
+}
+.step.login.wrapper .block {
+  float: left;
+  width: 50%;
+  margin-right: 0%;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+}
+.step.login.wrapper .block .fieldset {
+  border: 0;
+  margin: 0;
+  padding: 0;
+}
+.step.login.wrapper .block .fieldset .field {
+  width: 100%;
+}
+.step.login.wrapper .block.guest {
+  padding-left: 50px;
+}
+.step.login.wrapper .block.guest:before {
+  content: '';
+  border-left: 1px solid #e5e5e5;
+  position: absolute;
+  top: 0;
+  margin-left: -25px;
+  bottom: 20px;
+}
+.step.login.wrapper .actions {
+  position: absolute;
+  bottom: 0;
+  padding: 20px 0;
+  text-align: right;
+  margin: 0;
+  width: 50%;
+}
+.step.login.wrapper .actions .secondary {
+  font-size: 12px;
+  margin-top: .5em;
+  line-height: 1.4em;
+  margin-bottom: -1.9em;
+}
+.step.login.wrapper .guest .actions {
+  margin-left: -50px;
+}
+.fieldset.guest > .field {
+  margin: 0 0 10px;
+}
+.fieldset.guest > .field:last-child {
+  margin-bottom: 0;
+}
+.fieldset.guest > .field .nested {
+  padding: 0 0 0;
+}
+.fieldset.guest > .field .nested .field {
+  margin: 5px 0;
+}
+/*
+    Step Review
+-------------------------------------- */
+.checkout.submit.order .actions {
+  margin-top: 15px;
+  *zoom: 1;
+}
+.checkout.submit.order .actions:before,
+.checkout.submit.order .actions:after {
+  content: "";
+  display: table;
+}
+.checkout.submit.order .actions:after {
+  clear: both;
+}
+.checkout.submit.order .actions .primary {
+  float: right;
+}
+.checkout.submit.order .actions .secondary {
+  float: left;
+  line-height: 32px;
+}
+.order.data.items tfoot tr:first-child td {
+  border-top: 3px solid #e5e5e5;
+  padding-top: 15px;
+}
+.order.data.items tr.total td {
+  padding-top: 5px;
+  padding-bottom: 5px;
+  text-align: right;
+}
+.order.data.items tr.total:last-child td {
+  padding-bottom: 20px;
+}
+.order.data.items tr.grand.total td {
+  vertical-align: middle;
+}
+.order.data.items tr.grand.total .amount {
+  font-size: 24px;
+  color: #da370a;
+}
+.order.review.data th.col.price,
+.order.review.data th.col.subtotal {
+  text-align: right;
+  padding-right: 10px;
+}
+.order.review.data th.col.item {
+  text-align: left;
+  padding-left: 20px;
+}
+/*
+    Magento_Checkout
+    Multishipping
+-------------------------------------- */
+.multicheckout.progress {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+  float: left;
+  width: 200px;
+}
+.multicheckout.progress li {
+  font-size: 16px;
+  font-weight: 400;
+  margin: 0 0 10px 0;
+}
+.multicheckout.progress li.active {
+  font-weight: bold;
+}
+.multicheckout.progress + .form.address.edit {
+  float: right;
+  width: 725px;
+}
+.multicheckout.form.address,
+.multicheckout.form.billing,
+.multicheckout.form.shipping,
+.multicheckout.form.overview,
+.multicheckout.success,
+.multicheckout.change.billing {
+  float: right;
+  width: 725px;
+}
+.multicheckout .title {
+  *zoom: 1;
+  margin: 0 0 30px;
+}
+.multicheckout .title:before,
+.multicheckout .title:after {
+  content: "";
+  display: table;
+}
+.multicheckout .title:after {
+  clear: both;
+}
+.multicheckout .title > strong {
+  font-size: 20px;
+  font-weight: 400;
+  margin: 4px 0 0;
+}
+.multicheckout .subtitle {
+  display: block;
+  *zoom: 1;
+  margin: 0 0 20px;
+}
+.multicheckout .subtitle:before,
+.multicheckout .subtitle:after {
+  content: "";
+  display: table;
+}
+.multicheckout .subtitle:after {
+  clear: both;
+}
+.multicheckout .subtitle > span {
+  font-size: 18px;
+  font-weight: normal;
+  margin: 4px 0 0;
+}
+.multicheckout .title .action,
+.multicheckout .subtitle .action {
+  font-weight: 400;
+  font-size: 14px;
+  margin-left: 20px;
+  text-decoration: underline;
+  display: inline-block;
+  text-transform: lowercase;
+}
+.multicheckout .title .action:hover,
+.multicheckout .subtitle .action:hover {
+  text-decoration: none;
+}
+.multicheckout .content {
+  *zoom: 1;
+}
+.multicheckout .content:before,
+.multicheckout .content:after {
+  content: "";
+  display: table;
+}
+.multicheckout .content:after {
+  clear: both;
+}
+.multicheckout .content > .block {
+  margin-bottom: 20px;
+}
+.multicheckout .content > .block:last-child {
+  margin-bottom: 0;
+}
+.multicheckout address {
+  font-style: normal;
+}
+.multicheckout > .block.shipping .box,
+.multicheckout > .block.billing .box {
+  margin-bottom: 20px;
+}
+.multicheckout > .block.shipping .box:last-child,
+.multicheckout > .block.billing .box:last-child {
+  margin-bottom: 0;
+}
+.multicheckout > .block.shipping .box.address,
+.multicheckout.overview > .block.billing .box.address {
+  float: left;
+  width: 49%;
+}
+.multicheckout > .block.shipping .box.method,
+.multicheckout.overview > .block.billing .box.method {
+  float: right;
+  width: 49%;
+}
+.multicheckout > .block.shipping .box.items,
+.multicheckout.overview > .block.billing .box.items {
+  clear: both;
+}
+.multicheckout.overview > .block.billing {
+  *zoom: 1;
+}
+.multicheckout.overview > .block.billing:before,
+.multicheckout.overview > .block.billing:after {
+  content: "";
+  display: table;
+}
+.multicheckout.overview > .block.billing:after {
+  clear: both;
+}
+.multicheckout.overview > .block.billing .box.method p {
+  margin: 0 0 10px;
+}
+.multicheckout.overview > .block.billing .box.method th,
+.multicheckout.overview > .block.billing .box.method td {
+  font-size: 14px;
+  padding: 0;
+}
+.multicheckout.overview > .block.shipping .content {
+  margin-bottom: 20px;
+}
+.multicheckout.overview > .block.shipping .content:last-child {
+  margin-bottom: 0;
+}
+.multicheckout.overview .checkout.agreements {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+  margin: 10px 0;
+}
+.multicheckout.overview .checkout.agreements .item {
+  margin: 0 0 10px;
+}
+.multicheckout.overview .checkout.agreements .item:last-child {
+  margin: 0;
+}
+.multicheckout.overview .checkout.agreements .agreement {
+  background-color: #f8f8f8;
+  border: 1px solid #e5e5e5;
+  font-size: 11px;
+  overflow: auto;
+  margin: 0 0 10px;
+  padding: 15px;
+}
+.multicheckout.overview > .checkout.review .grand.total {
+  margin: 15px 0;
+  text-align: right;
+}
+.multicheckout.overview > .checkout.review .grand.total .label {
+  font-size: 18px;
+  font-weight: 400;
+}
+.multicheckout.overview > .checkout.review .grand.total .price {
+  color: #da370a;
+  font-size: 24px;
+  font-weight: 700;
+}
+.multicheckout.change.billing .box {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  background: #f8f8f8;
+  float: left;
+  margin-bottom: 20px;
+  margin-left: 2%;
+  padding: 30px;
+  width: 49%;
+}
+.multicheckout.change.billing .box.odd {
+  clear: left;
+  margin-left: 0;
+}
+.multicheckout.change.billing .box .actions {
+  margin: 15px 0 0;
+}
+.multicheckout.change.billing .actions {
+  clear: left;
+}
+.multicheckout .actions {
+  *zoom: 1;
+  margin: 20px 0;
+}
+.multicheckout .actions:before,
+.multicheckout .actions:after {
+  content: "";
+  display: table;
+}
+.multicheckout .actions:after {
+  clear: both;
+}
+.multicheckout.change.billing .actions {
+  margin-top: 0;
+}
+.multicheckout .action.back {
+  float: left;
+  margin: 9px 0 0;
+}
+.multicheckout .action.back span:before {
+  content: "\00AB\00A0";
+}
+.multicheckout .action.continue.disabled,
+.multicheckout .action.submit.disabled {
+  opacity: 0.3;
+}
+.multicheckout .action.continue.disabled:hover,
+.multicheckout .action.submit.disabled:hover {
+  background: #da370a;
+}
+.multicheckout .action.add {
+  float: right;
+  text-decoration: none;
+  text-transform: uppercase;
+}
+.multicheckout.success .action.continue {
+  text-decoration: none;
+  text-transform: none;
+}
+.multicheckout .product.name {
+  margin-bottom: 0;
+}
+.multicheckout .items.data td.col.address {
+  padding-top: 10px;
+}
+.multicheckout .items.data td.col.delete,
+.multicheckout .items.data td.col.product {
+  padding-top: 18px;
+}
+.multicheckout .items.data .col.item {
+  padding-left: 0;
+  text-align: left;
+}
+.multicheckout .items.data th.col.item,
+.multicheckout .items.data th.col.qty {
+  padding-bottom: 5px;
+}
+.multicheckout .items.data .mark,
+.multicheckout .items.data .amount {
+  text-align: right;
+}
+.multicheckout .items.data tfoot tr.total:first-child td {
+  border-top: 3px solid #e5e5e5;
+  padding-top: 15px;
+}
+.multicheckout .items.data tfoot tr.total:last-child td {
+  border-bottom: 0;
+}
+.multicheckout .items.data tfoot tr.total td {
+  padding-top: 5px;
+  padding-bottom: 5px;
+  text-align: right;
+}
+.multicheckout .items.data tfoot tr.total.grand td {
+  vertical-align: middle;
+}
+.multicheckout .items.data tfoot tr.total.grand .amount {
+  color: #da370a;
+  font-size: 24px;
+}
+.multicheckout .items.data .applicable {
+  padding-top: 7px;
+}
+.multicheckout .block .items.data tr td:first-child {
+  padding-left: 0;
+}
+.multicheckout .block .items.data tr td:last-child {
+  padding-right: 0;
+}
+.multicheckout .shipping .items.data tr:last-child td {
+  border-bottom: 1px solid #e5e5e5;
+}
+.multicheckout .sp-methods,
+.multicheckout .items.methods {
+  margin: 0;
+}
+.multicheckout .sp-methods dt,
+.multicheckout .items.methods dt {
+  margin: 0;
+}
+.multicheckout .sp-methods dd,
+.multicheckout .items.methods dd {
+  margin: 0;
+  padding: 0;
+}
+.multicheckout .sp-methods dd ul,
+.multicheckout .items.methods dd ul {
+  margin: 0 0 15px;
+  padding: 10px;
+}
+.multicheckout.form.address .col.address select {
+  max-width: 450px;
+}
+.checkout-multishipping-address-newshipping .form.address.edit,
+.checkout-multishipping-address-editshipping .form.address.edit {
+  float: right;
+  width: 725px;
+}
+.block.gift.message {
+  margin: 30px 0 0;
+}
+.block.gift.message .title {
+  font-size: 16px;
+  font-weight: 400;
+  margin-bottom: 15px;
+}
+/*
+    Magento_Checkout
+    Gift Message
+-------------------------------------- */
+.gift.message > .legend {
+  font-size: 16px;
+  margin: 0 0 20px;
+}
+.gift.message .block.items {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  border: 1px solid #e5e5e5;
+  height: 310px;
+  overflow: auto;
+  padding: 20px;
+}
+.gift.message dt {
+  margin: 30px 0 0;
+}
+.gift.message dt:first-child {
+  margin: 0;
+}
+.gift.message dt .title {
+  font-size: 16px;
+  margin: 0 0 15px;
+}
+.gift.message dt > .price {
+  margin: 0 0 10px;
+}
+.gift.message dd {
+  margin: 20px 0 0 20px;
+}
+.gift.message .field.choice input {
+  margin-right: 5px;
+  margin-top: 2px;
+  vertical-align: top;
+}
+.gift.message .design {
+  *zoom: 1;
+  margin: 10px 0 0;
+}
+.gift.message .design:before,
+.gift.message .design:after {
+  content: "";
+  display: table;
+}
+.gift.message .design:after {
+  clear: both;
+}
+.gift.message .design img {
+  height: 75px;
+  width: 75px;
+  float: left;
+  margin-right: 15px;
+}
+.gift.message .design > .price {
+  float: left;
+}
+.gift.message .field.gift.wrapping .label {
+  display: block;
+  padding-bottom: 5px;
+}
+.gift.message .field.gift.wrapping .control select {
+  width: 100%;
+}
+.gift.message .activate.message {
+  display: inline-block;
+  margin: 10px 0 0;
+}
+.gift.message .activate.message + div .fieldset {
+  margin-top: 0;
+}
+.gift.message .field.gift.wrapping .design > .price > .price,
+.gift.message dt > .price > .price {
+  display: block;
+}
+.gift.message .field.gift.wrapping .design > .price > .price > span,
+.gift.message dt > .price > .price > span {
+  display: inline-block;
+}
+.gift.message .no-display {
+  display: none;
+}
+.gift.message .options.order .field.gift.wrapping,
+.gift.message .options.order .field.text {
+  width: 100%;
+}
+.gift.message .options.individual ol {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+}
+.gift.message .options.individual li {
+  *zoom: 1;
+  border-bottom: 1px solid #e5e5e5;
+  margin: 0 0 15px;
+  padding: 0 0 15px;
+  overflow: hidden;
+}
+.gift.message .options.individual li:before,
+.gift.message .options.individual li:after {
+  content: "";
+  display: table;
+}
+.gift.message .options.individual li:after {
+  clear: both;
+}
+.gift.message .options.individual .number {
+  border-bottom: 1px solid #e5e5e5;
+  color: #999999;
+  margin: 0 0 15px;
+  padding: 0 0 5px;
+}
+.gift.message .options.individual .product {
+  float: left;
+  margin-right: 20px;
+  text-align: center;
+}
+.gift.message .options.individual .product > .product {
+  float: none;
+  margin: 0;
+}
+.gift.message .options.individual .product .img {
+  margin-bottom: 5px;
+}
+.gift.message .options.individual .options-items-container {
+  width: 100%;
+}
+.gift.message .options.individual .options-items-container .field {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  width: 100%;
+}
+.gift.message .options.individual .field.text {
+  width: 100%;
+}
+.gift.message .options.individual .item.options {
+  overflow: hidden;
+}
+.gift.message .extra-options-container {
+  margin: 10px 0 0;
+}
+.gift.message .extra-options-container .field.choice {
+  margin: 0 0 10px;
+}
+.multicheckout .gift.message {
+  margin: 20px 0;
+}
+.multicheckout .gift.message .fieldset {
+  margin: 20px 0;
+}
+.multicheckout .gift.message .block.message {
+  margin: 0;
+}
+.multicheckout .gift.message .block.message .fieldset {
+  margin: 0;
+}
+.multicheckout .gift.message .field {
+  display: inline-block;
+  padding-right: 20px;
+  vertical-align: top;
+  width: 50%;
+}
+.data.table .gift.wrapping {
+  font-size: 13px;
+  margin: 0;
+}
+.data.table .gift.wrapping dt {
+  font-weight: 600;
+  margin: 5px 0 0;
+}
+.data.table .gift.wrapping dd {
+  margin: 0 0 5px;
+}
+/*
+    Magento_Checkout
+    Shopping Cart
+-------------------------------------- */
+.cart.container {
+  *zoom: 1;
+  position: relative;
+  z-index: 1;
+}
+.cart.container:before,
+.cart.container:after {
+  content: "";
+  display: table;
+}
+.cart.container:after {
+  clear: both;
+}
+.cart.main.actions {
+  padding: 20px 0;
+}
+.cart.main.actions .action.continue {
+  position: absolute;
+  text-decoration: underline;
+  right: 0;
+  top: 3px;
+}
+.items.data {
+  width: 100%;
+}
+.items.data thead tr:last-child th {
+  padding-bottom: 10px;
+}
+.items.data th.col.item > span {
+  display: none;
+}
+.items.data td.col.qty {
+  width: 40px;
+  padding-top: 20px;
+  text-align: center;
+}
+.review .items.data td.col.qty {
+  padding-top: 16px;
+}
+.items.data th.col.qty {
+  text-transform: uppercase;
+}
+.items.data input.qty {
+  width: 50px;
+  text-align: center;
+}
+.items.data td.col.price,
+.items.data td.col.subtotal {
+  text-align: right;
+}
+.items.data .product.photo {
+  padding-right: 20px;
+  display: table-cell;
+  width: 1%;
+  vertical-align: top;
+}
+.items.data .product.details {
+  display: table-cell;
+  width: 99%;
+  vertical-align: top;
+}
+.items.data .item.actions {
+  text-align: right;
+}
+.items.data .item.actions div.actions {
+  padding-bottom: 30px;
+}
+.items.data td {
+  border-left: 0;
+  border-right: 0;
+  padding: 26px 10px 10px;
+  vertical-align: top;
+  background: transparent;
+}
+.items.data td:first-child {
+  padding-left: 20px;
+}
+.items.data td:last-child {
+  padding-right: 20px;
+}
+.items.data tbody:nth-child(even) tr {
+  background: #f8f8f8;
+}
+.items.data th {
+  border-left: 0;
+  border-right: 0;
+  text-align: center;
+  font-weight: 400;
+  font-size: 14px;
+  vertical-align: top;
+}
+.items.data tr:first-child th {
+  font-weight: 400;
+  font-size: 16px;
+}
+.items.data .item.actions td {
+  padding: 0 20px 10px;
+  line-height: 16px;
+}
+.items.data .item.actions td .action {
+  margin-left: 20px;
+}
+.items.data .item.actions td .action.towishlist {
+  font-size: 14px;
+}
+.items.data .item.actions td .action.delete {
+  vertical-align: top;
+  margin-top: 0;
+}
+.items.data .item.actions td:before {
+  content: '';
+  border-top: 1px solid #e5e5e5;
+  display: block;
+  height: 0;
+  overflow: hidden;
+  margin: 0 0 10px;
+}
+.items.data .item.options dt {
+  font-weight: 400;
+  display: inline;
+  margin-right: 10px;
+  float: left;
+  clear: left;
+}
+.items.data .item.options dt:after {
+  content: ': ';
+}
+.items.data .item.options dd {
+  font-weight: 200;
+  margin: 0 0 10px 10px;
+  padding: 0;
+}
+.cart.table.wrapper {
+  float: left;
+  width: 665px;
+}
+.cart.summary {
+  position: relative;
+  z-index: 1;
+  margin-top: 33px;
+  background: #f8f8f8;
+  display: inline-block;
+  width: 290px;
+  padding: 20px;
+  margin-left: 10px;
+}
+.cart.summary .summary.title {
+  font-size: 20px;
+  font-weight: 200;
+  display: block;
+  border-bottom: 3px solid #e5e5e5;
+  padding-bottom: 15px;
+}
+.cart.summary .block {
+  margin-bottom: 0;
+  border-bottom: 1px solid #e5e5e5;
+  font-size: 12px;
+}
+.cart.summary .block > .title {
+  cursor: pointer;
+  padding: 10px 5px;
+  margin: 0;
+  line-height: 16px;
+}
+.cart.summary .block > .title strong {
+  font-size: 12px;
+  font-weight: 600;
+}
+.cart.summary .block > .title strong:after {
+  content: "\e00d";
+  font-family: "icons";
+  float: right;
+  font-weight: 400;
+  font-size: 16px;
+  line-height: 16px;
+}
+.cart.summary .block > .title.active strong:after {
+  content: "\e011";
+}
+.cart.summary .block > .content {
+  display: none;
+  padding: 15px 15px 20px;
+}
+.cart.summary .block.active > .content {
+  display: block;
+}
+.cart.summary .block .fieldset {
+  padding: 0;
+  margin: 0;
+  border: 0;
+}
+.cart.summary .block .fieldset .field {
+  margin: 0 0 10px;
+}
+.cart.summary .block input[type="text"] {
+  padding: 0 5px;
+  font-size: 12px;
+  height: 30px;
+}
+.cart.summary .block .field:not(.choice) .label {
+  padding: 0 0 5px;
+  display: block;
+}
+.cart.summary .block select {
+  padding: 5px 5px 4px;
+  font-size: 12px;
+}
+.cart.summary .block .action {
+  padding: 6px 11px 5px;
+}
+.cart.summary .block .action span {
+  font-size: 12px;
+  line-height: 12px;
+}
+.cart.summary .block .action.check span {
+  display: inline;
+  color: #332e29;
+  text-decoration: none;
+}
+.cart.summary .block .action.check span:focus,
+.cart.summary .block .action.check span:active,
+.cart.summary .block .action.check span:hover {
+  color: #da370a;
+}
+.cart.container > .summary.sticky {
+  position: fixed;
+  display: inline-block !important;
+}
+.cart.container > .summary.bottom {
+  position: absolute;
+  vertical-align: bottom;
+  bottom: 0;
+}
+.cart  > .summary.fixed,
+.cart.container  > .summary  > .container.fixed {
+  position: fixed;
+  top: 0;
+}
+.cart.table.wrapper.detailed + .cart.summary {
+  margin-top: 54px;
+}
+.block.shipping .content {
+  *zoom: 1;
+}
+.block.shipping .content:before,
+.block.shipping .content:after {
+  content: "";
+  display: table;
+}
+.block.shipping .content:after {
+  clear: both;
+}
+.block.shipping .fieldset.estimate .actions {
+  display: table-cell;
+  width: 1%;
+  white-space: nowrap;
+  vertical-align: bottom;
+}
+.block.shipping .fieldset.rates {
+  padding-top: 20px;
+}
+.block.shipping .fieldset.rates .actions {
+  text-align: right;
+}
+.block.shipping .field.postcode {
+  display: table-cell;
+  width: 99%;
+  vertical-align: bottom;
+  padding-right: 10px;
+}
+.block.shipping .field.postcode div.mage-error {
+  position: absolute;
+}
+.block.discount .content {
+  *zoom: 1;
+}
+.block.discount .content:before,
+.block.discount .content:after {
+  content: "";
+  display: table;
+}
+.block.discount .content:after {
+  clear: both;
+}
+.block.discount .fieldset.coupon {
+  position: relative;
+}
+.block.discount .fieldset.coupon.applied {
+  padding-bottom: 20px;
+}
+.block.discount .fieldset.coupon .field {
+  display: table-cell;
+  width: 99%;
+  vertical-align: bottom;
+  padding-right: 10px;
+}
+.block.discount .fieldset.coupon .field .label {
+  float: left;
+  margin-right: -100px;
+}
+.block.discount .fieldset.coupon .field input {
+  clear: left;
+}
+.block.discount .fieldset.coupon .field div.mage-error {
+  position: absolute;
+}
+.block.discount .fieldset.coupon .actions {
+  vertical-align: bottom;
+  display: table-cell;
+  width: 1%;
+  white-space: nowrap;
+}
+.block.discount .fieldset.coupon .action.cancel {
+  border: none;
+  border-radius: 0;
+  background: none;
+  margin: 0;
+  padding: 0;
+  box-shadow: none;
+  text-shadow: none;
+  outline: none;
+  display: inline;
+  color: #332e29;
+  text-decoration: none;
+  position: absolute;
+  left: 0;
+  bottom: 0;
+  margin-bottom: -15px;
+}
+.block.discount .fieldset.coupon .action.cancel:focus,
+.block.discount .fieldset.coupon .action.cancel:active,
+.block.discount .fieldset.coupon .action.cancel:hover {
+  color: #da370a;
+}
+.block.discount .fieldset.coupon .action.cancel span {
+  text-transform: none;
+}
+.sp-methods dt,
+.items.methods dt,
+.sp-methods .item.title,
+.items.methods .item.title {
+  font-weight: bold;
+}
+.sp-methods dd,
+.items.methods dd,
+.sp-methods .item.options,
+.items.methods .item.options {
+  margin: 0 0 15px;
+  padding: 10px;
+}
+.field.choice.payment > .label {
+  font-weight: bold;
+}
+.data-table {
+  width: 100%;
+  border: 0;
+}
+.data-table td {
+  border-right: 1px solid #e5e5e5;
+  padding: 5px;
+  vertical-align: top;
+}
+.data-table td:last-child {
+  border: 0;
+}
+.cart.totals {
+  padding: 20px 0;
+}
+.cart.totals .table.totals {
+  width: 100%;
+}
+.cart.totals td,
+.cart.totals th {
+  text-align: right;
+  padding: 4px 0 4px 5px;
+}
+.cart.totals td:not(:first-child) strong {
+  font-size: 24px;
+  color: #da370a;
+}
+.cart.totals td:first-child {
+  text-align: left;
+  padding-left: 0;
+}
+.cart.totals td:first-child strong {
+  font-size: 14px;
+}
+.checkout.methods.items {
+  background: #fff;
+  padding: 20px;
+}
+.checkout.methods.items .item {
+  margin: 15px auto;
+  text-align: center;
+}
+.checkout.methods.items .action.multicheckout {
+  text-decoration: underline;
+}
+/*
+    Magento_Checkout
+    Mini cart
+-------------------------------------- */
+.minicart.wrapper {
+  float: right;
+  margin-right: 40px;
+  z-index: 11;
+}
+.minicart.wrapper .block.minicart {
+  *zoom: 1;
+  left: -100%;
+  margin-top: 15px;
+  position: absolute;
+  z-index: 2;
+  background: #f8f8f8;
+  border: 2px solid #d7d7d7;
+  border-radius: 3px;
+  text-align: center;
+  padding: 58px 345px 25px 15px;
+}
+.minicart.wrapper .block.minicart:before,
+.minicart.wrapper .block.minicart:after {
+  content: "";
+  display: table;
+}
+.minicart.wrapper .block.minicart:after {
+  clear: both;
+}
+.minicart.wrapper .block.minicart:before {
+  content: '';
+  border-left: 10px solid transparent;
+  border-right: 10px solid transparent;
+  border-bottom: 10px solid #f8f8f8;
+  height: 0;
+  width: 0;
+  overflow: hidden;
+  display: block;
+  position: absolute;
+  top: 0;
+  margin-top: -10px;
+  margin-right: 25px;
+  right: 0;
+  zoom: 1;
+  z-index: 2;
+}
+.minicart.wrapper .block.minicart > .content {
+  margin-top: -33px;
+}
+.minicart.wrapper .block.minicart > .content .subtotal {
+  *zoom: 1;
+}
+.minicart.wrapper .block.minicart > .content .subtotal:before,
+.minicart.wrapper .block.minicart > .content .subtotal:after {
+  content: "";
+  display: table;
+}
+.minicart.wrapper .block.minicart > .content .subtotal:after {
+  clear: both;
+}
+.minicart.wrapper .block.minicart > .content .subtotal .mark {
+  display: inline-block;
+  font-weight: 600;
+  font-size: 18px;
+  float: left;
+  line-height: 24px;
+}
+.minicart.wrapper .block.minicart > .content .subtotal > .amount {
+  text-align: right;
+  float: right;
+  display: inline-block;
+  font-weight: 700;
+  font-size: 24px;
+  line-height: 24px;
+  color: #da370a;
+}
+.minicart.wrapper .block.minicart > .content .subtotal .amount.incl.tax {
+  display: block;
+  font-size: 14px;
+}
+.minicart.wrapper .block.minicart > .content .subtotal .amount.incl.tax:after {
+  content: ')';
+}
+.minicart.wrapper .block.minicart > .content .subtotal .amount.incl.tax .price:after {
+  content: ' (';
+}
+.minicart.wrapper .block.minicart > .content .disclaimer {
+  font-size: 12px;
+}
+.minicart.wrapper .block.minicart > .content .actions .secondary {
+  margin-top: 15px;
+  margin-bottom: -15px;
+  text-align: right;
+}
+.minicart.wrapper .block.minicart > .content .actions .secondary a {
+  color: #da370a;
+}
+.minicart.wrapper .block.minicart > .content .subtitle {
+  display: block;
+  text-align: left;
+  padding: 0 50px;
+  margin: 0 0 15px 0;
+  font-weight: 400;
+}
+.minicart.wrapper .block.minicart > .content .subtitle.empty {
+  margin: 10px -320px 0 0;
+  padding: 0;
+  float: right;
+  width: 310px;
+  clear: right;
+}
+.minicart.wrapper .block.minicart .minicart.empty.text,
+.minicart.wrapper .block.minicart > .title,
+.minicart.wrapper .block.minicart > .content .subtotal,
+.minicart.wrapper .block.minicart > .content .disclaimer,
+.minicart.wrapper .block.minicart > .content > .actions {
+  margin: 0 -330px 15px 0;
+  text-align: left;
+  float: right;
+  width: 310px;
+  clear: right;
+}
+.minicart.wrapper .block.minicart > .title .text {
+  display: none;
+}
+.minicart.wrapper .block.minicart > .title .qty:before {
+  content: attr(title) ": ";
+}
+.minicart.wrapper .block.minicart .minicart.empty.text {
+  margin-top: 15px;
+}
+.minicart.wrapper .block.minicart > .title strong {
+  font-weight: 400;
+}
+.minicart.wrapper.active {
+  position: relative;
+  z-index: 11;
+}
+.minicart.wrapper.active:before {
+  content: '';
+  position: fixed;
+  z-index: 1;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  background: #000;
+  opacity: 0.01;
+}
+.minicart.wrapper.active .block.minicart {
+  left: auto;
+  right: -20px;
+}
+.minicart.wrapper .action.previous,
+.minicart.wrapper .action.next {
+  border: none;
+  border-radius: 0;
+  background: none;
+  margin: 0;
+  padding: 0;
+  box-shadow: none;
+  text-shadow: none;
+  outline: none;
+  width: 25px;
+  overflow: hidden;
+  position: absolute;
+  right: 10px;
+  top: 50%;
+  margin-top: -22px;
+}
+.minicart.wrapper .action.previous span,
+.minicart.wrapper .action.next span {
+  width: 42px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+  color: #c2c2c2;
+  margin-left: -10px;
+  overflow: hidden;
+}
+.minicart.wrapper .action.previous span:after,
+.minicart.wrapper .action.next span:after {
+  font-family: "icons";
+  font-size: 42px;
+  line-height: 42px;
+  height: 42px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e01a";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.minicart.wrapper .action.previous span:active,
+.minicart.wrapper .action.next span:active {
+  outline: 0;
+}
+.minicart.wrapper .action.previous span:after,
+.minicart.wrapper .action.next span:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.minicart.wrapper .action.previous[disabled],
+.minicart.wrapper .action.next[disabled] {
+  opacity: 0.3;
+}
+.minicart.wrapper .action.previous {
+  right: auto;
+  left: 0;
+}
+.minicart.wrapper .action.previous span:after {
+  content: "\e01b";
+}
+.minicart.wrapper .action.close {
+  position: absolute;
+  top: 10px;
+  right: 15px;
+}
+.minicart.wrapper p {
+  clear: both;
+}
+.block.minicart.empty > .title,
+.eq-ie8 .minicart.wrapper.active:before {
+  display: none;
+}
+/*
+    Product options
+-------------------------------------- */
+.minicart .product.options.wrapper {
+  position: relative;
+  display: inline;
+  z-index: 1;
+  margin: 7px 0;
+}
+.minicart .product.options.wrapper .more {
+  color: #675f55;
+  font-size: 12px;
+  line-height: 1;
+  padding: 0;
+  border-bottom: 1px dotted #675f55;
+  cursor: help;
+}
+.minicart .product.options.wrapper:hover {
+  z-index: 99;
+}
+.minicart .product.options.wrapper:hover .product.options.details {
+  display: block;
+}
+.minicart .product.options.wrapper:hover:before {
+  content: '';
+  border-left: 10px solid rgba(0, 0, 0, 0.8);
+  border-top: 10px solid transparent;
+  border-bottom: 10px solid transparent;
+  height: 0;
+  width: 0;
+  overflow: hidden;
+  display: block;
+  position: absolute;
+  top: 0;
+  margin-top: 0;
+  left: -10px;
+  zoom: 1;
+  z-index: 2;
+}
+.minicart .product.options.details {
+  display: none;
+  position: absolute;
+  background: rgba(0, 0, 0, 0.8);
+  border-radius: 6px;
+  padding: 10px;
+  right: 100%;
+  top: 50%;
+  margin-top: -20px;
+  margin-right: 10px;
+  float: left;
+  max-width: 200px;
+  min-width: 100px;
+  color: #ffffff;
+}
+.minicart .product.options.details .title {
+  font-weight: 600;
+}
+.minicart .product.options.list {
+  padding-left: 10px;
+}
+.minicart .product.options.list dt {
+  font-size: 12px;
+  display: inline;
+  margin: 0;
+  padding: 0;
+  font-weight: 600;
+}
+.minicart .product.options.list dt:after {
+  content: ': ';
+}
+.minicart .product.options.list dt:before {
+  content: '';
+  display: block;
+}
+.minicart .product.options.list dd {
+  font-size: 12px;
+  display: inline-block;
+  padding: 0;
+  margin: 0;
+}
+.minicart .item:not(.shown) + .shown .product.options.details,
+.minicart :first-child .product.options.details {
+  right: auto;
+  left: 100%;
+  margin-left: 10px;
+}
+.minicart .item:not(.shown) + .shown .product.options.wrapper:before,
+.minicart :first-child .product.options.wrapper:before {
+  border-right: 10px solid rgba(0, 0, 0, 0.8);
+  border-left: 0;
+  left: auto;
+  right: -10px;
+}
+.minicart.wrapper .block.minicart > .content > .actions .primary {
+  *zoom: 1;
+  text-align: center;
+}
+.minicart.wrapper .block.minicart > .content > .actions .primary:before,
+.minicart.wrapper .block.minicart > .content > .actions .primary:after {
+  content: "";
+  display: table;
+}
+.minicart.wrapper .block.minicart > .content > .actions .primary:after {
+  clear: both;
+}
+.minicart.wrapper .block.minicart > .content > .actions .primary .checkout.paypal {
+  display: inline;
+}
+.minicart.wrapper .block.minicart > .content > .actions .primary .checkout.paypal input[type="image"] {
+  margin-top: 5px;
+  float: left;
+}
+.minicart.wrapper .block.minicart > .content > .actions .primary .checkout.paypal:after {
+  float: none;
+}
+.minicart.wrapper .block.minicart > .content > .actions .primary .checkout.paypal + .action.checkout {
+  float: right;
+}
+.block.minicart .products.minilist {
+  float: left;
+  padding: 0;
+  border-right: 1px solid #d7d7d7;
+  max-width: 561px;
+  padding: 0 30px;
+  position: relative;
+  z-index: 1;
+}
+.block.minicart .products.minilist .minilist.items {
+  position: relative;
+  white-space: nowrap;
+}
+.block.minicart .products.minilist.animation {
+  position: relative;
+}
+.block.minicart .products.minilist.animation .items-wrapper {
+  overflow: hidden;
+}
+.block.minicart .products.minilist.animation .item {
+  visibility: visible;
+}
+.block.minicart .products.minilist .item {
+  padding: 0 20px;
+  vertical-align: top;
+  text-align: left;
+  white-space: normal;
+  display: none;
+  display: inline-block;
+  width: 187px;
+  visibility: hidden;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  margin-left: 0;
+}
+.block.minicart .products.minilist .item:before {
+  content: '';
+  width: 0;
+  display: block;
+  border-left: 1px solid #d7d7d7;
+  height: 100%;
+  margin-left: -20px;
+  position: absolute;
+}
+.block.minicart .products.minilist .item.item:not(.shown) + .shown:before,
+.block.minicart .products.minilist .item:first-child:before {
+  display: none;
+}
+.wrapper.active .block.minicart .products.minilist .item.shown {
+  visibility: visible;
+}
+.block.minicart .products.minilist .item.hidden {
+  margin-left: -187px !important;
+}
+.block.minicart .products.minilist .item .product.photo {
+  display: block;
+  margin-bottom: 10px;
+}
+.block.minicart .products.minilist .item .product.photo .photo.container {
+  overflow: visible !important;
+  margin: 0 auto;
+}
+.block.minicart .products.minilist .item .product.photo .photo.image {
+  border: 1px solid #dcdcdc;
+  display: block;
+  margin: 0 auto;
+}
+.block.minicart .products.minilist .item .pricing {
+  margin-top: 10px;
+}
+.block.minicart .products.minilist .item .pricing:not(.complex) .label.display {
+  display: none;
+}
+.block.minicart .products.minilist .item .pricing .label:after {
+  content: ': ';
+}
+.block.minicart .products.minilist .item .actions {
+  float: right;
+}
+.block.minicart .products.minilist .item .action.edit {
+  font-size: 12px;
+}
+.block.minicart .products.minilist .item .product.options.wrapper + .action.edit {
+  margin-right: 8px;
+}
+.block.minicart .products.minilist .item .product.options.wrapper + .action.edit:before {
+  content: '|';
+  display: inline-block;
+  text-decoration: none;
+  padding: 0 8px;
+  margin-right: -16px;
+}
+.block.minicart .products.minilist .item .product.options.wrapper + .action.edit:hover:before {
+  color: #675f55;
+}
+.block.minicart .products.minilist .item .action.delete {
+  position: absolute;
+  margin-left: -5px;
+  margin-top: -1.35em;
+  bottom: 0;
+}
+.eq-ie8 .block.minicart .products.minilist .action.delete,
+.eq-ie8 .block.minicart .products.minilist .action.edit {
+  visibility: hidden;
+}
+.eq-ie8 .block.minicart .products.minilist .shown .action.delete,
+.eq-ie8 .block.minicart .products.minilist .shown .action.edit {
+  visibility: visible;
+}
+.eq-ie8 .block.minicart .products.minilist .item:before {
+  border-left: 0;
+}
+.action.delete {
+  display: inline-block;
+}
+.action.delete span {
+  color: #c2c2c2;
+  width: 16px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+}
+.action.delete span:after {
+  font-family: "icons";
+  font-size: 16px;
+  line-height: 16px;
+  height: 16px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e000";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.action.delete span:active {
+  outline: 0;
+}
+.action.delete span:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.action.delete:focus,
+.action.delete:active,
+.action.delete:hover {
+  outline: none;
+}
+.action.delete:focus span,
+.action.delete:active span,
+.action.delete:hover span {
+  color: #999999;
+}
+.action.checkout.shadow span {
+  text-shadow: 0px 1px 2px #000;
+}
+.action.close {
+  border: none;
+  border-radius: 0;
+  background: none;
+  margin: 0;
+  padding: 0;
+  box-shadow: none;
+  text-shadow: none;
+  outline: none;
+}
+.action.close span {
+  width: 11px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+}
+.action.close span:after {
+  font-family: "icons";
+  font-size: 11px;
+  line-height: 11px;
+  height: 11px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e012";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.action.close span:active {
+  outline: 0;
+}
+.action.close span:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.action.showcart {
+  width: 32px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+  margin-top: 20px;
+  margin-left: 20px;
+  color: #837d75;
+  position: relative;
+}
+.action.showcart:after {
+  font-family: "icons";
+  font-size: 32px;
+  line-height: 32px;
+  height: 32px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e014";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.action.showcart:active {
+  outline: 0;
+}
+.action.showcart:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.action.showcart:hover,
+.action.showcart:active,
+.action.showcart:focus,
+.action.showcart.active {
+  color: #999999;
+  outline: none;
+}
+.action.showcart .qty {
+  position: absolute;
+  left: 70%;
+  top: 0;
+  margin-top: -30%;
+  text-indent: 0;
+  background: #da370a;
+  display: inline-block;
+  border: 1px solid #da370a;
+  border-radius: 50px;
+  font-size: 14px;
+  font-weight: 600;
+  color: #fff;
+  line-height: 1.7em;
+  vertical-align: middle;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  min-width: 1.87em;
+  min-height: 1.7em;
+  text-align: center;
+  padding: 0 4px;
+}
+.action.showcart .qty.empty {
+  display: none;
+}
+/*
+    Paypal button
+-------------------------------------- */
+.checkout.paypal {
+  display: none;
+  display: inline-block;
+  vertical-align: top;
+}
+.checkout.paypal input[type="image"] {
+  display: inline-block;
+  vertical-align: top;
+}
+.checkout.paypal.before:before {
+  content: "- " attr(data-label) " -";
+  text-transform: uppercase;
+  display: inline-block;
+  line-height: 32px;
+  font-size: 14px;
+  vertical-align: middle;
+  margin: 0 5px;
+}
+.checkout.paypal.after:after {
+  content: "- " attr(data-label) " -";
+  text-transform: uppercase;
+  display: inline-block;
+  line-height: 32px;
+  font-size: 14px;
+  vertical-align: middle;
+  margin: 0 5px;
+}
+.box.tocart .checkout.paypal.after:after {
+  display: none;
+}
+.box.tocart .checkout.paypal.after:before {
+  content: "- " attr(data-label) " -";
+  text-transform: uppercase;
+  display: inline-block;
+  line-height: 32px;
+  font-size: 14px;
+  vertical-align: middle;
+  margin: 0 5px;
+}
+.checkout.methods .checkout.paypal.after:after {
+  display: block;
+  text-align: center;
+}
+/*
+    Magento_Sales
+-------------------------------------- */
+.block.reorder {
+  padding-right: 30px;
+}
+.block.reorder .item {
+  padding-left: 20px;
+}
+.block.reorder .item input {
+  float: left;
+  margin-top: 2px;
+  margin-left: -20px;
+}
+.block.reorder .subtitle {
+  display: block;
+  margin: 0 0 15px;
+  font-weight: 600;
+}
+.block.reorder .actions {
+  margin: 15px 0 0;
+}
+.block.reorder .actions .primary,
+.block.reorder .actions .secondary {
+  margin-right: 5px;
+  display: inline-block;
+  vertical-align: middle;
+}
+/*
+    Magento_Newsletter
+-------------------------------------- */
+.block.newsletter {
+  text-align: left;
+}
+.block.newsletter .title {
+  display: none;
+}
+.block.newsletter .field {
+  *zoom: 1;
+}
+.block.newsletter .field:before,
+.block.newsletter .field:after {
+  content: "";
+  display: table;
+}
+.block.newsletter .field:after {
+  clear: both;
+}
+.block.newsletter .label {
+  display: block;
+  font-size: 16px;
+  margin-bottom: 10px;
+  line-height: 1.2;
+}
+.block.newsletter .control {
+  float: left;
+  width: 100%;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  padding-right: 45px;
+}
+.block.newsletter .actions {
+  padding-left: 10px;
+  float: right;
+  margin-left: -45px;
+}
+.block.newsletter input[type="text"] {
+  width: 100%;
+}
+.footer .block.newsletter {
+  width: 310px;
+  float: right;
+}
+.action.subscribe {
+  border: none;
+  border-radius: 0;
+  background: none;
+  margin: 0;
+  padding: 0;
+  box-shadow: none;
+  text-shadow: none;
+  outline: none;
+  background: #da370a;
+  border-radius: 3px;
+  padding: 7px;
+  border: 1px solid #da370a;
+  vertical-align: top;
+}
+.action.subscribe span {
+  width: 16px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+  color: #fff;
+}
+.action.subscribe span:after {
+  font-family: "icons";
+  font-size: 16px;
+  line-height: 16px;
+  height: 16px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e001";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.action.subscribe span:active {
+  outline: 0;
+}
+.action.subscribe span:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.form.newsletter.manage .fieldset {
+  margin: 0 0 20px;
+  padding: 0;
+  border: 0;
+}
+.form.newsletter.manage .fieldset .legend {
+  float: left;
+  margin: 0 0 20px;
+  font-weight: 600;
+}
+.form.newsletter.manage .fieldset .legend + br {
+  display: block;
+  clear: both;
+}
+.form.newsletter.manage .actions .primary {
+  margin-bottom: 15px;
+}
+/*
+    Widgets
+-------------------------------------- */
+.widget ul {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+}
+/*
+    Magento_Catalog
+    Compare
+-------------------------------------- */
+.block.compare > .title .qty {
+  font-size: 16px;
+  margin-right: -5px;
+}
+.block.compare > .title .qty:before {
+  content: '(';
+}
+.block.compare > .title .qty:after {
+  content: ')';
+}
+.block.compare .item {
+  padding-right: 20px;
+  overflow: hidden;
+}
+.block.compare .product.name {
+  float: left;
+}
+.block.compare .action.delete {
+  margin-right: -20px;
+  float: right;
+}
+.block.compare .action.compare {
+  float: right;
+}
+.block.compare .action.clear {
+  float: left;
+  margin-top: 10px;
+}
+.block.compare .actions {
+  *zoom: 1;
+  margin-top: 15px;
+}
+.block.compare .actions:before,
+.block.compare .actions:after {
+  content: "";
+  display: table;
+}
+.block.compare .actions:after {
+  clear: both;
+}
+.catalog-product-compare-index .action.print {
+  float: right;
+  margin-top: -50px;
+}
+.comparison.wrapper {
+  clear: both;
+  position: relative;
+  z-index: 1;
+  margin-bottom: 50px;
+}
+.comparison.wrapper:after {
+  content: '';
+  position: absolute;
+  z-index: 2;
+  right: 0;
+  top: 0;
+  height: 100%;
+  width: 15px;
+}
+.comparison.container {
+  overflow-y: hidden;
+  overflow-x: auto;
+}
+.data.comparison {
+  table-layout: fixed;
+}
+.data.comparison .cell.label {
+  width: 130px;
+  padding-left: 10px;
+  font-weight: 600;
+  text-align: left;
+  border-right: 1px solid #e5e5e5;
+}
+.data.comparison .cell.label .attribute.label {
+  display: block;
+  width: 100%;
+  word-break: break-all;
+}
+.data.comparison .cell.label.product {
+  border-bottom: 1px solid #e5e5e5;
+}
+.data.comparison .cell {
+  padding: 15px;
+  vertical-align: top;
+}
+.data.comparison .cell p:first-child {
+  margin-top: 0;
+}
+.data.comparison .cell .attibute.value {
+  width: 100%;
+  overflow: hidden;
+}
+.data.comparison .cell.product {
+  width: 140px;
+}
+.data.comparison .cell.product.info {
+  border-bottom: 1px solid #e5e5e5;
+}
+.data.comparison .cell.attribute {
+  font-size: 12px;
+}
+.data.comparison td:last-child {
+  border-right: 1px solid #e5e5e5;
+}
+.data.comparison tr:nth-child(odd) .cell.attribute {
+  background-color: #f8f8f8;
+}
+.data.comparison .product.photo {
+  text-align: center;
+  display: block;
+  margin: 0 auto 15px;
+}
+.data.comparison .product.photo .img.photo.container {
+  display: inline-block !important;
+}
+.data.comparison .actions,
+.data.comparison .price-box,
+.data.comparison .product.rating,
+.data.comparison .product.name {
+  margin: 15px 0;
+}
+.data.comparison .addto.links {
+  margin-top: 15px;
+  padding-top: 15px;
+  border-top: 1px solid #e5e5e5;
+  font-size: 12px;
+}
+.data.comparison .cell.remove {
+  padding-top: 0;
+  padding-bottom: 0;
+  text-align: right;
+}
+.data.comparison .cell.remove .action.delete {
+  float: right;
+  padding: 4px;
+  margin-right: -15px;
+}
+.data.comparison .cell.remove .action.delete span {
+  overflow: hidden;
+  line-height: 0;
+}
+.data.comparison .cell.remove .action.delete span:after {
+  content: "\e012";
+  font-size: 12px;
+  color: #fff;
+}
+.comparison.headings {
+  position: absolute;
+  z-index: 2;
+  top: 0;
+  left: 0;
+  width: auto;
+  background-color: #ffffff;
+}
+.comparison.headings th {
+  background-color: #ffffff;
+}
+/*
+    Magento_Catalog
+    Compare
+-------------------------------------- */
+.item.link.compare .qty:before {
+  content: '(';
+}
+.item.link.compare .qty:after {
+  content: ')';
+}
+/*
+    Magento_Catalog
+    Product lists
+-------------------------------------- */
+.block.related .action.select {
+  border: none;
+  border-radius: 0;
+  background: none;
+  margin: 0;
+  padding: 0;
+  box-shadow: none;
+  text-shadow: none;
+  outline: none;
+  display: inline;
+  color: #332e29;
+  text-decoration: none;
+}
+.block.related .action.select:focus,
+.block.related .action.select:active,
+.block.related .action.select:hover {
+  color: #da370a;
+}
+.block.related .field.choice.related {
+  margin: 0 0 10px;
+}
+.block.widget.viewed,
+.block.crosssell,
+.block.upsell,
+.block.related,
+.block.widget.new,
+.block.widget.compared {
+  clear: both;
+  margin: 30px 0;
+  padding-top: 25px;
+  border-top: 1px solid #e5e5e5;
+}
+.block.widget.viewed .products.list,
+.block.crosssell .products.list,
+.block.upsell .products.list,
+.block.related .products.list,
+.block.widget.new .products.list,
+.block.widget.compared .products.list {
+  clear: both;
+  margin: 0 -20px;
+}
+.block.widget.viewed .products.list .item.product,
+.block.crosssell .products.list .item.product,
+.block.upsell .products.list .item.product,
+.block.related .products.list .item.product,
+.block.widget.new .products.list .item.product,
+.block.widget.compared .products.list .item.product {
+  float: left;
+  width: 33.33333333333333%;
+  margin-right: 0%;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  display: inline-block;
+  vertical-align: top;
+  margin: 0;
+  padding: 20px;
+  float: none;
+}
+.col3-layout .block.widget.viewed .products.list .item.product,
+.col3-layout .block.crosssell .products.list .item.product,
+.col3-layout .block.upsell .products.list .item.product,
+.col3-layout .block.related .products.list .item.product,
+.col3-layout .block.widget.new .products.list .item.product,
+.col3-layout .block.widget.compared .products.list .item.product {
+  width: 50%;
+}
+.block.widget.viewed .products.list .item.product .product.photo,
+.block.crosssell .products.list .item.product .product.photo,
+.block.upsell .products.list .item.product .product.photo,
+.block.related .products.list .item.product .product.photo,
+.block.widget.new .products.list .item.product .product.photo,
+.block.widget.compared .products.list .item.product .product.photo {
+  float: left;
+  margin-right: 20px;
+}
+.block.widget.viewed .products.list .item.product .product.details,
+.block.crosssell .products.list .item.product .product.details,
+.block.upsell .products.list .item.product .product.details,
+.block.related .products.list .item.product .product.details,
+.block.widget.new .products.list .item.product .product.details,
+.block.widget.compared .products.list .item.product .product.details {
+  overflow: hidden;
+}
+.block.widget.viewed .products.list .item.product .product.name,
+.block.crosssell .products.list .item.product .product.name,
+.block.upsell .products.list .item.product .product.name,
+.block.related .products.list .item.product .product.name,
+.block.widget.new .products.list .item.product .product.name,
+.block.widget.compared .products.list .item.product .product.name,
+.block.widget.viewed .products.list .item.product .price-box,
+.block.crosssell .products.list .item.product .price-box,
+.block.upsell .products.list .item.product .price-box,
+.block.related .products.list .item.product .price-box,
+.block.widget.new .products.list .item.product .price-box,
+.block.widget.compared .products.list .item.product .price-box {
+  margin: 0 0 10px;
+}
+.block.widget.viewed .products.list .item.product .addto.links .action:after,
+.block.crosssell .products.list .item.product .addto.links .action:after,
+.block.upsell .products.list .item.product .addto.links .action:after,
+.block.related .products.list .item.product .addto.links .action:after,
+.block.widget.new .products.list .item.product .addto.links .action:after,
+.block.widget.compared .products.list .item.product .addto.links .action:after {
+  content: '';
+  display: block;
+}
+.block.widget.viewed .products.list .item.product .actions,
+.block.crosssell .products.list .item.product .actions,
+.block.upsell .products.list .item.product .actions,
+.block.related .products.list .item.product .actions,
+.block.widget.new .products.list .item.product .actions,
+.block.widget.compared .products.list .item.product .actions {
+  visibility: hidden;
+}
+.block.widget.viewed .products.list .item.product .actions .primary,
+.block.crosssell .products.list .item.product .actions .primary,
+.block.upsell .products.list .item.product .actions .primary,
+.block.related .products.list .item.product .actions .primary,
+.block.widget.new .products.list .item.product .actions .primary,
+.block.widget.compared .products.list .item.product .actions .primary {
+  margin: 0 0 10px;
+}
+.block.widget.viewed .products.list .item.product:hover .actions,
+.block.crosssell .products.list .item.product:hover .actions,
+.block.upsell .products.list .item.product:hover .actions,
+.block.related .products.list .item.product:hover .actions,
+.block.widget.new .products.list .item.product:hover .actions,
+.block.widget.compared .products.list .item.product:hover .actions {
+  visibility: visible;
+}
+.block.crosssell .products.list.items.crosssell {
+  margin: 0 -13px;
+}
+.block.crosssell .products.list.items.crosssell .item.product {
+  float: left;
+  width: 16.666666666666664%;
+  margin-right: 0%;
+  padding: 13px;
+  margin-bottom: 90px;
+}
+.block.crosssell .products.list.items.crosssell .item.product .product.photo {
+  float: none;
+  display: block;
+  margin: 0 0 10px;
+}
+.block.crosssell .products.list.items.crosssell .item.product .actions {
+  position: absolute;
+}
+.block.widget.viewed .products.list.items.widget-viewed-grid .item.product {
+  float: left;
+  width: 16.666666666666664%;
+  margin-right: 0%;
+  float: none;
+  display: inline-block;
+}
+.col2-left-layout .block.widget.viewed .products.list.items.widget-viewed-grid .item.product,
+.col2-right-layout .block.widget.viewed .products.list.items.widget-viewed-grid .item.product {
+  width: 19.99%;
+}
+.col3-layout .block.widget.viewed .products.list.items.widget-viewed-grid .item.product {
+  width: 25%;
+}
+.block.widget.viewed .products.list.items.widget-viewed-grid .item.product .product.photo {
+  float: none;
+  display: block;
+  margin: 0 0 10px;
+}
+.block.widget.viewed .products.list.items.widget-viewed-list .item.product {
+  float: left;
+  width: 100%;
+  margin-right: 0%;
+  float: none;
+  display: inline-block;
+}
+.block.widget.compared .products.list.items.widget-compared-grid .item.product {
+  float: left;
+  width: 16.666666666666664%;
+  margin-right: 0%;
+  float: none;
+  display: inline-block;
+}
+.col2-left-layout .block.widget.compared .products.list.items.widget-compared-grid .item.product,
+.col2-right-layout .block.widget.compared .products.list.items.widget-compared-grid .item.product {
+  width: 19.99%;
+}
+.col3-layout .block.widget.compared .products.list.items.widget-compared-grid .item.product {
+  width: 25%;
+}
+.block.widget.compared .products.list.items.widget-compared-grid .item.product .product.photo {
+  float: none;
+  display: block;
+  margin: 0 0 10px;
+}
+.block.widget.compared .products.list.items.widget-compared-list .item.product {
+  float: left;
+  width: 100%;
+  margin-right: 0%;
+  float: none;
+  display: inline-block;
+}
+.block.widget.new .products.list.items.widget-new-grid .item.product {
+  width: 20%;
+  float: none;
+  display: inline-block;
+}
+.col2-left-layout .block.widget.new .products.list.items.widget-new-grid .item.product,
+.col2-right-layout .block.widget.new .products.list.items.widget-new-grid .item.product {
+  float: left;
+  width: 25%;
+  margin-right: 0%;
+  float: none;
+  display: inline-block;
+}
+.col3-layout .block.widget.new .products.list.items.widget-new-grid .item.product {
+  float: left;
+  width: 33.33333333333333%;
+  margin-right: 0%;
+  float: none;
+  display: inline-block;
+}
+.block.widget.new .products.list.items.widget-new-grid .item.product .product.photo {
+  float: none;
+  display: block;
+  margin: 0 0 10px;
+}
+.block.widget.new .products.list.items.widget-new-list .item.product {
+  float: left;
+  width: 100%;
+  margin-right: 0%;
+  float: none;
+  display: inline-block;
+}
+.product.info.detailed + .block.upsell,
+.product.info.detailed + .block.related {
+  margin-top: 70px;
+  clear: none;
+  float: right;
+  width: 140px;
+  border-top: 0;
+  padding-top: 0;
+  padding-left: 25px;
+  border-left: 1px solid #e5e5e5;
+}
+.product.info.detailed + .block.upsell .products.list,
+.product.info.detailed + .block.related .products.list {
+  margin: 0;
+}
+.product.info.detailed + .block.upsell .products.list .item.product,
+.product.info.detailed + .block.related .products.list .item.product {
+  display: block;
+  width: auto;
+  padding: 13px 0;
+}
+.product.info.detailed + .block.upsell .products.list .item.product .product.photo,
+.product.info.detailed + .block.related .products.list .item.product .product.photo {
+  float: none;
+  display: block;
+  margin: 0 0 10px;
+}
+.block.widget .pager {
+  float: right;
+}
+.block.widget .pager .amount {
+  float: left;
+  line-height: 25px;
+  margin: 2px 15px 0 0;
+  display: none;
+}
+.block.widget .pager .text {
+  display: none;
+}
+.block.widget .pages {
+  margin-left: 15px;
+  float: left;
+}
+.block.widget .pages .label {
+  line-height: 25px;
+  display: inline-block;
+}
+.block.widget .pages strong.label {
+  font-weight: 400;
+  float: left;
+  line-height: 25px;
+  margin-top: 2px;
+  margin-right: 5px;
+  display: none;
+}
+.block.widget .pages input {
+  width: 30px;
+  margin: 0 5px;
+  text-align: center;
+  padding: 0 5px;
+  height: 25px;
+  line-height: 25px;
+}
+.block.widget .pages > ol {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+  display: inline-block;
+  vertical-align: top;
+  margin-top: 2px;
+  line-height: 25px;
+  vertical-align: middle;
+}
+.block.widget .pages > ol li {
+  display: inline;
+}
+.block.widget .pages > ol strong,
+.block.widget .pages > ol a {
+  padding: 0 3px;
+}
+.block.widget .pages > ol strong {
+  font-weight: 400;
+  color: #da370a;
+}
+.block.widget .action.next,
+.block.widget .action.previous {
+  overflow: hidden;
+  display: inline-block;
+  vertical-align: middle;
+}
+.block.widget .action.next span,
+.block.widget .action.previous span {
+  color: #c2c2c2;
+  width: 16px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+}
+.block.widget .action.next span:after,
+.block.widget .action.previous span:after {
+  font-family: "icons";
+  font-size: 16px;
+  line-height: 16px;
+  height: 16px;
+  margin: 0;
+  overflow: hidden;
+  content: '';
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.block.widget .action.next span:active,
+.block.widget .action.previous span:active {
+  outline: 0;
+}
+.block.widget .action.next span:after,
+.block.widget .action.previous span:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.block.widget .action.next span:after {
+  content: "\e016";
+}
+.block.widget .action.previous span:after {
+  content: "\e017";
+}
+/*
+    Magento_Catalog
+    Layered Navigation
+-------------------------------------- */
+.block.filter .subtitle {
+  display: none;
+}
+.block.filter > .content {
+  padding: 0;
+}
+.block.filter .filtered .item {
+  border-top: 1px solid #c2c2c2;
+  padding: 2px 0 5px;
+  margin: 0 0 5px;
+  position: relative;
+  z-index: 1;
+}
+.block.filter .filtered .label {
+  font-weight: 600;
+  text-transform: uppercase;
+  display: block;
+}
+.block.filter .action.remove {
+  overflow: hidden;
+  display: inline-block;
+  padding: 4px;
+  position: absolute;
+  top: -1px;
+  right: 0;
+  background: #c2c2c2;
+}
+.block.filter .action.remove span {
+  color: #fff;
+  width: 13px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+}
+.block.filter .action.remove span:after {
+  font-family: "icons";
+  font-size: 13px;
+  line-height: 13px;
+  height: 13px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e012";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.block.filter .action.remove span:active {
+  outline: 0;
+}
+.block.filter .action.remove span:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.block.filter .actions {
+  margin-bottom: 30px;
+}
+.block.filter .action.reset {
+  font-size: 12px;
+  text-transform: lowercase;
+  text-decoration: underline;
+}
+.block.filter dt {
+  text-transform: uppercase;
+}
+.block.filter dd {
+  margin: 0;
+  padding: 15px 0 25px;
+}
+.block.filter .count {
+  font-size: 12px;
+}
+.block.filter .count:before {
+  content: ' (';
+}
+.block.filter .count:after {
+  content: ')';
+}
+/*
+    Magento_Catalog
+    Product Listing
+-------------------------------------- */
+.toolbar {
+  clear: both;
+  margin: 17px 0;
+  *zoom: 1;
+}
+.toolbar:first-child {
+  margin-top: 0;
+}
+.toolbar.alternative {
+  direction: rtl;
+}
+.toolbar.alternative .pager {
+  direction: ltr;
+}
+.toolbar.alternative .settings {
+  display: inline;
+  direction: ltr;
+}
+.toolbar.alternative .pages,
+.toolbar.alternative .amount,
+.toolbar.alternative .limiter {
+  border-left: 1px solid #e5e5e5;
+  padding: 2px 0 2px 15px;
+}
+.toolbar .amount {
+  display: none;
+}
+.toolbar:before,
+.toolbar:after {
+  content: "";
+  display: table;
+}
+.toolbar:after {
+  clear: both;
+}
+.toolbar .settings {
+  display: inline;
+}
+.toolbar .modes {
+  margin-left: 30px;
+  display: inline-block;
+  margin-top: 3px;
+  margin-right: 14px;
+  vertical-align: top;
+}
+.toolbar .modes .label {
+  display: none;
+}
+.toolbar .limiter,
+.toolbar .sorter {
+  *zoom: 1;
+  padding: 2px 0;
+  float: left;
+  display: inline-block;
+}
+.toolbar .limiter:before,
+.toolbar .sorter:before,
+.toolbar .limiter:after,
+.toolbar .sorter:after {
+  content: "";
+  display: table;
+}
+.toolbar .limiter:after,
+.toolbar .sorter:after {
+  clear: both;
+}
+.toolbar .limiter select,
+.toolbar .sorter select {
+  margin-top: 1px;
+  margin-right: 5px;
+}
+.toolbar .options {
+  float: left;
+  border: 1px solid #e5e5e5;
+  white-space: nowrap;
+  height: 23px;
+  line-height: 23px;
+  overflow: visible;
+  display: block;
+  padding: 0 7px;
+}
+.toolbar .options .current {
+  font-weight: 400;
+  float: left;
+  padding-right: 7px;
+}
+.toolbar .options ul {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+  height: 0;
+  overflow: hidden;
+  clear: both;
+  padding: 0 30px 0 7px;
+  margin: 0 -8px;
+  border: 1px solid #c2c2c2;
+  visibility: hidden;
+  top: -24px;
+  background: #fff;
+  position: relative;
+  z-index: 2;
+}
+.toolbar .options .action.switch {
+  float: right;
+  margin-top: 4px;
+}
+.toolbar .options .selected {
+  color: #da370a;
+}
+.toolbar .options.active ul {
+  height: auto;
+  visibility: visible;
+}
+.toolbar .pager {
+  float: right;
+}
+.toolbar .pager .amount {
+  float: left;
+  line-height: 25px;
+  margin: 2px 15px 0 0;
+}
+.toolbar .pager .text {
+  display: none;
+}
+.toolbar .pages {
+  margin-left: 15px;
+  float: left;
+}
+.toolbar .pages .label {
+  line-height: 25px;
+  display: inline-block;
+}
+.toolbar .pages strong.label {
+  font-weight: 400;
+  float: left;
+  line-height: 25px;
+  margin-top: 2px;
+  margin-right: 5px;
+  display: none;
+}
+.toolbar .pages input {
+  width: 30px;
+  margin: 0 5px;
+  text-align: center;
+  padding: 0 5px;
+  height: 25px;
+  line-height: 25px;
+}
+.toolbar .pages > ol {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+  display: inline-block;
+  vertical-align: top;
+  margin-top: 2px;
+  line-height: 25px;
+  vertical-align: middle;
+}
+.toolbar .pages > ol li {
+  display: inline;
+}
+.toolbar .pages > ol strong,
+.toolbar .pages > ol a {
+  padding: 0 3px;
+}
+.toolbar .pages > ol strong {
+  font-weight: 400;
+  color: #da370a;
+}
+/*
+    Magento_Catalog
+    Product List
+-------------------------------------- */
+.products.wrapper .products.list .item {
+  z-index: 1;
+  position: relative;
+  border: 1px solid transparent;
+  background: transparent;
+}
+.products.wrapper .products.list .item .product.photo {
+  display: block;
+  margin-bottom: 10px;
+  text-align: center;
+}
+.products.wrapper .products.list .item .product.photo > .photo {
+  display: block;
+  margin: 0 auto;
+}
+.products.wrapper .products.list .item:hover {
+  border: 1px solid #c2c2c2;
+  background: #f8f8f8;
+  z-index: 99;
+}
+.products.wrapper .products.list .item:hover .product.actions {
+  opacity: 1;
+  visibility: hidden;
+}
+.products.wrapper .products.list .item:hover .product.actions .action.tocart,
+.products.wrapper .products.list .item:hover .product.actions .secondary {
+  visibility: visible;
+}
+.products.wrapper .products.list .item .product.actions {
+  opacity: 0.8;
+  visibility: hidden;
+}
+.products.wrapper .products.list .item .product.actions .action.tocart,
+.products.wrapper .products.list .item .product.actions .secondary {
+  visibility: hidden;
+}
+.products.wrapper .products.list .item .price-box,
+.products.wrapper .products.list .item .product.reviews {
+  display: block;
+  margin-bottom: 7px;
+}
+.products.wrapper .products.list .item .secondary {
+  border: solid #c2c2c2;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  white-space: nowrap;
+  position: absolute;
+}
+.products.wrapper .products.list .item .secondary .action {
+  padding: 10px;
+  white-space: normal;
+  vertical-align: top;
+  display: inline-block;
+  line-height: 1;
+}
+.products.wrapper.grid {
+  margin-bottom: 20px;
+}
+.products.wrapper.grid .products.list .item.product {
+  float: left;
+  width: 16.666666666666664%;
+  margin-right: 0%;
+  display: inline-block;
+  float: none;
+  padding: 9px 9px 9px;
+  vertical-align: top;
+}
+.col2-left-layout .products.wrapper.grid .products.list .item.product,
+.col2-right-layout .products.wrapper.grid .products.list .item.product {
+  float: left;
+  width: 25%;
+  margin-right: 0%;
+  display: inline-block;
+  float: none;
+  margin-bottom: 30px;
+}
+.col3-layout .products.wrapper.grid .products.list .item.product {
+  float: left;
+  width: 33.33333333333333%;
+  margin-right: 0%;
+  display: inline-block;
+  float: none;
+  margin-bottom: 30px;
+}
+.products.wrapper.grid .products.list .secondary {
+  border-width: 1px;
+  background: #f8f8f8;
+  top: 100%;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  left: -1px;
+  right: -1px;
+}
+.products.wrapper.grid .products.list .secondary .action {
+  padding: 10px 0;
+  text-align: center;
+  width: 49%;
+}
+.products.wrapper.list .products.list {
+  margin-bottom: 20px;
+}
+.products.wrapper.list .products.list .item.product {
+  *zoom: 1;
+  display: block;
+  border-bottom: 1px solid #c2c2c2;
+  padding: 9px 9px 9px 9px;
+  margin-bottom: -1px;
+}
+.products.wrapper.list .products.list .item.product:before,
+.products.wrapper.list .products.list .item.product:after {
+  content: "";
+  display: table;
+}
+.products.wrapper.list .products.list .item.product:after {
+  clear: both;
+}
+.products.wrapper.list .products.list .item.product .product.details {
+  padding-bottom: 40px;
+}
+.products.wrapper.list .products.list .product.details {
+  display: table;
+}
+.products.wrapper.list .products.list .product.photo {
+  float: left;
+  margin-right: 9px;
+  margin-bottom: 0;
+}
+.products.wrapper.list .products.list .secondary {
+  bottom: 0;
+  top: auto !important;
+  margin-left: 18px;
+  border-width: 1px 0 0;
+  right: 20px;
+}
+.products.wrapper.list .products.list .product.description {
+  margin: 9px 0;
+}
+/*
+    General product item styling
+-------------------------------------- */
+.product.name {
+  color: #675f55;
+  font-weight: 600;
+  line-height: 1.2;
+  display: block;
+  margin-bottom: 10px;
+}
+.price-box p,
+.pricing p {
+  margin: 5px 0;
+}
+.price-box p:first-child,
+.pricing p:first-child {
+  margin-top: 0;
+}
+.price-box p:last-child,
+.pricing p:last-child {
+  margin-bottom: 0;
+}
+.stock[title] {
+  line-height: 16px;
+}
+.stock[title] span:before {
+  content: '';
+  line-height: 16px;
+  background: #42b649;
+  display: inline-block;
+  border-radius: 5px;
+  width: 10px;
+  height: 10px;
+  margin-right: 5px;
+  vertical-align: middle;
+}
+.stock[title].unavailable {
+  color: #c2c2c2;
+}
+.stock[title].unavailable span:before {
+  background: #c2c2c2;
+}
+.product.item .product.description {
+  font-size: 12px;
+}
+.action.tocart {
+  padding: 5px 11px;
+}
+.block .product.actions .action.tocart {
+  display: inline-block;
+  margin: 10px 0;
+}
+.action.tocompare,
+.action.towishlist {
+  font-size: 12px;
+}
+.action.tocompare span:before,
+.action.towishlist span:before {
+  content: "\002B\00A0";
+}
+.item.product .action.tocompare,
+.item.product .action.towishlist {
+  margin-left: 0;
+}
+/*
+    Magento_Catalog
+    Product View
+-------------------------------------- */
+.fieldset {
+  border: 0;
+  margin: 30px 10px 30px 30px;
+  padding: 0;
+  letter-spacing: -0.31em;
+  word-spacing: -0.43em;
+}
+.fieldset > * {
+  letter-spacing: normal;
+  word-spacing: normal;
+}
+.fieldset > .legend {
+  float: left;
+  font: 400 20px/1.2 "sourcesanspro";
+  margin: -30px 30px 50px -30px;
+  width: 100%;
+}
+.fieldset > .legend + br {
+  display: block;
+  *zoom: 1;
+}
+.fieldset > .legend + br:before,
+.fieldset > .legend + br:after {
+  content: "";
+  display: table;
+}
+.fieldset > .legend + br:after {
+  clear: both;
+}
+.fieldset > .field {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  margin: 0 0 20px;
+}
+.fieldset > .field > .label {
+  display: block;
+  padding-bottom: 5px;
+}
+.fieldset > .field .nested .field {
+  margin: 5px 0;
+}
+.fieldset > .field.choice > .control {
+  width: auto;
+}
+.fieldset > .field.choice > .label {
+  display: inline;
+}
+.fieldset > .field.choice > input {
+  vertical-align: top;
+  margin-top: 2px;
+  margin-right: 5px;
+}
+.fieldset > .field.required > .label > span:first-child:after {
+  content: '*';
+  color: #da370a;
+}
+.fieldset > .field .addon {
+  display: table;
+  padding: 0;
+  width: 100%;
+}
+.fieldset > .field .addon textarea,
+.fieldset > .field .addon select,
+.fieldset > .field .addon input {
+  box-shadow: none;
+  display: table-cell;
+  margin: 0;
+  width: 100%;
+}
+.fieldset > .field .addon .addbefore,
+.fieldset > .field .addon .addafter {
+  height: 0;
+  white-space: nowrap;
+  display: inline-block;
+  display: table-cell;
+  vertical-align: middle;
+  width: 1px;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  background: #ffffff;
+  border: 1px solid #c2c2c2;
+  border-radius: 3px;
+  font: 400 14px "sourcesanspro";
+  /* Prevent background color leak outs */
+
+  background-clip: padding-box;
+  outline: none;
+  height: 32px;
+  line-height: 1;
+  padding: 0 10px;
+}
+.fieldset > .field .addon .addbefore:focus,
+.fieldset > .field .addon .addafter:focus {
+  border-color: #999999;
+}
+.control .fieldset > .field .addon .addbefore,
+.control .fieldset > .field .addon .addafter {
+  width: 100%;
+}
+.fieldset > .field .addon .addbefore:disabled,
+.fieldset > .field .addon .addafter:disabled {
+  opacity: 0.5;
+}
+.fieldset > .field .addon .addbefore::-webkit-input-placeholder,
+.fieldset > .field .addon .addafter::-webkit-input-placeholder {
+  line-height: 1.333;
+}
+.fieldset > .field .addon .addbefore:-ms-input-placeholder,
+.fieldset > .field .addon .addafter:-ms-input-placeholder {
+  line-height: 1.333;
+}
+.eq-ie8 .fieldset > .field .addon .addbefore,
+.eq-ie8 .fieldset > .field .addon .addafter {
+  padding-top: 8px;
+}
+.fieldset > .field .note {
+  font-size: 12px;
+  margin-top: 3px;
+  padding-left: 15px;
+}
+.fieldset > .field .note:before {
+  border-bottom: 5px solid #675f55;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  content: '';
+  display: inline-block;
+  font-size: 0;
+  line-height: 0;
+  margin: 4px 0 0 -14px;
+  position: absolute;
+  vertical-align: top;
+  width: 0;
+}
+.product.info.main {
+  float: right;
+  width: 430px;
+  padding-bottom: 30px;
+}
+.col2-left-layout .product.info.main,
+.col2-right-layout .product.info.main {
+  width: 370px;
+}
+.col3-layout .product.info.main {
+  float: none;
+  width: 100%;
+}
+.product.info.main .price-box {
+  font-size: 20px;
+  padding-bottom: 10px;
+  margin: 15px 0;
+  line-height: 1.2;
+  font-weight: 200;
+}
+.product.info.main .page.title.product + .price-box {
+  border-bottom: 1px solid #e5e5e5;
+}
+.product.info.main p {
+  margin: 5px 0;
+}
+.product.info.main .old-price {
+  font-size: 16px;
+}
+.product.info.main .old-price .price {
+  text-decoration: line-through;
+}
+.product.info.main .special-price {
+  color: #da370a;
+}
+.product.info.main .stock {
+  margin: 15px 0;
+}
+.product.info.main .product.options.bottom .price-box {
+  display: none;
+}
+.product.info.main .product.addto.links {
+  margin: 15px 0 0;
+  padding-top: 10px;
+  border-top: 1px solid #e5e5e5;
+}
+.product.info.main .product.addto.links .action {
+  float: left;
+  margin-right: 15px;
+}
+.product.main.info .product.options.wrapper .field {
+  margin: 0 0 10px;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  margin: 0 0 20px;
+}
+.product.main.info .product.options.wrapper .field:last-child {
+  margin-bottom: 0;
+}
+.product.main.info .product.options.wrapper .field .nested {
+  padding: 0 0 0;
+}
+.product.main.info .product.options.wrapper .field .nested .field {
+  margin: 5px 0;
+}
+.product.main.info .product.options.wrapper .field > .label {
+  display: block;
+  padding-bottom: 5px;
+}
+.product.main.info .product.options.wrapper .field .nested .field {
+  margin: 5px 0;
+}
+.product.main.info .product.options.wrapper .field.choice > .control {
+  width: auto;
+}
+.product.main.info .product.options.wrapper .field.choice > .label {
+  display: inline;
+}
+.product.main.info .product.options.wrapper .field.choice > input {
+  vertical-align: top;
+  margin-top: 2px;
+  margin-right: 5px;
+}
+.product.main.info .product.options.wrapper .field.required > .label > span:first-child:after {
+  content: '*';
+  color: #da370a;
+}
+.product.main.info .product.options.wrapper .field .addon {
+  display: table;
+  padding: 0;
+  width: 100%;
+}
+.product.main.info .product.options.wrapper .field .addon textarea,
+.product.main.info .product.options.wrapper .field .addon select,
+.product.main.info .product.options.wrapper .field .addon input {
+  box-shadow: none;
+  display: table-cell;
+  margin: 0;
+  width: 100%;
+}
+.product.main.info .product.options.wrapper .field .addon .addbefore,
+.product.main.info .product.options.wrapper .field .addon .addafter {
+  height: 0;
+  white-space: nowrap;
+  display: inline-block;
+  display: table-cell;
+  vertical-align: middle;
+  width: 1px;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  background: #ffffff;
+  border: 1px solid #c2c2c2;
+  border-radius: 3px;
+  font: 400 14px "sourcesanspro";
+  /* Prevent background color leak outs */
+
+  background-clip: padding-box;
+  outline: none;
+  height: 32px;
+  line-height: 1;
+  padding: 0 10px;
+}
+.product.main.info .product.options.wrapper .field .addon .addbefore:focus,
+.product.main.info .product.options.wrapper .field .addon .addafter:focus {
+  border-color: #999999;
+}
+.control .product.main.info .product.options.wrapper .field .addon .addbefore,
+.control .product.main.info .product.options.wrapper .field .addon .addafter {
+  width: 100%;
+}
+.product.main.info .product.options.wrapper .field .addon .addbefore:disabled,
+.product.main.info .product.options.wrapper .field .addon .addafter:disabled {
+  opacity: 0.5;
+}
+.product.main.info .product.options.wrapper .field .addon .addbefore::-webkit-input-placeholder,
+.product.main.info .product.options.wrapper .field .addon .addafter::-webkit-input-placeholder {
+  line-height: 1.333;
+}
+.product.main.info .product.options.wrapper .field .addon .addbefore:-ms-input-placeholder,
+.product.main.info .product.options.wrapper .field .addon .addafter:-ms-input-placeholder {
+  line-height: 1.333;
+}
+.eq-ie8 .product.main.info .product.options.wrapper .field .addon .addbefore,
+.eq-ie8 .product.main.info .product.options.wrapper .field .addon .addafter {
+  padding-top: 8px;
+}
+.product.main.info .product.options.wrapper .field .note {
+  font-size: 12px;
+  margin-top: 3px;
+  padding-left: 15px;
+}
+.product.main.info .product.options.wrapper .field .note:before {
+  border-bottom: 5px solid #675f55;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  content: '';
+  display: inline-block;
+  font-size: 0;
+  line-height: 0;
+  margin: 4px 0 0 -14px;
+  position: absolute;
+  vertical-align: top;
+  width: 0;
+}
+.product.main.info .product.options.wrapper .field:not(.choice) > .label {
+  text-transform: uppercase;
+  font-weight: 600;
+  padding: 0 0 5px;
+}
+.type-configurable .product.main.info .product.options.wrapper select {
+  min-width: 40%;
+  width: auto;
+  padding: 2px;
+}
+.product.main.info .product.options.wrapper .fieldset {
+  margin: 0;
+}
+.product.main.info .product.options.wrapper .fieldset .field.required .control .field.choice .label span:after {
+  content: "";
+}
+.product.main.info .product.options.wrapper .fieldset .field.date input[type="text"] {
+  width: auto;
+}
+.product.main.info .product.options.wrapper .fieldset .datetime-picker + .ui-datepicker-trigger {
+  margin: 0 15px 0 7px;
+}
+.action.primary.customize,
+.action.primary.tocart {
+  line-height: 16px;
+  padding: 9px 15px;
+}
+.action.primary.customize span,
+.action.primary.tocart span {
+  font-weight: 400;
+  font-size: 16px;
+}
+.product.media {
+  float: left;
+  width: 540px;
+  padding-bottom: 30px;
+}
+.col2-left-layout .product.media,
+.col2-right-layout .product.media {
+  width: 400px;
+}
+.col3-layout .product.media {
+  float: none;
+  width: 100%;
+}
+.box.tocart {
+  *zoom: 1;
+  margin: 15px 0;
+}
+.box.tocart:before,
+.box.tocart:after {
+  content: "";
+  display: table;
+}
+.box.tocart:after {
+  clear: both;
+}
+.box.tocart .field {
+  float: left;
+  padding-right: 10px;
+}
+.box.tocart .label {
+  display: block;
+  text-align: left;
+  font-weight: 600;
+  text-transform: uppercase;
+  line-height: 25px;
+}
+.box.tocart .control {
+  width: 60px;
+  text-align: center;
+}
+.box.tocart .actions {
+  float: left;
+  padding-top: 24px;
+}
+.box.tocart .qty {
+  text-align: center;
+}
+.prices.tier {
+  padding: 20px;
+  margin: 15px 0;
+  background: #f8f8f8;
+}
+.prices.tier strong {
+  font-weight: 400;
+}
+.product.social.links {
+  float: right;
+  text-align: right;
+}
+.action.mailto span {
+  width: 16px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+  color: #c2c2c2;
+}
+.action.mailto span:after {
+  font-family: "icons";
+  font-size: 16px;
+  line-height: 16px;
+  height: 16px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e001";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.action.mailto span:active {
+  outline: 0;
+}
+.action.mailto span:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.product.photo.thumbs {
+  float: left;
+  padding-left: 15px;
+}
+.product.photo.thumbs .title {
+  display: none;
+}
+.product.photo.thumbs .item.thumb {
+  margin-bottom: 8px;
+}
+.product.photo.thumbs .item.thumb img {
+  border: 1px solid transparent;
+}
+.product.photo.thumbs .item.thumb .active img {
+  border: 1px solid #837d75;
+}
+.product.photo.main {
+  float: left;
+  text-align: center;
+}
+.product.photo.main .notice {
+  font-size: 11px;
+}
+.product.attibute.sku {
+  font-size: 12px;
+}
+.product.attibute.sku .value {
+  display: inline;
+}
+.product.attibute.sku .type:after {
+  content: '#';
+}
+@media only screen and (max-width: 99999px) {
+  .product.data {
+    float: left;
+    width: 83.33333333333334%;
+    margin-right: 0%;
+    *zoom: 1;
+    position: relative;
+    z-index: 1;
+  }
+  .product.data:before,
+  .product.data:after {
+    content: "";
+    display: table;
+  }
+  .product.data:after {
+    clear: both;
+  }
+  .product.data > .item.title {
+    float: left;
+  }
+  .product.data > .item.title > .switch {
+    display: block;
+    position: relative;
+    top: 1px;
+    z-index: 2;
+  }
+  .product.data > .item.content {
+    width: 100%;
+    float: right;
+    margin-left: -100%;
+    display: none;
+    -moz-box-sizing: border-box;
+    -webkit-box-sizing: border-box;
+    -ms-box-sizing: border-box;
+    box-sizing: border-box;
+  }
+  .product.data > .item.content.active {
+    display: block;
+  }
+  .product.data .tabs > .term-content.active {
+    border: 1px solid #BFBFBF;
+    color: #808080;
+    display: block;
+  }
+  .product.data > .item.title {
+    margin-right: 1px;
+    min-height: 35px;
+  }
+  .product.data > .item.title > .switch {
+    font-size: 14px;
+    line-height: 1;
+    font-weight: 600;
+    text-decoration: none;
+    padding: 11px 11px 8px;
+    border: 2px solid #e5e5e5;
+    background: rgba(0, 0, 0, 0.03);
+    border-bottom: none;
+    text-transform: uppercase;
+    border-radius: 4px 4px 0 0;
+  }
+  .product.data > .item.title:not(.disabled) > .switch:active,
+  .product.data > .item.title:not(.disabled) > .switch:focus,
+  .product.data > .item.title:not(.disabled) > .switch:hover,
+  .product.data > .item.title.active > .switch {
+    background: #fff;
+    border-width: 3px;
+    padding: 10px 10px 8px;
+    outline: none;
+  }
+  .product.data > .item.title.active > .switch {
+    padding: 10px 20px 11px !important;
+  }
+  .product.data > .item.content {
+    *zoom: 1;
+    margin-top: 36px;
+    padding: 20px;
+  }
+  .product.data > .item.content:before,
+  .product.data > .item.content:after {
+    content: "";
+    display: table;
+  }
+  .product.data > .item.content:after {
+    clear: both;
+  }
+  .product.data > .item.content:before {
+    content: '';
+    border-top: 3px solid #e5e5e5;
+    width: 100%;
+    display: block;
+    position: absolute;
+    left: 0;
+    -moz-box-sizing: border-box;
+    -webkit-box-sizing: border-box;
+    -ms-box-sizing: border-box;
+    box-sizing: border-box;
+    margin: -20px 0 20px;
+  }
+  .temp-upsell-placeholder {
+    float: left;
+    width: 16.666666666666664%;
+    margin-right: 0%;
+    background: red;
+    height: 200px;
+    margin-top: 50px;
+  }
+}
+@media only screen and (max-width: 768px) {
+  .product.data {
+    float: left;
+    width: 100%;
+    margin-right: 0%;
+    margin: 0;
+    padding: 0;
+  }
+  .product.data > .item.title {
+    -moz-box-sizing: border-box;
+    -webkit-box-sizing: border-box;
+    -ms-box-sizing: border-box;
+    box-sizing: border-box;
+    width: 100%;
+  }
+  .product.data > .item.title > .item.switch {
+    display: block;
+  }
+  .product.data > .item.content {
+    *zoom: 1;
+    -moz-box-sizing: border-box;
+    -webkit-box-sizing: border-box;
+    -ms-box-sizing: border-box;
+    box-sizing: border-box;
+    display: none;
+  }
+  .product.data > .item.content:before,
+  .product.data > .item.content:after {
+    content: "";
+    display: table;
+  }
+  .product.data > .item.content:after {
+    clear: both;
+  }
+  .product.data > .item.content.active {
+    display: block;
+  }
+  .product.data > .item.title {
+    margin: 3px 0 0;
+  }
+  .product.data > .item.title > .switch {
+    display: block;
+    font-size: 14px;
+    line-height: 1;
+    font-weight: 600;
+    text-decoration: none;
+    padding: 11px;
+    border: 2px solid #e5e5e5;
+    background: #f8f8f8;
+    text-transform: uppercase;
+    border-radius: 4px;
+  }
+  .product.data > .item.title:not(.disabled) > .switch:active,
+  .product.data > .item.title:not(.disabled) > .switch:focus,
+  .product.data > .item.title:not(.disabled) > .switch:hover,
+  .product.data > .item.title.active > .switch {
+    background: #fff;
+    border-width: 3px;
+    padding: 10px;
+    outline: none;
+  }
+  .product.data > .item.title.active > .switch {
+    border-radius: 4px 4px 0 0;
+  }
+  .product.data > .item.content {
+    margin: 0;
+    padding: 20px;
+    background: #fff;
+  }
+  .temp-upsell-placeholder {
+    float: left;
+    width: 100%;
+    margin-right: 0%;
+    background: red;
+    height: 200px;
+    margin-top: 20px;
+  }
+}
+/*
+    Magento_Bundle
+    Product View
+-------------------------------------- */
+body.type-bundle {
+  overflow-x: hidden;
+}
+@media only screen and (max-width: 768px) {
+  body.type-bundle {
+    overflow: auto;
+  }
+  body.type-bundle .customize:before {
+    left: -10px;
+    right: -10px;
+  }
+}
+.product.info.main .action.primary.customize {
+  margin: 40px 0;
+}
+.bundle.options.container {
+  margin: 45px 0;
+  clear: both;
+  position: relative;
+  z-index: 1;
+}
+.bundle.options.container:before {
+  position: relative;
+  z-index: 1;
+  content: '';
+  display: block;
+  position: absolute;
+  left: -999em;
+  right: -999em;
+  z-index: -1;
+  background: #f8f8f8;
+  top: 0;
+  bottom: 0;
+}
+.bundle.options.container .product.add.form {
+  *zoom: 1;
+  position: relative;
+  z-index: 1;
+  display: none;
+  padding: 45px 0;
+}
+.bundle.options.container .product.add.form:before,
+.bundle.options.container .product.add.form:after {
+  content: "";
+  display: table;
+}
+.bundle.options.container .product.add.form:after {
+  clear: both;
+}
+.bundle.options.container .product.options.wrapper {
+  float: left;
+  width: 500px;
+}
+.col2-left-layout .bundle.options.container .product.options.wrapper,
+.col2-right-layout .bundle.options.container .product.options.wrapper {
+  width: 450px;
+}
+.col3-layout .bundle.options.container .product.options.wrapper {
+  width: 360px;
+}
+.bundle.options.container .product.options.bottom {
+  float: left;
+  width: 500px;
+  clear: left;
+}
+.fieldset.bundle.options {
+  border: 0;
+  padding: 0;
+  margin: 0;
+}
+.fieldset.bundle.options .legend {
+  font-size: 26px;
+  font-weight: 200;
+  float: left;
+  margin-bottom: 20px;
+}
+.fieldset.bundle.options .legend + br {
+  display: block;
+  clear: both;
+}
+.fieldset.bundle.options .bundle-slide-back {
+  float: right;
+}
+.fieldset.bundle.options > .field {
+  margin: 0 0 50px;
+  padding: 20px;
+  background: #ffffff;
+}
+.fieldset.bundle.options > .field > .label {
+  font-size: 20px;
+  font-weight: 200;
+  display: block;
+  margin-bottom: 20px;
+}
+.fieldset.bundle.options > .field:last-child {
+  margin-bottom: 0;
+}
+.fieldset.bundle.options .nested .field {
+  margin: 10px 0;
+}
+.fieldset.bundle.options .nested .field.qty {
+  margin-top: 20px;
+}
+.fieldset.bundle.options .nested .field.qty .label {
+  display: inline-block;
+  vertical-align: middle;
+}
+.fieldset.bundle.options .nested .field.qty .label span:after {
+  content: ':';
+}
+.fieldset.bundle.options .nested .field.qty .control {
+  width: 60px;
+  display: inline-block;
+  vertical-align: middle;
+}
+.fieldset.bundle.options .nested .field.qty input {
+  text-align: center;
+}
+.product.options.wrapper .nested.mage-error-group {
+  position: relative;
+  z-index: 1;
+}
+.product.options.wrapper .nested.mage-error-group .field {
+  z-index: 2;
+  position: relative;
+}
+.product.options.wrapper .nested.mage-error-group:before {
+  z-index: 1;
+  border: 1px solid #da370a !important;
+  background: rgba(218, 55, 10, 0.040000000000000036);
+  content: '';
+  left: -8px;
+  right: -8px;
+  top: -5px;
+  bottom: -5px;
+  display: block;
+  position: absolute;
+}
+.block.bundle.summary {
+  background: #ffffff;
+  margin-top: 54px;
+  float: right;
+  position: relative;
+  width: 380px;
+}
+.col2-left-layout .block.bundle.summary,
+.col2-right-layout .block.bundle.summary {
+  width: 320px;
+}
+.col3-layout .block.bundle.summary {
+  width: 230px;
+}
+.block.bundle.summary > .title {
+  font-weight: 400;
+  border-bottom: 3px solid #e5e5e5;
+  line-height: 1;
+  padding: 20px 20px 10px;
+  margin-bottom: 0;
+}
+.block.bundle.summary .photo {
+  float: left;
+  border: 1px solid #e5e5e5;
+  margin-right: 20px;
+}
+.block.bundle.summary .photo .photo {
+  float: none;
+  border: none;
+  margin-right: 0;
+}
+.block.bundle.summary > .content {
+  padding: 20px;
+}
+.block.bundle.summary .price-box {
+  *zoom: 1;
+  padding: 20px 0 0;
+  clear: both;
+  line-height: 24px;
+}
+.block.bundle.summary .price-box:before,
+.block.bundle.summary .price-box:after {
+  content: "";
+  display: table;
+}
+.block.bundle.summary .price-box:after {
+  clear: both;
+}
+.block.bundle.summary .price-box .price-label {
+  float: left;
+  font-size: 18px;
+  font-weight: 600;
+}
+.block.bundle.summary .price-box .full-product-price {
+  float: right;
+}
+.block.bundle.summary .price-box .full-product-price .price {
+  color: #da370a;
+  font-weight: 700;
+  font-size: 24px;
+}
+.block.bundle.summary .box.tocart {
+  padding: 10px 0 20px;
+  border-top: 1px solid #e5e5e5;
+  border-bottom: 1px solid #e5e5e5;
+}
+.block.bundle.summary .addto.links .action {
+  font-size: 14px;
+  margin-right: 20px;
+}
+.block.bundle.summary .addto.links .action:last-child {
+  margin-right: 0;
+}
+.block.bundle.summary .subtitle {
+  display: block;
+  margin: 20px -20px 0;
+  font-weight: 200;
+  font-size: 20px;
+  border-bottom: 3px solid #e5e5e5;
+  line-height: 1;
+  padding: 20px 20px 10px;
+  margin-bottom: 0;
+}
+.block.bundle.summary .bundle.summary div > ul {
+  list-style: none;
+  margin: 10px 0 0;
+  padding: 0;
+}
+.block.bundle.summary .bundle.summary div > ul > li {
+  margin: 0 0 10px;
+}
+.block.bundle.summary .bundle.summary div > ul > li > div > div {
+  margin: 0 0 5px;
+}
+.action.back.customization {
+  border: none;
+  border-radius: 0;
+  background: none;
+  margin: 0;
+  padding: 0;
+  box-shadow: none;
+  text-shadow: none;
+  outline: none;
+  display: inline;
+  color: #332e29;
+  text-decoration: none;
+  position: absolute;
+  top: 57px;
+  right: 0;
+}
+.action.back.customization:focus,
+.action.back.customization:active,
+.action.back.customization:hover {
+  color: #da370a;
+}
+/*
+    CMS
+-------------------------------------- */
+img[align="left"] {
+  margin: 0 22px 22px 0;
+}
+img[align="right"] {
+  margin: 0 0 22px 22px;
+}
+.home.main.slider img {
+  width: 100%;
+  display: block;
+}
+/*
+    Magento_Customer
+-------------------------------------- */
+.customer.welcome {
+  display: inline-block !important;
+  position: relative;
+  z-index: 1;
+  cursor: pointer;
+}
+.customer.welcome .menu > ul {
+  font-weight: 600;
+  font-size: 12px;
+  margin: 0;
+  position: absolute;
+  top: 100%;
+  margin-left: -11px;
+  float: left;
+  right: 0;
+  text-align: left;
+  background: #f8f8f8;
+  border: 1px solid #cacbc4;
+  visibility: hidden;
+  opacity: 0;
+  -webkit-transition: visibility 0s linear 0.2s;
+  -moz-transition: visibility 0s linear 0.2s;
+  transition: visibility 0s linear 0.2s;
+}
+.customer.welcome .menu > ul li {
+  margin: 15px;
+  display: block;
+  white-space: nowrap;
+}
+.customer.welcome.active {
+  z-index: 9999;
+}
+.customer.welcome.active .menu > ul {
+  visibility: visible;
+  opacity: 1;
+  -webkit-transition-delay: 0s;
+  -moz-transition-delay: 0s;
+  -ms-transition-delay: 0s;
+  -o-transition-delay: 0s;
+  transition-delay: 0s;
+}
+.header .content .customer.welcome .customer.name {
+  font-weight: 400;
+}
+.header .content .customer.welcome .customer.name span {
+  color: #837d75;
+}
+.header .content .customer.welcome .customer.name span:after {
+  font-family: "icons";
+  font-size: 16px;
+  line-height: 16px;
+  height: 16px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e02c";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.header .content .customer.welcome .customer.name span:after {
+  line-height: 14px;
+}
+.header .content .customer.welcome .customer.name:focus span,
+.header .content .customer.welcome .customer.name:hover span,
+.header .content .customer.welcome .customer.name.active span {
+  color: #675f55;
+  outline: 0;
+}
+.header .content .customer.welcome .customer.name.active span:after {
+  content: "\e029";
+}
+.customer.welcome + li {
+  display: none;
+}
+.customer.welcome + li {
+  display: none !important;
+}
+.login.container {
+  *zoom: 1;
+  background: #f8f8f8;
+  padding: 40px;
+  position: relative;
+  z-index: 1;
+  padding-bottom: 150px;
+}
+.login.container:before,
+.login.container:after {
+  content: "";
+  display: table;
+}
+.login.container:after {
+  clear: both;
+}
+.login.container .block {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  float: left;
+  width: 50%;
+}
+.login.container .block > .title {
+  margin-bottom: 25px;
+}
+.login.container .block .actions {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  text-align: right;
+  position: absolute;
+  bottom: 140px;
+  width: 50%;
+  padding: 0 40px;
+}
+.login.container .block .actions .secondary {
+  margin-bottom: -2em;
+  margin-top: 0.8em;
+  line-height: 1.2em;
+  float: right;
+}
+.login.container .block.login {
+  padding-right: 90px;
+}
+.login.container .block.login .actions {
+  margin-left: -90px;
+}
+.login.container .block.new {
+  padding-left: 40px;
+}
+.login.container .block.new .actions {
+  margin-left: -40px;
+}
+.login.container .block.new:before {
+  content: '';
+  border-left: 1px solid;
+  border-color: #d7d7d7;
+  position: absolute;
+  top: 40px;
+  margin-left: -40px;
+  bottom: 60px;
+}
+.form.login .fieldset.login {
+  margin: 30px 10px 30px 30px;
+  letter-spacing: -0.31em;
+  word-spacing: -0.43em;
+  margin: 0;
+  padding: 0;
+  border: 0;
+}
+.form.login .fieldset.login > * {
+  letter-spacing: normal;
+  word-spacing: normal;
+}
+.form.login .fieldset.login > .legend {
+  float: left;
+  font: 400 20px/1.2 "sourcesanspro";
+  margin: -30px 30px 50px -30px;
+  width: 100%;
+}
+.form.login .fieldset.login > .legend + br {
+  display: block;
+  *zoom: 1;
+}
+.form.login .fieldset.login > .legend + br:before,
+.form.login .fieldset.login > .legend + br:after {
+  content: "";
+  display: table;
+}
+.form.login .fieldset.login > .legend + br:after {
+  clear: both;
+}
+.form.login .fieldset.login > .field {
+  *zoom: 1;
+}
+.form.login .fieldset.login > .field:before,
+.form.login .fieldset.login > .field:after {
+  content: "";
+  display: table;
+}
+.form.login .fieldset.login > .field:after {
+  clear: both;
+}
+.form.login .fieldset.login > .field > .control,
+.form.login .fieldset.login > .field > .label {
+  margin: 0;
+  float: left;
+  width: 40%;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+}
+.form.login .fieldset.login > .field > .control {
+  width: 60%;
+}
+.form.login .fieldset.login > .field.no-label .control {
+  margin-left: 40%;
+}
+.form.login .fieldset.login .field {
+  margin: 0 0 10px;
+}
+.form.login .fieldset.login .field:last-child {
+  margin-bottom: 0;
+}
+.form.login .fieldset.login .field .nested {
+  padding: 0 0 0;
+}
+.form.login .fieldset.login .field .nested .field {
+  margin: 5px 0;
+}
+.form.login .fieldset.login .field .label {
+  padding-top: 7px;
+  padding-right: 10px;
+  text-align: right;
+}
+.action.reload {
+  border: none;
+  border-radius: 0;
+  background: none;
+  margin: 0;
+  padding: 0;
+  box-shadow: none;
+  text-shadow: none;
+  outline: none;
+  position: absolute;
+  background: #fff;
+  padding: 2px;
+}
+.action.reload span {
+  width: 22px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+  color: #da370a;
+  text-shadow: 0px 1px rgba(0, 0, 0, 0.4);
+}
+.action.reload span:after {
+  font-family: "icons";
+  font-size: 22px;
+  line-height: 22px;
+  height: 22px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e00a";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.action.reload span:active {
+  outline: 0;
+}
+.action.reload span:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+/*
+    Registration
+-------------------------------------- */
+.form.send.friend .fieldset,
+.form.address.edit .fieldset,
+.form.edit.account .fieldset,
+.form.search.advanced .fieldset,
+.form.orders.search .fieldset,
+.form.contact .fieldset,
+.form.password.forget .fieldset,
+.form.create.account .fieldset,
+.form.wishlist.share .fieldset,
+.form.password.reset .fieldset,
+.form.paypal.review .fieldset {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  margin: 30px 10px 30px 30px;
+  padding: 0;
+  letter-spacing: -0.31em;
+  word-spacing: -0.43em;
+  width: 690px;
+  background: #f8f8f8;
+  padding: 30px 10px 30px 30px;
+  border: 0;
+  margin: 0 0 40px;
+  position: relative;
+  z-index: 1;
+}
+.form.send.friend .fieldset .field,
+.form.address.edit .fieldset .field,
+.form.edit.account .fieldset .field,
+.form.search.advanced .fieldset .field,
+.form.orders.search .fieldset .field,
+.form.contact .fieldset .field,
+.form.password.forget .fieldset .field,
+.form.create.account .fieldset .field,
+.form.wishlist.share .fieldset .field,
+.form.password.reset .fieldset .field,
+.form.paypal.review .fieldset .field {
+  display: inline-block;
+  padding-right: 20px;
+  vertical-align: top;
+  width: 50%;
+}
+.form.send.friend .fieldset .nested .field,
+.form.address.edit .fieldset .nested .field,
+.form.edit.account .fieldset .nested .field,
+.form.search.advanced .fieldset .nested .field,
+.form.orders.search .fieldset .nested .field,
+.form.contact .fieldset .nested .field,
+.form.password.forget .fieldset .nested .field,
+.form.create.account .fieldset .nested .field,
+.form.wishlist.share .fieldset .nested .field,
+.form.password.reset .fieldset .nested .field,
+.form.paypal.review .fieldset .nested .field {
+  width: 100%;
+}
+.form.send.friend .fieldset .actions,
+.form.address.edit .fieldset .actions,
+.form.edit.account .fieldset .actions,
+.form.search.advanced .fieldset .actions,
+.form.orders.search .fieldset .actions,
+.form.contact .fieldset .actions,
+.form.password.forget .fieldset .actions,
+.form.create.account .fieldset .actions,
+.form.wishlist.share .fieldset .actions,
+.form.password.reset .fieldset .actions,
+.form.paypal.review .fieldset .actions {
+  margin-right: 30px;
+}
+.form.send.friend .fieldset > *,
+.form.address.edit .fieldset > *,
+.form.edit.account .fieldset > *,
+.form.search.advanced .fieldset > *,
+.form.orders.search .fieldset > *,
+.form.contact .fieldset > *,
+.form.password.forget .fieldset > *,
+.form.create.account .fieldset > *,
+.form.wishlist.share .fieldset > *,
+.form.password.reset .fieldset > *,
+.form.paypal.review .fieldset > * {
+  letter-spacing: normal;
+  word-spacing: normal;
+}
+.form.send.friend .fieldset > .legend,
+.form.address.edit .fieldset > .legend,
+.form.edit.account .fieldset > .legend,
+.form.search.advanced .fieldset > .legend,
+.form.orders.search .fieldset > .legend,
+.form.contact .fieldset > .legend,
+.form.password.forget .fieldset > .legend,
+.form.create.account .fieldset > .legend,
+.form.wishlist.share .fieldset > .legend,
+.form.password.reset .fieldset > .legend,
+.form.paypal.review .fieldset > .legend {
+  float: left;
+  font: 400 20px/1.2 "sourcesanspro";
+  margin: -30px 30px 50px -30px;
+  width: 100%;
+}
+.form.send.friend .fieldset > .legend + br,
+.form.address.edit .fieldset > .legend + br,
+.form.edit.account .fieldset > .legend + br,
+.form.search.advanced .fieldset > .legend + br,
+.form.orders.search .fieldset > .legend + br,
+.form.contact .fieldset > .legend + br,
+.form.password.forget .fieldset > .legend + br,
+.form.create.account .fieldset > .legend + br,
+.form.wishlist.share .fieldset > .legend + br,
+.form.password.reset .fieldset > .legend + br,
+.form.paypal.review .fieldset > .legend + br {
+  display: block;
+  *zoom: 1;
+}
+.form.send.friend .fieldset > .legend + br:before,
+.form.address.edit .fieldset > .legend + br:before,
+.form.edit.account .fieldset > .legend + br:before,
+.form.search.advanced .fieldset > .legend + br:before,
+.form.orders.search .fieldset > .legend + br:before,
+.form.contact .fieldset > .legend + br:before,
+.form.password.forget .fieldset > .legend + br:before,
+.form.create.account .fieldset > .legend + br:before,
+.form.wishlist.share .fieldset > .legend + br:before,
+.form.password.reset .fieldset > .legend + br:before,
+.form.paypal.review .fieldset > .legend + br:before,
+.form.send.friend .fieldset > .legend + br:after,
+.form.address.edit .fieldset > .legend + br:after,
+.form.edit.account .fieldset > .legend + br:after,
+.form.search.advanced .fieldset > .legend + br:after,
+.form.orders.search .fieldset > .legend + br:after,
+.form.contact .fieldset > .legend + br:after,
+.form.password.forget .fieldset > .legend + br:after,
+.form.create.account .fieldset > .legend + br:after,
+.form.wishlist.share .fieldset > .legend + br:after,
+.form.password.reset .fieldset > .legend + br:after,
+.form.paypal.review .fieldset > .legend + br:after {
+  content: "";
+  display: table;
+}
+.form.send.friend .fieldset > .legend + br:after,
+.form.address.edit .fieldset > .legend + br:after,
+.form.edit.account .fieldset > .legend + br:after,
+.form.search.advanced .fieldset > .legend + br:after,
+.form.orders.search .fieldset > .legend + br:after,
+.form.contact .fieldset > .legend + br:after,
+.form.password.forget .fieldset > .legend + br:after,
+.form.create.account .fieldset > .legend + br:after,
+.form.wishlist.share .fieldset > .legend + br:after,
+.form.password.reset .fieldset > .legend + br:after,
+.form.paypal.review .fieldset > .legend + br:after {
+  clear: both;
+}
+.form.send.friend .fieldset .legend,
+.form.address.edit .fieldset .legend,
+.form.edit.account .fieldset .legend,
+.form.search.advanced .fieldset .legend,
+.form.orders.search .fieldset .legend,
+.form.contact .fieldset .legend,
+.form.password.forget .fieldset .legend,
+.form.create.account .fieldset .legend,
+.form.wishlist.share .fieldset .legend,
+.form.password.reset .fieldset .legend,
+.form.paypal.review .fieldset .legend {
+  float: left;
+  line-height: 1.2;
+  font-size: 20px;
+  font-weight: 400;
+  padding-bottom: 20px;
+  width: 100%;
+  padding: 0 40px 20px 0;
+  background: #fff;
+  margin: -30px -10px 30px -30px;
+}
+.form.send.friend .fieldset .legend + br,
+.form.address.edit .fieldset .legend + br,
+.form.edit.account .fieldset .legend + br,
+.form.search.advanced .fieldset .legend + br,
+.form.orders.search .fieldset .legend + br,
+.form.contact .fieldset .legend + br,
+.form.password.forget .fieldset .legend + br,
+.form.create.account .fieldset .legend + br,
+.form.wishlist.share .fieldset .legend + br,
+.form.password.reset .fieldset .legend + br,
+.form.paypal.review .fieldset .legend + br {
+  display: block;
+  clear: both;
+}
+.form.send.friend .fieldset > .field,
+.form.address.edit .fieldset > .field,
+.form.edit.account .fieldset > .field,
+.form.search.advanced .fieldset > .field,
+.form.orders.search .fieldset > .field,
+.form.contact .fieldset > .field,
+.form.password.forget .fieldset > .field,
+.form.create.account .fieldset > .field,
+.form.wishlist.share .fieldset > .field,
+.form.password.reset .fieldset > .field,
+.form.paypal.review .fieldset > .field {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  margin: 0 0 20px;
+  margin: 0 0 10px;
+  margin-bottom: 20px;
+}
+.form.send.friend .fieldset > .field > .label,
+.form.address.edit .fieldset > .field > .label,
+.form.edit.account .fieldset > .field > .label,
+.form.search.advanced .fieldset > .field > .label,
+.form.orders.search .fieldset > .field > .label,
+.form.contact .fieldset > .field > .label,
+.form.password.forget .fieldset > .field > .label,
+.form.create.account .fieldset > .field > .label,
+.form.wishlist.share .fieldset > .field > .label,
+.form.password.reset .fieldset > .field > .label,
+.form.paypal.review .fieldset > .field > .label {
+  display: block;
+  padding-bottom: 5px;
+}
+.form.send.friend .fieldset > .field .nested .field,
+.form.address.edit .fieldset > .field .nested .field,
+.form.edit.account .fieldset > .field .nested .field,
+.form.search.advanced .fieldset > .field .nested .field,
+.form.orders.search .fieldset > .field .nested .field,
+.form.contact .fieldset > .field .nested .field,
+.form.password.forget .fieldset > .field .nested .field,
+.form.create.account .fieldset > .field .nested .field,
+.form.wishlist.share .fieldset > .field .nested .field,
+.form.password.reset .fieldset > .field .nested .field,
+.form.paypal.review .fieldset > .field .nested .field {
+  margin: 5px 0;
+}
+.form.send.friend .fieldset > .field.choice > .control,
+.form.address.edit .fieldset > .field.choice > .control,
+.form.edit.account .fieldset > .field.choice > .control,
+.form.search.advanced .fieldset > .field.choice > .control,
+.form.orders.search .fieldset > .field.choice > .control,
+.form.contact .fieldset > .field.choice > .control,
+.form.password.forget .fieldset > .field.choice > .control,
+.form.create.account .fieldset > .field.choice > .control,
+.form.wishlist.share .fieldset > .field.choice > .control,
+.form.password.reset .fieldset > .field.choice > .control,
+.form.paypal.review .fieldset > .field.choice > .control {
+  width: auto;
+}
+.form.send.friend .fieldset > .field.choice > .label,
+.form.address.edit .fieldset > .field.choice > .label,
+.form.edit.account .fieldset > .field.choice > .label,
+.form.search.advanced .fieldset > .field.choice > .label,
+.form.orders.search .fieldset > .field.choice > .label,
+.form.contact .fieldset > .field.choice > .label,
+.form.password.forget .fieldset > .field.choice > .label,
+.form.create.account .fieldset > .field.choice > .label,
+.form.wishlist.share .fieldset > .field.choice > .label,
+.form.password.reset .fieldset > .field.choice > .label,
+.form.paypal.review .fieldset > .field.choice > .label {
+  display: inline;
+}
+.form.send.friend .fieldset > .field.choice > input,
+.form.address.edit .fieldset > .field.choice > input,
+.form.edit.account .fieldset > .field.choice > input,
+.form.search.advanced .fieldset > .field.choice > input,
+.form.orders.search .fieldset > .field.choice > input,
+.form.contact .fieldset > .field.choice > input,
+.form.password.forget .fieldset > .field.choice > input,
+.form.create.account .fieldset > .field.choice > input,
+.form.wishlist.share .fieldset > .field.choice > input,
+.form.password.reset .fieldset > .field.choice > input,
+.form.paypal.review .fieldset > .field.choice > input {
+  vertical-align: top;
+  margin-top: 2px;
+  margin-right: 5px;
+}
+.form.send.friend .fieldset > .field.required > .label > span:first-child:after,
+.form.address.edit .fieldset > .field.required > .label > span:first-child:after,
+.form.edit.account .fieldset > .field.required > .label > span:first-child:after,
+.form.search.advanced .fieldset > .field.required > .label > span:first-child:after,
+.form.orders.search .fieldset > .field.required > .label > span:first-child:after,
+.form.contact .fieldset > .field.required > .label > span:first-child:after,
+.form.password.forget .fieldset > .field.required > .label > span:first-child:after,
+.form.create.account .fieldset > .field.required > .label > span:first-child:after,
+.form.wishlist.share .fieldset > .field.required > .label > span:first-child:after,
+.form.password.reset .fieldset > .field.required > .label > span:first-child:after,
+.form.paypal.review .fieldset > .field.required > .label > span:first-child:after {
+  content: '*';
+  color: #da370a;
+}
+.form.send.friend .fieldset > .field .addon,
+.form.address.edit .fieldset > .field .addon,
+.form.edit.account .fieldset > .field .addon,
+.form.search.advanced .fieldset > .field .addon,
+.form.orders.search .fieldset > .field .addon,
+.form.contact .fieldset > .field .addon,
+.form.password.forget .fieldset > .field .addon,
+.form.create.account .fieldset > .field .addon,
+.form.wishlist.share .fieldset > .field .addon,
+.form.password.reset .fieldset > .field .addon,
+.form.paypal.review .fieldset > .field .addon {
+  display: table;
+  padding: 0;
+  width: 100%;
+}
+.form.send.friend .fieldset > .field .addon textarea,
+.form.address.edit .fieldset > .field .addon textarea,
+.form.edit.account .fieldset > .field .addon textarea,
+.form.search.advanced .fieldset > .field .addon textarea,
+.form.orders.search .fieldset > .field .addon textarea,
+.form.contact .fieldset > .field .addon textarea,
+.form.password.forget .fieldset > .field .addon textarea,
+.form.create.account .fieldset > .field .addon textarea,
+.form.wishlist.share .fieldset > .field .addon textarea,
+.form.password.reset .fieldset > .field .addon textarea,
+.form.paypal.review .fieldset > .field .addon textarea,
+.form.send.friend .fieldset > .field .addon select,
+.form.address.edit .fieldset > .field .addon select,
+.form.edit.account .fieldset > .field .addon select,
+.form.search.advanced .fieldset > .field .addon select,
+.form.orders.search .fieldset > .field .addon select,
+.form.contact .fieldset > .field .addon select,
+.form.password.forget .fieldset > .field .addon select,
+.form.create.account .fieldset > .field .addon select,
+.form.wishlist.share .fieldset > .field .addon select,
+.form.password.reset .fieldset > .field .addon select,
+.form.paypal.review .fieldset > .field .addon select,
+.form.send.friend .fieldset > .field .addon input,
+.form.address.edit .fieldset > .field .addon input,
+.form.edit.account .fieldset > .field .addon input,
+.form.search.advanced .fieldset > .field .addon input,
+.form.orders.search .fieldset > .field .addon input,
+.form.contact .fieldset > .field .addon input,
+.form.password.forget .fieldset > .field .addon input,
+.form.create.account .fieldset > .field .addon input,
+.form.wishlist.share .fieldset > .field .addon input,
+.form.password.reset .fieldset > .field .addon input,
+.form.paypal.review .fieldset > .field .addon input {
+  box-shadow: none;
+  display: table-cell;
+  margin: 0;
+  width: 100%;
+}
+.form.send.friend .fieldset > .field .addon .addbefore,
+.form.address.edit .fieldset > .field .addon .addbefore,
+.form.edit.account .fieldset > .field .addon .addbefore,
+.form.search.advanced .fieldset > .field .addon .addbefore,
+.form.orders.search .fieldset > .field .addon .addbefore,
+.form.contact .fieldset > .field .addon .addbefore,
+.form.password.forget .fieldset > .field .addon .addbefore,
+.form.create.account .fieldset > .field .addon .addbefore,
+.form.wishlist.share .fieldset > .field .addon .addbefore,
+.form.password.reset .fieldset > .field .addon .addbefore,
+.form.paypal.review .fieldset > .field .addon .addbefore,
+.form.send.friend .fieldset > .field .addon .addafter,
+.form.address.edit .fieldset > .field .addon .addafter,
+.form.edit.account .fieldset > .field .addon .addafter,
+.form.search.advanced .fieldset > .field .addon .addafter,
+.form.orders.search .fieldset > .field .addon .addafter,
+.form.contact .fieldset > .field .addon .addafter,
+.form.password.forget .fieldset > .field .addon .addafter,
+.form.create.account .fieldset > .field .addon .addafter,
+.form.wishlist.share .fieldset > .field .addon .addafter,
+.form.password.reset .fieldset > .field .addon .addafter,
+.form.paypal.review .fieldset > .field .addon .addafter {
+  height: 0;
+  white-space: nowrap;
+  display: inline-block;
+  display: table-cell;
+  vertical-align: middle;
+  width: 1px;
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  background: #ffffff;
+  border: 1px solid #c2c2c2;
+  border-radius: 3px;
+  font: 400 14px "sourcesanspro";
+  /* Prevent background color leak outs */
+
+  background-clip: padding-box;
+  outline: none;
+  height: 32px;
+  line-height: 1;
+  padding: 0 10px;
+}
+.form.send.friend .fieldset > .field .addon .addbefore:focus,
+.form.address.edit .fieldset > .field .addon .addbefore:focus,
+.form.edit.account .fieldset > .field .addon .addbefore:focus,
+.form.search.advanced .fieldset > .field .addon .addbefore:focus,
+.form.orders.search .fieldset > .field .addon .addbefore:focus,
+.form.contact .fieldset > .field .addon .addbefore:focus,
+.form.password.forget .fieldset > .field .addon .addbefore:focus,
+.form.create.account .fieldset > .field .addon .addbefore:focus,
+.form.wishlist.share .fieldset > .field .addon .addbefore:focus,
+.form.password.reset .fieldset > .field .addon .addbefore:focus,
+.form.paypal.review .fieldset > .field .addon .addbefore:focus,
+.form.send.friend .fieldset > .field .addon .addafter:focus,
+.form.address.edit .fieldset > .field .addon .addafter:focus,
+.form.edit.account .fieldset > .field .addon .addafter:focus,
+.form.search.advanced .fieldset > .field .addon .addafter:focus,
+.form.orders.search .fieldset > .field .addon .addafter:focus,
+.form.contact .fieldset > .field .addon .addafter:focus,
+.form.password.forget .fieldset > .field .addon .addafter:focus,
+.form.create.account .fieldset > .field .addon .addafter:focus,
+.form.wishlist.share .fieldset > .field .addon .addafter:focus,
+.form.password.reset .fieldset > .field .addon .addafter:focus,
+.form.paypal.review .fieldset > .field .addon .addafter:focus {
+  border-color: #999999;
+}
+.control .form.send.friend .fieldset > .field .addon .addbefore,
+.control .form.address.edit .fieldset > .field .addon .addbefore,
+.control .form.edit.account .fieldset > .field .addon .addbefore,
+.control .form.search.advanced .fieldset > .field .addon .addbefore,
+.control .form.orders.search .fieldset > .field .addon .addbefore,
+.control .form.contact .fieldset > .field .addon .addbefore,
+.control .form.password.forget .fieldset > .field .addon .addbefore,
+.control .form.create.account .fieldset > .field .addon .addbefore,
+.control .form.wishlist.share .fieldset > .field .addon .addbefore,
+.control .form.password.reset .fieldset > .field .addon .addbefore,
+.control .form.paypal.review .fieldset > .field .addon .addbefore,
+.control .form.send.friend .fieldset > .field .addon .addafter,
+.control .form.address.edit .fieldset > .field .addon .addafter,
+.control .form.edit.account .fieldset > .field .addon .addafter,
+.control .form.search.advanced .fieldset > .field .addon .addafter,
+.control .form.orders.search .fieldset > .field .addon .addafter,
+.control .form.contact .fieldset > .field .addon .addafter,
+.control .form.password.forget .fieldset > .field .addon .addafter,
+.control .form.create.account .fieldset > .field .addon .addafter,
+.control .form.wishlist.share .fieldset > .field .addon .addafter,
+.control .form.password.reset .fieldset > .field .addon .addafter,
+.control .form.paypal.review .fieldset > .field .addon .addafter {
+  width: 100%;
+}
+.form.send.friend .fieldset > .field .addon .addbefore:disabled,
+.form.address.edit .fieldset > .field .addon .addbefore:disabled,
+.form.edit.account .fieldset > .field .addon .addbefore:disabled,
+.form.search.advanced .fieldset > .field .addon .addbefore:disabled,
+.form.orders.search .fieldset > .field .addon .addbefore:disabled,
+.form.contact .fieldset > .field .addon .addbefore:disabled,
+.form.password.forget .fieldset > .field .addon .addbefore:disabled,
+.form.create.account .fieldset > .field .addon .addbefore:disabled,
+.form.wishlist.share .fieldset > .field .addon .addbefore:disabled,
+.form.password.reset .fieldset > .field .addon .addbefore:disabled,
+.form.paypal.review .fieldset > .field .addon .addbefore:disabled,
+.form.send.friend .fieldset > .field .addon .addafter:disabled,
+.form.address.edit .fieldset > .field .addon .addafter:disabled,
+.form.edit.account .fieldset > .field .addon .addafter:disabled,
+.form.search.advanced .fieldset > .field .addon .addafter:disabled,
+.form.orders.search .fieldset > .field .addon .addafter:disabled,
+.form.contact .fieldset > .field .addon .addafter:disabled,
+.form.password.forget .fieldset > .field .addon .addafter:disabled,
+.form.create.account .fieldset > .field .addon .addafter:disabled,
+.form.wishlist.share .fieldset > .field .addon .addafter:disabled,
+.form.password.reset .fieldset > .field .addon .addafter:disabled,
+.form.paypal.review .fieldset > .field .addon .addafter:disabled {
+  opacity: 0.5;
+}
+.form.send.friend .fieldset > .field .addon .addbefore::-webkit-input-placeholder,
+.form.address.edit .fieldset > .field .addon .addbefore::-webkit-input-placeholder,
+.form.edit.account .fieldset > .field .addon .addbefore::-webkit-input-placeholder,
+.form.search.advanced .fieldset > .field .addon .addbefore::-webkit-input-placeholder,
+.form.orders.search .fieldset > .field .addon .addbefore::-webkit-input-placeholder,
+.form.contact .fieldset > .field .addon .addbefore::-webkit-input-placeholder,
+.form.password.forget .fieldset > .field .addon .addbefore::-webkit-input-placeholder,
+.form.create.account .fieldset > .field .addon .addbefore::-webkit-input-placeholder,
+.form.wishlist.share .fieldset > .field .addon .addbefore::-webkit-input-placeholder,
+.form.password.reset .fieldset > .field .addon .addbefore::-webkit-input-placeholder,
+.form.paypal.review .fieldset > .field .addon .addbefore::-webkit-input-placeholder,
+.form.send.friend .fieldset > .field .addon .addafter::-webkit-input-placeholder,
+.form.address.edit .fieldset > .field .addon .addafter::-webkit-input-placeholder,
+.form.edit.account .fieldset > .field .addon .addafter::-webkit-input-placeholder,
+.form.search.advanced .fieldset > .field .addon .addafter::-webkit-input-placeholder,
+.form.orders.search .fieldset > .field .addon .addafter::-webkit-input-placeholder,
+.form.contact .fieldset > .field .addon .addafter::-webkit-input-placeholder,
+.form.password.forget .fieldset > .field .addon .addafter::-webkit-input-placeholder,
+.form.create.account .fieldset > .field .addon .addafter::-webkit-input-placeholder,
+.form.wishlist.share .fieldset > .field .addon .addafter::-webkit-input-placeholder,
+.form.password.reset .fieldset > .field .addon .addafter::-webkit-input-placeholder,
+.form.paypal.review .fieldset > .field .addon .addafter::-webkit-input-placeholder {
+  line-height: 1.333;
+}
+.form.send.friend .fieldset > .field .addon .addbefore:-ms-input-placeholder,
+.form.address.edit .fieldset > .field .addon .addbefore:-ms-input-placeholder,
+.form.edit.account .fieldset > .field .addon .addbefore:-ms-input-placeholder,
+.form.search.advanced .fieldset > .field .addon .addbefore:-ms-input-placeholder,
+.form.orders.search .fieldset > .field .addon .addbefore:-ms-input-placeholder,
+.form.contact .fieldset > .field .addon .addbefore:-ms-input-placeholder,
+.form.password.forget .fieldset > .field .addon .addbefore:-ms-input-placeholder,
+.form.create.account .fieldset > .field .addon .addbefore:-ms-input-placeholder,
+.form.wishlist.share .fieldset > .field .addon .addbefore:-ms-input-placeholder,
+.form.password.reset .fieldset > .field .addon .addbefore:-ms-input-placeholder,
+.form.paypal.review .fieldset > .field .addon .addbefore:-ms-input-placeholder,
+.form.send.friend .fieldset > .field .addon .addafter:-ms-input-placeholder,
+.form.address.edit .fieldset > .field .addon .addafter:-ms-input-placeholder,
+.form.edit.account .fieldset > .field .addon .addafter:-ms-input-placeholder,
+.form.search.advanced .fieldset > .field .addon .addafter:-ms-input-placeholder,
+.form.orders.search .fieldset > .field .addon .addafter:-ms-input-placeholder,
+.form.contact .fieldset > .field .addon .addafter:-ms-input-placeholder,
+.form.password.forget .fieldset > .field .addon .addafter:-ms-input-placeholder,
+.form.create.account .fieldset > .field .addon .addafter:-ms-input-placeholder,
+.form.wishlist.share .fieldset > .field .addon .addafter:-ms-input-placeholder,
+.form.password.reset .fieldset > .field .addon .addafter:-ms-input-placeholder,
+.form.paypal.review .fieldset > .field .addon .addafter:-ms-input-placeholder {
+  line-height: 1.333;
+}
+.eq-ie8 .form.send.friend .fieldset > .field .addon .addbefore,
+.eq-ie8 .form.address.edit .fieldset > .field .addon .addbefore,
+.eq-ie8 .form.edit.account .fieldset > .field .addon .addbefore,
+.eq-ie8 .form.search.advanced .fieldset > .field .addon .addbefore,
+.eq-ie8 .form.orders.search .fieldset > .field .addon .addbefore,
+.eq-ie8 .form.contact .fieldset > .field .addon .addbefore,
+.eq-ie8 .form.password.forget .fieldset > .field .addon .addbefore,
+.eq-ie8 .form.create.account .fieldset > .field .addon .addbefore,
+.eq-ie8 .form.wishlist.share .fieldset > .field .addon .addbefore,
+.eq-ie8 .form.password.reset .fieldset > .field .addon .addbefore,
+.eq-ie8 .form.paypal.review .fieldset > .field .addon .addbefore,
+.eq-ie8 .form.send.friend .fieldset > .field .addon .addafter,
+.eq-ie8 .form.address.edit .fieldset > .field .addon .addafter,
+.eq-ie8 .form.edit.account .fieldset > .field .addon .addafter,
+.eq-ie8 .form.search.advanced .fieldset > .field .addon .addafter,
+.eq-ie8 .form.orders.search .fieldset > .field .addon .addafter,
+.eq-ie8 .form.contact .fieldset > .field .addon .addafter,
+.eq-ie8 .form.password.forget .fieldset > .field .addon .addafter,
+.eq-ie8 .form.create.account .fieldset > .field .addon .addafter,
+.eq-ie8 .form.wishlist.share .fieldset > .field .addon .addafter,
+.eq-ie8 .form.password.reset .fieldset > .field .addon .addafter,
+.eq-ie8 .form.paypal.review .fieldset > .field .addon .addafter {
+  padding-top: 8px;
+}
+.form.send.friend .fieldset > .field .note,
+.form.address.edit .fieldset > .field .note,
+.form.edit.account .fieldset > .field .note,
+.form.search.advanced .fieldset > .field .note,
+.form.orders.search .fieldset > .field .note,
+.form.contact .fieldset > .field .note,
+.form.password.forget .fieldset > .field .note,
+.form.create.account .fieldset > .field .note,
+.form.wishlist.share .fieldset > .field .note,
+.form.password.reset .fieldset > .field .note,
+.form.paypal.review .fieldset > .field .note {
+  font-size: 12px;
+  margin-top: 3px;
+  padding-left: 15px;
+}
+.form.send.friend .fieldset > .field .note:before,
+.form.address.edit .fieldset > .field .note:before,
+.form.edit.account .fieldset > .field .note:before,
+.form.search.advanced .fieldset > .field .note:before,
+.form.orders.search .fieldset > .field .note:before,
+.form.contact .fieldset > .field .note:before,
+.form.password.forget .fieldset > .field .note:before,
+.form.create.account .fieldset > .field .note:before,
+.form.wishlist.share .fieldset > .field .note:before,
+.form.password.reset .fieldset > .field .note:before,
+.form.paypal.review .fieldset > .field .note:before {
+  border-bottom: 5px solid #675f55;
+  border-left: 5px solid transparent;
+  border-right: 5px solid transparent;
+  content: '';
+  display: inline-block;
+  font-size: 0;
+  line-height: 0;
+  margin: 4px 0 0 -14px;
+  position: absolute;
+  vertical-align: top;
+  width: 0;
+}
+.form.send.friend .fieldset > .field:last-child,
+.form.address.edit .fieldset > .field:last-child,
+.form.edit.account .fieldset > .field:last-child,
+.form.search.advanced .fieldset > .field:last-child,
+.form.orders.search .fieldset > .field:last-child,
+.form.contact .fieldset > .field:last-child,
+.form.password.forget .fieldset > .field:last-child,
+.form.create.account .fieldset > .field:last-child,
+.form.wishlist.share .fieldset > .field:last-child,
+.form.password.reset .fieldset > .field:last-child,
+.form.paypal.review .fieldset > .field:last-child {
+  margin-bottom: 0;
+}
+.form.send.friend .fieldset > .field .nested,
+.form.address.edit .fieldset > .field .nested,
+.form.edit.account .fieldset > .field .nested,
+.form.search.advanced .fieldset > .field .nested,
+.form.orders.search .fieldset > .field .nested,
+.form.contact .fieldset > .field .nested,
+.form.password.forget .fieldset > .field .nested,
+.form.create.account .fieldset > .field .nested,
+.form.wishlist.share .fieldset > .field .nested,
+.form.password.reset .fieldset > .field .nested,
+.form.paypal.review .fieldset > .field .nested {
+  padding: 0 0 0;
+}
+.form.send.friend .fieldset > .field .nested .field,
+.form.address.edit .fieldset > .field .nested .field,
+.form.edit.account .fieldset > .field .nested .field,
+.form.search.advanced .fieldset > .field .nested .field,
+.form.orders.search .fieldset > .field .nested .field,
+.form.contact .fieldset > .field .nested .field,
+.form.password.forget .fieldset > .field .nested .field,
+.form.create.account .fieldset > .field .nested .field,
+.form.wishlist.share .fieldset > .field .nested .field,
+.form.password.reset .fieldset > .field .nested .field,
+.form.paypal.review .fieldset > .field .nested .field {
+  margin: 5px 0;
+}
+.form.send.friend .fieldset > .field > .label,
+.form.address.edit .fieldset > .field > .label,
+.form.edit.account .fieldset > .field > .label,
+.form.search.advanced .fieldset > .field > .label,
+.form.orders.search .fieldset > .field > .label,
+.form.contact .fieldset > .field > .label,
+.form.password.forget .fieldset > .field > .label,
+.form.create.account .fieldset > .field > .label,
+.form.wishlist.share .fieldset > .field > .label,
+.form.password.reset .fieldset > .field > .label,
+.form.paypal.review .fieldset > .field > .label {
+  display: block;
+  padding: 0 0 5px;
+}
+.form.send.friend .fieldset > .field.note,
+.form.address.edit .fieldset > .field.note,
+.form.edit.account .fieldset > .field.note,
+.form.search.advanced .fieldset > .field.note,
+.form.orders.search .fieldset > .field.note,
+.form.contact .fieldset > .field.note,
+.form.password.forget .fieldset > .field.note,
+.form.create.account .fieldset > .field.note,
+.form.wishlist.share .fieldset > .field.note,
+.form.password.reset .fieldset > .field.note,
+.form.paypal.review .fieldset > .field.note,
+.form.send.friend .fieldset .field.street,
+.form.address.edit .fieldset .field.street,
+.form.edit.account .fieldset .field.street,
+.form.search.advanced .fieldset .field.street,
+.form.orders.search .fieldset .field.street,
+.form.contact .fieldset .field.street,
+.form.password.forget .fieldset .field.street,
+.form.create.account .fieldset .field.street,
+.form.wishlist.share .fieldset .field.street,
+.form.password.reset .fieldset .field.street,
+.form.paypal.review .fieldset .field.street,
+.form.send.friend .fieldset .field.choice.newsletter,
+.form.address.edit .fieldset .field.choice.newsletter,
+.form.edit.account .fieldset .field.choice.newsletter,
+.form.search.advanced .fieldset .field.choice.newsletter,
+.form.orders.search .fieldset .field.choice.newsletter,
+.form.contact .fieldset .field.choice.newsletter,
+.form.password.forget .fieldset .field.choice.newsletter,
+.form.create.account .fieldset .field.choice.newsletter,
+.form.wishlist.share .fieldset .field.choice.newsletter,
+.form.password.reset .fieldset .field.choice.newsletter,
+.form.paypal.review .fieldset .field.choice.newsletter {
+  width: 100%;
+}
+.form.send.friend .fieldset .field.fullname,
+.form.address.edit .fieldset .field.fullname,
+.form.edit.account .fieldset .field.fullname,
+.form.search.advanced .fieldset .field.fullname,
+.form.orders.search .fieldset .field.fullname,
+.form.contact .fieldset .field.fullname,
+.form.password.forget .fieldset .field.fullname,
+.form.create.account .fieldset .field.fullname,
+.form.wishlist.share .fieldset .field.fullname,
+.form.password.reset .fieldset .field.fullname,
+.form.paypal.review .fieldset .field.fullname {
+  width: 100%;
+}
+.form.send.friend .fieldset .field.fullname .fields.group-5 .field,
+.form.address.edit .fieldset .field.fullname .fields.group-5 .field,
+.form.edit.account .fieldset .field.fullname .fields.group-5 .field,
+.form.search.advanced .fieldset .field.fullname .fields.group-5 .field,
+.form.orders.search .fieldset .field.fullname .fields.group-5 .field,
+.form.contact .fieldset .field.fullname .fields.group-5 .field,
+.form.password.forget .fieldset .field.fullname .fields.group-5 .field,
+.form.create.account .fieldset .field.fullname .fields.group-5 .field,
+.form.wishlist.share .fieldset .field.fullname .fields.group-5 .field,
+.form.password.reset .fieldset .field.fullname .fields.group-5 .field,
+.form.paypal.review .fieldset .field.fullname .fields.group-5 .field {
+  width: 20%;
+}
+.form.send.friend .fieldset .field.dob .fields.group .field,
+.form.address.edit .fieldset .field.dob .fields.group .field,
+.form.edit.account .fieldset .field.dob .fields.group .field,
+.form.search.advanced .fieldset .field.dob .fields.group .field,
+.form.orders.search .fieldset .field.dob .fields.group .field,
+.form.contact .fieldset .field.dob .fields.group .field,
+.form.password.forget .fieldset .field.dob .fields.group .field,
+.form.create.account .fieldset .field.dob .fields.group .field,
+.form.wishlist.share .fieldset .field.dob .fields.group .field,
+.form.password.reset .fieldset .field.dob .fields.group .field,
+.form.paypal.review .fieldset .field.dob .fields.group .field {
+  width: 33%;
+  position: relative;
+  z-index: 1;
+}
+.form.send.friend .fieldset .field.dob .fields.group .field .label,
+.form.address.edit .fieldset .field.dob .fields.group .field .label,
+.form.edit.account .fieldset .field.dob .fields.group .field .label,
+.form.search.advanced .fieldset .field.dob .fields.group .field .label,
+.form.orders.search .fieldset .field.dob .fields.group .field .label,
+.form.contact .fieldset .field.dob .fields.group .field .label,
+.form.password.forget .fieldset .field.dob .fields.group .field .label,
+.form.create.account .fieldset .field.dob .fields.group .field .label,
+.form.wishlist.share .fieldset .field.dob .fields.group .field .label,
+.form.password.reset .fieldset .field.dob .fields.group .field .label,
+.form.paypal.review .fieldset .field.dob .fields.group .field .label {
+  position: absolute;
+  bottom: 0;
+  font-size: 12px;
+  line-height: 16px;
+}
+.form.send.friend .fieldset .field.dob .fields.group .field input,
+.form.address.edit .fieldset .field.dob .fields.group .field input,
+.form.edit.account .fieldset .field.dob .fields.group .field input,
+.form.search.advanced .fieldset .field.dob .fields.group .field input,
+.form.orders.search .fieldset .field.dob .fields.group .field input,
+.form.contact .fieldset .field.dob .fields.group .field input,
+.form.password.forget .fieldset .field.dob .fields.group .field input,
+.form.create.account .fieldset .field.dob .fields.group .field input,
+.form.wishlist.share .fieldset .field.dob .fields.group .field input,
+.form.password.reset .fieldset .field.dob .fields.group .field input,
+.form.paypal.review .fieldset .field.dob .fields.group .field input {
+  margin-bottom: 16px;
+}
+.form.send.friend .actions,
+.form.address.edit .actions,
+.form.edit.account .actions,
+.form.search.advanced .actions,
+.form.orders.search .actions,
+.form.contact .actions,
+.form.password.forget .actions,
+.form.create.account .actions,
+.form.wishlist.share .actions,
+.form.password.reset .actions,
+.form.paypal.review .actions {
+  *zoom: 1;
+  width: 690px;
+}
+.form.send.friend .actions:before,
+.form.address.edit .actions:before,
+.form.edit.account .actions:before,
+.form.search.advanced .actions:before,
+.form.orders.search .actions:before,
+.form.contact .actions:before,
+.form.password.forget .actions:before,
+.form.create.account .actions:before,
+.form.wishlist.share .actions:before,
+.form.password.reset .actions:before,
+.form.paypal.review .actions:before,
+.form.send.friend .actions:after,
+.form.address.edit .actions:after,
+.form.edit.account .actions:after,
+.form.search.advanced .actions:after,
+.form.orders.search .actions:after,
+.form.contact .actions:after,
+.form.password.forget .actions:after,
+.form.create.account .actions:after,
+.form.wishlist.share .actions:after,
+.form.password.reset .actions:after,
+.form.paypal.review .actions:after {
+  content: "";
+  display: table;
+}
+.form.send.friend .actions:after,
+.form.address.edit .actions:after,
+.form.edit.account .actions:after,
+.form.search.advanced .actions:after,
+.form.orders.search .actions:after,
+.form.contact .actions:after,
+.form.password.forget .actions:after,
+.form.create.account .actions:after,
+.form.wishlist.share .actions:after,
+.form.password.reset .actions:after,
+.form.paypal.review .actions:after {
+  clear: both;
+}
+.form.send.friend .actions .primary,
+.form.address.edit .actions .primary,
+.form.edit.account .actions .primary,
+.form.search.advanced .actions .primary,
+.form.orders.search .actions .primary,
+.form.contact .actions .primary,
+.form.password.forget .actions .primary,
+.form.create.account .actions .primary,
+.form.wishlist.share .actions .primary,
+.form.password.reset .actions .primary,
+.form.paypal.review .actions .primary {
+  float: right;
+}
+.form.send.friend .actions .secondary,
+.form.address.edit .actions .secondary,
+.form.edit.account .actions .secondary,
+.form.search.advanced .actions .secondary,
+.form.orders.search .actions .secondary,
+.form.contact .actions .secondary,
+.form.password.forget .actions .secondary,
+.form.create.account .actions .secondary,
+.form.wishlist.share .actions .secondary,
+.form.password.reset .actions .secondary,
+.form.paypal.review .actions .secondary {
+  float: left;
+}
+.form.send.friend .fieldset.create.account:after,
+.form.address.edit .fieldset.create.account:after,
+.form.edit.account .fieldset.create.account:after,
+.form.search.advanced .fieldset.create.account:after,
+.form.orders.search .fieldset.create.account:after,
+.form.contact .fieldset.create.account:after,
+.form.password.forget .fieldset.create.account:after,
+.form.create.account .fieldset.create.account:after,
+.form.wishlist.share .fieldset.create.account:after,
+.form.password.reset .fieldset.create.account:after,
+.form.paypal.review .fieldset.create.account:after {
+  content: attr(data-hasrequired);
+  display: block;
+  position: absolute;
+  top: 100%;
+  left: 0;
+  padding: 10px 0 0;
+  letter-spacing: normal;
+  word-spacing: normal;
+  color: #da370a;
+}
+.form.send.friend .fieldset.recipients .fields {
+  *zoom: 1;
+  margin-bottom: 30px;
+  position: relative;
+  z-index: 1;
+}
+.form.send.friend .fieldset.recipients .fields:before,
+.form.send.friend .fieldset.recipients .fields:after {
+  content: "";
+  display: table;
+}
+.form.send.friend .fieldset.recipients .fields:after {
+  clear: both;
+}
+.form.send.friend .fieldset.recipients .fields .field {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  width: 50%;
+  padding-right: 20px;
+  float: left;
+}
+.form.send.friend .fieldset.recipients .fields .action.delete {
+  position: absolute;
+  right: 0;
+  top: 50%;
+}
+.form.send.friend .actions > .primary {
+  float: right;
+  text-align: right;
+}
+.form.send.friend .actions > .primary .action.submit {
+  float: right;
+  margin-left: 10px;
+}
+.form.send.friend .actions > .primary .limit {
+  margin: 0;
+  display: inline-block;
+}
+.form.address.edit .field.company,
+.form.edit.account .field.password.current,
+.form.edit.account .field.choice {
+  margin-right: 30%;
+}
+.form.address.edit .field.note.default,
+.form.address.edit .field.choice.set,
+.form.wishlist.share .field.emails,
+.form.wishlist.share .field.text,
+.form.wishlist.share .field.choice {
+  width: 100%;
+}
+.form.search.advanced,
+.form.orders.search,
+.form.contact {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  background: #f8f8f8;
+  padding: 40px;
+}
+.form.search.advanced .fieldset,
+.form.orders.search .fieldset,
+.form.contact .fieldset {
+  width: auto;
+  background: none;
+  margin-bottom: 0;
+}
+.form.search.advanced .fieldset .legend,
+.form.orders.search .fieldset .legend,
+.form.contact .fieldset .legend {
+  background: none;
+}
+.form.search.advanced .actions,
+.form.orders.search .actions,
+.form.contact .actions {
+  width: auto;
+  padding-right: 30px;
+  text-align: right;
+}
+.form.search.advanced .fields.range .field:first-child .control,
+.form.orders.search .fields.range .field:first-child .control,
+.form.contact .fields.range .field:first-child .control {
+  padding-right: 30px;
+  position: relative;
+}
+.form.search.advanced .fields.range .field:first-child .control:after,
+.form.orders.search .fields.range .field:first-child .control:after,
+.form.contact .fields.range .field:first-child .control:after {
+  content: '\2014';
+  display: inline-block;
+  margin-right: 0;
+  position: absolute;
+  right: 6px;
+  top: 5px;
+  text-align: center;
+  width: 25px;
+}
+.form.contact .fieldset .field {
+  float: left;
+  width: 40%;
+  margin-right: 60%;
+}
+.form.contact .fieldset .field.comment {
+  width: 55%;
+  margin-left: -55%;
+  margin-right: 0;
+  float: none;
+}
+.form.contact .fieldset .field.comment textarea {
+  min-height: 13.2em;
+}
+/*
+    Review paypal express checkout order
+-------------------------------------- */
+.paypal.review.view .paypal.subtitle.caption {
+  margin-bottom: 25px;
+}
+.paypal.review.view .paypal.subtitle.caption .action {
+  margin-left: 10px;
+}
+.paypal.review.view .paypal.subtitle.caption strong {
+  font-size: 20px;
+  font-weight: 200;
+  line-height: 1.2;
+}
+.paypal.review.view .form.paypal.review .fieldset {
+  width: 100%;
+}
+.paypal.review.view .form.paypal.review .fieldset.shipping.address {
+  float: right;
+  width: 49%;
+}
+.paypal.review.view .form.paypal.review .fieldset.billing.address {
+  float: left;
+  width: 49%;
+}
+.paypal.review.view .form.paypal.review .fieldset.shipping.method {
+  clear: both;
+}
+.paypal.review.view .form.paypal.review .fieldset .nested {
+  margin-top: 10px;
+}
+.paypal.review.view .actions {
+  margin-top: 35px;
+}
+.paypal.review.view .actions .action.update {
+  margin-left: 10px;
+}
+.paypal.review.view .data.table.paypal.review.items {
+  width: 100%;
+}
+.paypal.review.view .data.table.paypal.review.items td,
+.paypal.review.view .data.table.paypal.review.items th {
+  padding: 10px 20px;
+  text-align: left;
+}
+.paypal.review.view .data.table.paypal.review.items td.col.total,
+.paypal.review.view .data.table.paypal.review.items th.col.total {
+  text-align: right;
+}
+.paypal.review.view .data.table.paypal.review.items th {
+  font-size: 16px;
+  font-weight: 400;
+}
+.paypal.review.view .data.table.paypal.review.items tbody tr:nth-child(odd) td {
+  background: #f8f8f8;
+}
+.paypal.review.view .data.table.paypal.review.items tfoot tr:first-child td {
+  border-top: 3px solid #e5e5e5;
+  padding-top: 15px;
+}
+/*
+    MISC
+-------------------------------------- */
+.action.back span:before {
+  content: '\00AB\00A0';
+}
+/*
+    Magento_Customer
+    Account
+-------------------------------------- */
+.col2-left-layout.account .column.main {
+  float: left;
+  width: 75%;
+  margin-right: 0%;
+}
+.col2-left-layout.account .column.left {
+  float: left;
+  width: 25%;
+  margin-right: 0%;
+}
+.block.account.nav .title {
+  font-size: 18px;
+}
+.block.account.nav .item {
+  margin-bottom: 10px;
+}
+.block.account.nav .item.current {
+  color: #da370a;
+}
+.block.account.nav .item strong {
+  font-weight: 400;
+}
+.my-account .pager .amount,
+.my-account .pager .limiter {
+  display: inline-block;
+}
+.my-account .form .fieldset > .legend {
+  margin: 0 0 30px;
+}
+.my-account > .actions,
+.my-account .form > .actions,
+.my-account .block > .actions {
+  *zoom: 1;
+  margin: 30px 0 0;
+}
+.my-account > .actions:before,
+.my-account .form > .actions:before,
+.my-account .block > .actions:before,
+.my-account > .actions:after,
+.my-account .form > .actions:after,
+.my-account .block > .actions:after {
+  content: "";
+  display: table;
+}
+.my-account > .actions:after,
+.my-account .form > .actions:after,
+.my-account .block > .actions:after {
+  clear: both;
+}
+.my-account > .actions > .primary,
+.my-account .form > .actions > .primary,
+.my-account .block > .actions > .primary {
+  float: right;
+}
+.my-account > .actions > .secondary,
+.my-account .form > .actions > .secondary,
+.my-account .block > .actions > .secondary {
+  float: left;
+}
+.my-account .data.table {
+  width: 100%;
+}
+.my-account .data.table td,
+.my-account .data.table th {
+  padding: 10px 20px;
+  text-align: left;
+}
+.my-account .data.table td.col.actions,
+.my-account .data.table th.col.actions {
+  white-space: nowrap;
+}
+.my-account .data.table td.col.actions .action:last-child,
+.my-account .data.table th.col.actions .action:last-child {
+  margin-left: 20px;
+}
+.my-account .data.table td em,
+.my-account .data.table th em {
+  font-style: normal;
+}
+.my-account .data.table th {
+  font-size: 16px;
+  font-weight: 400;
+}
+.my-account .data.table tr:nth-child(odd) td {
+  background: #f8f8f8;
+}
+.block.dashboard .title .action,
+.block.dashboard .subtitle .action {
+  font-weight: 400;
+  font-size: 14px;
+  margin-left: 20px;
+  text-decoration: underline;
+  display: inline-block;
+  text-transform: lowercase;
+}
+.block.dashboard .title .action:first-letter,
+.block.dashboard .subtitle .action:first-letter {
+  text-transform: uppercase;
+}
+.block.dashboard .box {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  float: left;
+  width: 50%;
+  line-height: 1.666;
+}
+.block.dashboard .box address {
+  font-style: normal;
+}
+.block.dashboard .content {
+  *zoom: 1;
+}
+.block.dashboard .content:before,
+.block.dashboard .content:after {
+  content: "";
+  display: table;
+}
+.block.dashboard .content:after {
+  clear: both;
+}
+.block.dashboard:not(.welcome):not(.orders) .content {
+  background: #f8f8f8;
+  padding: 30px;
+}
+.block.dashboard:not(.welcome):not(.orders) .subtitle {
+  font-size: 18px;
+  font-weight: 200;
+  display: block;
+  margin-bottom: 20px;
+}
+.data.table.orders td.col.total,
+.data.table.orders th.col.total {
+  text-align: right;
+}
+/*
+    Address book
+-------------------------------------- */
+.block.addresses:not(.dashboard) {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  float: left;
+}
+.block.addresses:not(.dashboard) .title .action,
+.block.addresses:not(.dashboard) .subtitle .action {
+  font-weight: 400;
+  font-size: 14px;
+  margin-left: 20px;
+  text-decoration: underline;
+  display: inline-block;
+  text-transform: lowercase;
+}
+.block.addresses:not(.dashboard) .title .action:first-letter,
+.block.addresses:not(.dashboard) .subtitle .action:first-letter {
+  text-transform: uppercase;
+}
+.block.addresses:not(.dashboard) .content {
+  background: #f8f8f8;
+  padding: 30px;
+}
+.block.addresses:not(.dashboard) .subtitle {
+  font-size: 18px;
+  font-weight: 200;
+  display: block;
+  margin-bottom: 20px;
+}
+.block.addresses:not(.dashboard) .box:first-child {
+  margin-bottom: 30px;
+}
+.block.addresses:not(.dashboard) address {
+  line-height: 1.666;
+  font-style: normal;
+}
+.block.addresses:not(.dashboard).default {
+  float: left;
+  width: 60%;
+}
+.block.addresses:not(.dashboard).list {
+  float: right;
+  width: 35%;
+}
+.block.addresses:not(.dashboard).list .item {
+  margin-bottom: 30px;
+}
+.block.addresses:not(.dashboard).list .item.actions {
+  margin-top: 15px;
+}
+.block.addresses:not(.dashboard).list .action {
+  margin-right: 10px;
+}
+.customer-address-index .column.main .actions {
+  clear: left;
+}
+/*
+    My Account -> My Product Reviews
+-------------------------------------- */
+.data.table.reviews .product.name {
+  margin: 0;
+}
+/*
+    My Account -> My Wishlist
+-------------------------------------- */
+.data.table.wishlist {
+  margin-bottom: 15px;
+}
+.data.table.wishlist thead th {
+  padding-top: 0;
+  padding-bottom: 10px;
+  text-align: left;
+  font-weight: 400;
+  font-size: 16px;
+}
+.data.table.wishlist td,
+.data.table.wishlist th {
+  padding: 16px 10px 10px;
+  vertical-align: top;
+}
+.data.table.wishlist td:first-child,
+.data.table.wishlist th:first-child {
+  padding-left: 20px;
+}
+.data.table.wishlist td:last-child,
+.data.table.wishlist th:last-child {
+  padding-right: 20px;
+}
+.data.table.wishlist tbody tr:nth-child(even) {
+  background: #f8f8f8;
+}
+.data.table.wishlist textarea {
+  width: 100%;
+}
+.data.table.wishlist .box.tocart .qty {
+  width: 50px;
+}
+.data.table.wishlist + .actions .primary {
+  margin-bottom: 15px;
+}
+.data.table.wishlist + .actions .primary .action.share,
+.data.table.wishlist + .actions .primary .action.update {
+  padding: 5px 11px;
+}
+.data.table.wishlist + .actions .primary .action.update {
+  margin-left: 5px;
+}
+.data.table.wishlist .col.photo {
+  width: 100px;
+}
+.data.table.wishlist .col.actions {
+  width: 200px;
+}
+.data.table.wishlist .item-options {
+  background: rgba(0, 0, 0, 0.8);
+  color: #ffffff;
+  display: none;
+  position: absolute;
+  border-radius: 5px;
+  padding: 10px;
+  right: 100%;
+  top: 50%;
+  margin-top: -20px;
+  margin-right: 15px;
+  max-width: 200px;
+  min-width: 100px;
+}
+.data.table.wishlist .item-options > p {
+  margin-top: 0;
+}
+.data.table.wishlist .item-options dl {
+  margin: 0;
+}
+.data.table.wishlist .item-options dl dt {
+  display: inline;
+  float: left;
+  clear: left;
+  font-weight: 600;
+}
+.data.table.wishlist .item-options dl dt:after {
+  content: ':';
+  margin-right: 5px;
+}
+.data.table.wishlist .item-options dl dd {
+  margin: 0;
+}
+.data.table.wishlist .truncated .truncated_full_value {
+  position: relative;
+}
+.data.table.wishlist .truncated .truncated_full_value.show:before {
+  content: '';
+  border-left: 10px solid rgba(0, 0, 0, 0.8);
+  border-top: 10px solid transparent;
+  border-bottom: 10px solid transparent;
+  height: 0;
+  width: 0;
+  overflow: hidden;
+  display: block;
+  position: absolute;
+  top: 3px;
+  margin-top: 0;
+  left: -15px;
+  z-index: 2;
+}
+.data.table.wishlist .truncated .truncated_full_value.show .item-options {
+  display: block;
+}
+.data.table.wishlist .truncated .details {
+  font-size: 12px;
+  border-bottom: 1px dotted #332e29;
+  cursor: help;
+}
+/*
+    Page -> Advanced Search
+-------------------------------------- */
+.form.search.advanced .range.price.fields.group .field {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  float: left;
+  width: 50%;
+  margin-right: 0%;
+  padding-right: 0;
+}
+.form.search.advanced .range.price.fields.group .field:first-child input {
+  width: 96%;
+}
+.form.search.advanced .range.dates.fields.group .field {
+  -moz-box-sizing: border-box;
+  -webkit-box-sizing: border-box;
+  -ms-box-sizing: border-box;
+  box-sizing: border-box;
+  float: left;
+  width: 50%;
+  margin-right: 0%;
+  padding-right: 0;
+}
+.form.search.advanced .range.dates.fields.group .field .control {
+  padding-right: 20px;
+}
+.form.search.advanced .range.dates.fields.group .field:first-child .control {
+  padding-right: 50px;
+}
+.form.search.advanced .range.dates.fields.group .field:first-child .control .ui-datepicker-trigger {
+  right: 32px;
+}
+.form.search.advanced .group.price .addon .addafter {
+  color: #675f55;
+  border: none;
+  background: none;
+}
+/*
+    Popular Search Terms
+-------------------------------------- */
+.search.terms {
+  padding: 0;
+  margin: 0;
+  list-style-type: none;
+  list-style-image: none;
+}
+.search.terms .item {
+  display: inline-block;
+  margin-right: 3px;
+}
+/*
+    My Account -> My orders
+-------------------------------------- */
+.order.details {
+  *zoom: 1;
+}
+.order.details:before,
+.order.details:after {
+  content: "";
+  display: table;
+}
+.order.details:after {
+  clear: both;
+}
+.order.details .status {
+  margin: 0 0 .5em;
+  line-height: 1.2;
+  font-weight: 400;
+  font-size: 30px;
+  float: left;
+}
+.order.details .subtitle.caption strong,
+.order.details .title strong {
+  line-height: 1.2;
+  font-weight: 200;
+  font-size: 20px;
+}
+.order.details .subtitle.caption .action,
+.order.details .title .action {
+  margin-left: 10px;
+}
+.order.details .subtitle.caption {
+  margin-bottom: 45px;
+}
+.order.details .order.toolbar {
+  clear: none;
+  float: right;
+}
+.order.details .order.toolbar .action {
+  margin-left: 10px;
+}
+.order.details .block.order {
+  float: left;
+  width: 48%;
+  padding-right: 2%;
+}
+.order.details .block.order.billing.address {
+  clear: left;
+}
+.order.details .block.order .content {
+  background: #f8f8f8;
+  padding: 30px;
+}
+.order.details .order.info {
+  clear: both;
+}
+.order.details .order.info > dt {
+  line-height: 1.2;
+  font-weight: 200;
+  font-size: 20px;
+}
+.order.details .order.info > dd {
+  margin: 10px 0 0 0;
+  background: #f8f8f8;
+  padding: 30px;
+}
+.order.details .order.info > dd .items {
+  *zoom: 1;
+}
+.order.details .order.info > dd .items:before,
+.order.details .order.info > dd .items:after {
+  content: "";
+  display: table;
+}
+.order.details .order.info > dd .items:after {
+  clear: both;
+}
+.order.details .order.info > dd .items .item {
+  float: left;
+  margin-right: 15px;
+}
+.order.details .additional.details {
+  margin-bottom: 45px;
+}
+.order.details .additional.details .order.comments {
+  background: #f8f8f8;
+  padding: 30px;
+}
+.order.details .additional.details .subtitle.caption {
+  font-size: 20px;
+  font-weight: 200;
+  line-height: 1.2;
+  margin-bottom: 15px;
+}
+.order.details .additional.details.gift .gift.message {
+  background: #f8f8f8;
+  padding: 30px;
+}
+.order.details .additional.details.gift .gift.message dt {
+  margin: 0;
+}
+.order.details .additional.details.gift .gift.message dd {
+  margin: 0 0 0 40px;
+}
+.order.details.items .order.toolbar {
+  margin: 5px 0 0 0;
+}
+.order.details.items .order.title {
+  margin-bottom: 10px;
+}
+.order.details.items h3.product-name {
+  margin: 0;
+}
+.order.details.items .action.show {
+  text-decoration: none;
+}
+.order.details.items .action.show:after {
+  font-family: "icons";
+  font-size: 12px;
+  line-height: 12px;
+  height: 12px;
+  margin: 0;
+  overflow: hidden;
+  content: "\e029";
+  font-style: normal;
+  speak: none;
+  font-weight: normal;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  vertical-align: middle;
+  text-align: center;
+}
+.order.details.items .action.show.expanded:after {
+  content: "\e02c";
+}
+.shipping-tracking-popup .action.close {
+  text-indent: 0;
+}
+.shipping-tracking-popup .action.close span {
+  width: auto;
+  text-indent: 0;
+}
+.shipping-tracking-popup .action.close span:after {
+  content: "";
+  display: none;
+}
+.data.table.order {
+  margin-bottom: 45px;
+  width: 100%;
+}
+.data.table.order thead th {
+  padding: 0 10px;
+}
+.data.table.order thead tr:last-child th {
+  padding-bottom: 10px;
+}
+.data.table.order td.col.qty {
+  width: 90px;
+  text-align: left;
+}
+.data.table.order td.col.price,
+.data.table.order td.col.subtotal {
+  text-align: left;
+}
+.data.table.order td {
+  padding: 16px 10px 10px;
+  vertical-align: top;
+}
+.data.table.order td h4 {
+  margin: 0;
+}
+.data.table.order td:first-child,
+.data.table.order th:first-child {
+  padding-left: 20px;
+}
+.data.table.order td:last-child,
+.data.table.order th:last-child {
+  padding-right: 20px;
+}
+.data.table.order tbody:nth-child(even) tr {
+  background: #f8f8f8;
+}
+.data.table.order th {
+  text-align: left;
+  font-weight: 400;
+  font-size: 14px;
+  vertical-align: top;
+}
+.data.table.order tr:first-child th {
+  font-weight: 400;
+  font-size: 16px;
+}
+.data.table.order .item-options {
+  margin: 5px 0;
+}
+.data.table.order .item-options dt {
+  font-weight: 400;
+  display: inline;
+  margin-right: 10px;
+  float: left;
+  clear: left;
+}
+.data.table.order .item-options dt:after {
+  content: ': ';
+}
+.data.table.order .item-options dd {
+  font-weight: 200;
+  margin: 0 0 5px 10px;
+  padding: 0;
+}
+.data.table.order tfoot tr:first-child td {
+  border-top: 3px solid #e5e5e5;
+  padding-top: 15px;
+}
+.data.table.order.tracking th,
+.data.table.order.tracking td {
+  padding: 0;
+}
+.data.table.order.tracking .label {
+  width: 40%;
+}
+/*
+    My Account -> Billing agreements
+-------------------------------------- */
+.billing.agreements .data.table {
+  margin-bottom: 40px;
+}
+.billing.agreements .form.new.agreement .field {
+  display: inline-block;
+  padding-right: 20px;
+  vertical-align: top;
+  width: 30%;
+}
+.billing.agreements .form.new.agreement .nested .field {
+  width: 100%;
+}
+.billing.agreements .form.new.agreement .actions {
+  margin-right: 30px;
+}
+.billing.agreements .form.new.agreement .fieldset {
+  margin: 0;
+}
+.billing.agreements .form.new.agreement .fieldset > .legend {
+  margin: 0 0 20px;
+}
+.billing.agreements .form.new.agreement .action.create {
+  padding-top: 7px;
+  padding-bottom: 6px;
+}
+/*
+    Overlay popup
+-------------------------------------- */
+.window.overlay {
+  background: rgba(0, 0, 0, 0.5);
+  display: none;
+  min-height: 100%;
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  z-index: 990;
+}
+.window.overlay.active {
+  display: block;
+}
+.popup {
+  background: #ffffff;
+  left: 50%;
+  top: 40%;
+  position: absolute;
+  margin: -85px 0 0 -250px;
+  width: 500px;
+  z-index: 1000;
+  position: fixed;
+  display: none;
+}
+.popup.active {
+  display: block;
+}
+.popup .close span {
+  width: 16px;
+  display: block;
+  line-height: 0;
+  white-space: nowrap;
+  vertical-align: middle;
+  text-align: center;
+  text-indent: -999em;
+}
+.popup .close span:active {
+  outline: 0;
+}
+.popup .close span:after {
+  text-indent: 0;
+  display: block;
+  margin: 0;
+}
+.popup .title {
+  font-size: 18px;
+  margin: 0 0 30px;
+}
diff --git a/app/design/frontend/magento_plushe/fonts/.htaccess b/app/design/frontend/magento_plushe/fonts/.htaccess
new file mode 100644
index 0000000000000000000000000000000000000000..d7ef2e0846f3540b53f8fdea30f721dd61a899cb
--- /dev/null
+++ b/app/design/frontend/magento_plushe/fonts/.htaccess
@@ -0,0 +1,13 @@
+# deny *everything*
+<FilesMatch ".*">
+  Order Allow,Deny
+  Deny from all
+</FilesMatch>
+
+# but now allow just *certain* necessary files:
+<FilesMatch ".*\.(js|JS|css|CSS|jpg|JPG|gif|GIF|png|PNG|swf|SWF|xsl|XSL|svg|eot|ttf|woff)$">
+  Order Allow,Deny
+  Allow from all
+</FilesMatch>
+
+IndexIgnore */*
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/fonts/icons/icons.dev.svg b/app/design/frontend/magento_plushe/fonts/icons/icons.dev.svg
new file mode 100644
index 0000000000000000000000000000000000000000..661704d2967fd064336e62489321f4876409c84f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/fonts/icons/icons.dev.svg
@@ -0,0 +1,99 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata>
+This is a custom SVG font generated by IcoMoon.
+<iconset grid="16"></iconset>
+</metadata>
+<defs>
+<font id="icons" horiz-adv-x="512" >
+<font-face units-per-em="512" ascent="480" descent="-32" />
+<missing-glyph horiz-adv-x="512" />
+<glyph class="hidden" unicode="&#xf000;" d="M0,480L 512 -32L0 -32 z" horiz-adv-x="0" />
+<glyph unicode="&#xe006;" d="M 323.52,366.72L 169.984,366.72L 93.216,268.192L 400.288,268.192 						zM 246.752,480L 182.88,383.872L 310.656,383.872 						zM 393.728,251.808L 99.808,251.808 c-13.088,0-23.712-10.624-23.712-23.776l0-236.256 C 76.096-21.344, 86.72-32, 99.808-32l 293.92,0 
+							c 13.056,0, 23.68,10.656, 23.68,23.776L 417.408,228.032 C 417.408,241.184, 406.784,251.808, 393.728,251.808z" data-tags="pencil" />
+<glyph unicode="&#xe007;" d="M0,243.648L 512,243.648L 512,204.32L0,204.32zM0,381.536L 512,381.536L 512,342.144L0,342.144zM0,105.824L 512,105.824L 512,66.496L0,66.496z" data-tags="menu" />
+<glyph unicode="&#xe008;" d="M 425.12,310.88C 425.12,404.256, 349.344,480, 256,480C 162.56,480, 86.88,404.256, 86.88,310.88c0-73.632, 47.040-136.256, 112.672-159.488l 15.232-49.504
+						L 256-32l 41.216,133.888l 15.232,49.504C 378.112,174.624, 425.12,237.248, 425.12,310.88z M 349.6,256.832L 256,202.816L 162.368,256.832L 162.368,364.896 L 256,418.944
+						l 93.6-54.016L 349.6,256.832 z" data-tags="location" />
+<glyph unicode="&#xe00a;" d="M 149.824-32L 262.304-32L 332.672,319.616L 220.128,319.616 				zM 357.248,450.432c-3.264,6.56-7.712,12-13.344,16.192c-5.664,4.256-11.936,7.488-19.008,9.856C 317.888,478.816, 310.592,480, 303.136,480
+					C 293.728,480, 284.928,478.24, 276.736,474.72s-15.36-8.096-21.44-13.728C 249.184,455.36, 244.384,448.704, 240.864,440.928
+					c-3.52-7.68-5.248-15.808-5.248-24.256c0-8.864, 1.632-16.64, 4.896-23.2c 3.264-6.56, 7.712-11.936, 13.344-16.192
+					c 5.632-4.192, 11.968-7.36, 19.008-9.504c 7.040-2.080, 14.304-3.168, 21.792-3.168c 19.264,0, 35.328,5.984, 48.192,17.984
+					c 12.928,11.936, 19.328,27.072, 19.328,45.344C 362.176,436.416, 360.544,443.904, 357.248,450.432z" data-tags="info" />
+<glyph unicode="&#xe00c;" d="M 368.032,304L 512,447.968L 96,447.968L 96,480L 32,480L 32,447.968L0,447.968L0,160L 32,160L 32-32L 96-32L 96,160L 512,160 
+											z" data-tags="flag" />
+<glyph unicode="&#xe00d;" d="M 512,275.2L 307.2,275.2L 307.2,480L 204.8,480L 204.8,275.2L0,275.2L0,172.8L 204.8,172.8L 204.8-32L 307.2-32L 307.2,172.8L 512,172.8 			z" data-tags="expand" />
+<glyph unicode="&#xe00e;" d="M 200.064,26.528c0,17.024, 5.376,31.040, 16.128,42.048c 10.752,10.976, 24.16,16.544, 40.192,16.544s 29.312-5.568, 39.744-16.544
+					c 10.56-11.040, 15.808-25.024, 15.808-42.048s-5.248-31.072-15.808-42.016C 285.696-26.528, 272.416-32, 256.384-32s-29.44,5.472-40.192,16.512
+					C 205.44-4.544, 200.064,9.504, 200.064,26.528z M 215.104,394.4L 212.8,480l 87.136,0 L 296.928,394.4l-12.064-256L 227.104,138.4 L 215.104,394.4z" data-tags="exclamation" />
+<glyph unicode="&#xe010;" d="M 256,46.624L0,401.376l 512,0 L 256,46.624z" data-tags="dropdown" />
+<glyph unicode="&#xe011;" d="M 512,275.2L 512,172.8 L0,172.8 L0,275.2 L 512,275.2 z" data-tags="collapse" />
+<glyph unicode="&#xe012;" d="M 512-3.296L 284.576,224.48L 511.168,451.328L 482.56,480L 255.936,253.12L 29.504,479.84L 0.864,451.168L 227.328,224.448L0-3.136L 28.64-31.84L 255.936,195.744L 483.392-32 			z" data-tags="close-thick" />
+<glyph unicode="&#xe013;" d="M 44.384,252.768L 182.72,89.568L 459.552,480L 505.696,427.488L 183.904-32L 6.304,197.152 		z" data-tags="checkmark" />
+<glyph unicode="&#xe014;" d="M 480,320L 96,384C 90.784,384, 86.048,382.464, 81.728,380.256L 79.36,388.384C 78.624,391.008, 77.248,393.376, 75.328,395.328l-32,32
+					c-6.24,6.24-16.384,6.24-22.624,0s-6.24-16.384,0-22.624l 29.056-29.056L 110.912,161.6l-29.216-58.432
+					c-2.496-4.96-2.208-10.848, 0.672-15.552C 85.312,82.88, 90.432,80, 96,80l 48,0 l0-20.896 C 134.624,53.536, 128,43.712, 128,32
+					c0-17.696, 14.304-32, 32-32s 32,14.304, 32,32c0,11.712-6.624,21.536-16,27.104L 176,80 l 192,0 l0-20.896 C 358.592,53.536, 352,43.712, 352,32
+					c0-17.696, 14.304-32, 32-32s 32,14.304, 32,32c0,11.712-6.592,21.536-16,27.104L 400,80 L 448,80 c 8.832,0, 16,7.168, 16,16s-7.168,16-16,16L 121.888,112 
+					l 20.448,40.832c 1.792,3.584, 2.176,7.68, 1.056,11.552l-0.32,1.12C 148.064,162.336, 153.632,160, 160,160l 288,0 c 17.696,0, 32,14.304, 32,32l 32,96
+					C 512,305.696, 497.696,320, 480,320z" data-tags="cart" />
+<glyph unicode="&#xe015;" d="M 512,132.864L 267.552,315.072L 267.616,315.136L 255.968,323.776L0,132.96L 11.616,124.288L 255.936,306.432L 500.352,124.224 			z" data-tags="arrow-up-thin" />
+<glyph unicode="&#xe016;" d="M 164.864-32L 347.072,212.448L 347.136,212.384L 355.776,224.032L 164.96,480L 156.288,468.384L 338.432,224.064L 156.224-20.352 			z" data-tags="arrow-right-thin" />
+<glyph unicode="&#xe017;" d="M 347.136,480L 164.928,235.552L 164.864,235.616L 156.224,223.968L 347.040-32L 355.712-20.384L 173.568,223.936L 355.776,468.352 			z" data-tags="arrow-left-thin" />
+<glyph unicode="&#xe018;" d="M0,315.136L 244.448,132.928L 244.384,132.864L 256.032,124.224L 512,315.040L 500.384,323.712L 256.064,141.568L 11.648,323.776 			z" data-tags="arrow-down-thin" />
+<glyph unicode="&#xe019;" d="M 256,382.944L 255.968,382.976L0,127.008L 62.048,64.96L 256.032,258.912L 449.984,65.024L 512,127.072L 256.064,383.040 			z" data-tags="arrow-up-thick" />
+<glyph unicode="&#xe01a;" d="M 414.944,224L 414.976,224.032L 159.008,480L 96.96,417.952L 290.912,223.968L 97.024,30.016L 159.072-32L 415.040,223.936 			z" data-tags="arrow-right-thick" />
+<glyph unicode="&#xe01b;" d="M 97.056,224L 97.024,223.968L 352.992-32L 415.040,30.048L 221.088,224.032L 414.976,417.984L 352.928,480L 96.96,224.064 			z" data-tags="arrow-left-thick" />
+<glyph unicode="&#xe01c;" d="M 256,65.056L 256.032,65.024L 512,320.992L 449.952,383.040L 255.968,189.088L 62.016,382.976L0,320.928L 255.936,64.96 			z" data-tags="arrow-down-thick" />
+<glyph unicode="&#xe01d;" d="M 48,384L 240,384L 240,206.784L 48,206.784zM 48,177.216L 240,177.216L 240,0L 48,0zM 272,384L 464,384L 464,206.784L 272,206.784zM 272,177.216L 464,177.216L 464,0L 272,0zM 283.84,353.184l 156.992,42.784l-8.448,30.88L 381.44,412.928c 8.384,7.2, 15.040,14.88, 18.944,22.944
+						c 5.12,10.56, 5.728,21.536, 1.728,31.744l-3.52,5.76L 394.592,476.16l-6.208,2.592c-57.024,10.56-109.024-48.96-132.416-80.992
+						c-23.36,32-75.36,91.52-132.416,80.992L 111.616,472.16L 109.888,467.616C 105.888,457.376, 106.464,446.4, 111.552,435.872
+						c 3.936-8.064, 10.56-15.712, 18.88-22.88l-50.88,13.856L 71.168,395.968l 156.96-42.784L 222.24,343.2l 20.16,6.112l 8.544-2.304l 8.032-0.576
+						l 10.592,2.88l 20.192-6.112L 283.84,353.184z M 370.528,447.936C 361.856,433.696, 332.64,417.28, 301.76,404
+						C 321.12,425.472, 346.080,446.016, 370.528,447.936z M 210.24,404C 179.36,417.248, 150.112,433.632, 141.44,447.936C 165.888,446.016, 190.88,425.44, 210.24,404
+						z" data-tags="wishlist" />
+<glyph unicode="&#xe01e;" d="M 61.135-4.221l 14.485,68.604l-9.772,0 c-36.307,0-65.846,29.536-65.846,65.841L 0.002,382.309 
+			c0,36.306, 29.539,65.843, 65.846,65.843l 380.303,0 c 36.309,0, 65.845-29.538, 65.845-65.843l0-252.084 
+			c0-36.305-29.536-65.841-65.845-65.841L 169.429,64.384 L 61.135-4.221z" data-tags="comment" />
+<glyph unicode="&#xe01f;" d="M 342.569,64.384L 65.847,64.384 c-36.309,0-65.845,29.536-65.845,65.841L 0.002,382.309 
+			c0,36.306, 29.536,65.843, 65.845,65.843L 446.15,448.152 c 36.307,0, 65.846-29.538, 65.846-65.843l0-252.084 
+			c0-36.305-29.539-65.841-65.846-65.841l-9.773,0 l 14.486-68.604L 342.569,64.384z" data-tags="comment-reflected" />
+<glyph unicode="&#xe002;" d="M0,480l 128.002,0 l0-128.002 L0,351.998 L0,480 zM 192.219,415.999l 319.777,0 l0-63.331 L 192.219,352.668 L 192.219,415.999 zM0,288.001l 128.002,0 l0-128.003 L0,159.998 L0,288.001 zM 192.219,224l 319.777,0 l0-63.33 L 192.219,160.67 L 192.219,224 zM 0.002,96.003l 128.002,0 L 128.004-32 L 0.002-32 L 0.002,96.003 zM 192.221,32.002l 319.775,0 l0-63.33 L 192.221-31.328 L 192.221,32.002 z" data-tags="list" />
+<glyph unicode="&#xe003;" d="M 0.002,480l 192,0 l0-192.002 l-192,0 L 0.002,480 zM0,160.002l 192,0 L 192-32 L0-32 L0,160.002 zM 319.996,160.002l 192,0 L 511.996-32 l-192,0 L 319.996,160.002 zM 320,480l 192,0 l0-192.002 L 320,287.998 L 320,480 z" data-tags="grid" />
+<glyph unicode="&#xe004;" d="M 30.832,438.23l 10.065,10.052l 439.399-439.4l-10.066-10.051
+			L 30.832,438.23zM 40.898-1.169l-10.066,10.051l 439.398,439.4l 10.066-10.052
+			L 40.898-1.169z" data-tags="close-thin" />
+<glyph unicode="&#xe000;" d="M 313.472,448.193c 0.342,1.637, 0.576,3.314, 0.576,5.122l0,3.258 
+					C 314.048,469.465, 303.515,480, 290.622,480l-52.776,0 c-12.867,0-23.453-10.535-23.453-23.427l0-3.258 c0-1.808, 0.262-3.485, 0.629-5.122
+					L 313.472,448.193 zM 412.972,415.662L 99.222,415.662 c-21.512-0.315-36.948-13.18-37.053-33.096l0-14.046 l 387.856,0 L 450.025,382.566 
+					C 449.894,402.482, 434.433,415.347, 412.972,415.662zM 117.265,12.796C 120.147-11.811, 142.762-32, 167.591-32l 177.011,0 
+					c 24.844,0, 47.459,20.189, 50.315,44.796l 36.895,307.077L 80.421,319.873 L 117.265,12.796z M 286.363,63.045l 21.814,188.044
+					c 1.312,11.241, 11.491,19.286, 22.721,18.002c 11.241-1.311, 19.299-11.478, 18.003-22.719l-21.816-188.045
+					c-1.219-10.443-10.075-18.134-20.334-18.134c-0.787,0-1.586,0.040-2.386,0.131C 293.123,41.635, 285.066,51.803, 286.363,63.045z
+					 M 180.693,269.091c 11.228,1.271, 21.409-6.761, 22.719-18.002l 21.814-188.044c 1.299-11.242-6.76-21.41-18.001-22.721
+					c-0.799-0.091-1.599-0.131-2.384-0.131c-10.26,0-19.117,7.69-20.334,18.134L 162.69,246.372
+					C 161.393,257.614, 169.451,267.781, 180.693,269.091z" data-tags="trash" />
+<glyph unicode="&#xe001;" d="M 256.542,192.229L 1.083,362.836L 1.083,64.5L 512,64.5L 512,362.805 					zM 256.542,277.081L 1.083,447.687L 512,447.687 					z" data-tags="envelope" />
+<glyph unicode="&#xe005;" d="M 508.064,23.328l-153.92,153.92c 21.12,31.040, 33.504,68.576, 33.504,108.928C 387.648,393.216, 300.864,480, 193.824,480C 86.784,480,0,393.216,0,286.176
+						c0-107.072, 86.784-193.856, 193.824-193.856c 40.384,0, 77.92,12.384, 108.928,33.504l 153.92-153.92c 5.248-5.248, 13.792-5.248, 19.040,0l 32.384,32.384
+						C 513.312,9.568, 513.312,18.080, 508.064,23.328z M 193.824,165.024c-66.88,0-121.12,54.24-121.12,121.152c0,66.88, 54.24,121.12, 121.12,121.12
+						c 66.912,0, 121.152-54.24, 121.152-121.12C 314.976,219.296, 260.704,165.024, 193.824,165.024z" data-tags="magnifying-glass" />
+<glyph unicode="&#xe02b;" d="M 119.995,223.983L 351.988,386.982L 351.996,61.018 					z" data-tags="arrow-right-filled" />
+<glyph unicode="&#xe02c;" d="M 255.982,87.996L 418.982,319.99L 93.018,319.998 					z" data-tags="arrow-bottom-filled" />
+<glyph unicode="&#xe02a;" d="M 392.004,223.983L 160.010,386.982L 160.002,61.018 					z" data-tags="arrow-left-filled" />
+<glyph unicode="&#xe029;" d="M 255.982,360.004L 418.982,128.010L 93.018,128.002 					z" data-tags="arrow-up-filled" />
+<glyph unicode="&#xe00b;" d="M 172.063,193.823L 217.844,193.823L 217.844,148.066L 172.063,148.066zM 236.52,132.598L 282.242,132.598L 282.242,86.848L 236.52,86.848zM 172.063,132.598L 217.844,132.598L 217.844,86.848L 172.063,86.848zM 172.063,255.050L 217.844,255.050L 217.844,209.319L 172.063,209.319zM 368.475,344.174c 10.469,0, 18.949,8.495, 18.949,18.977L 387.424,428.535 
+														c-0.001,10.481-8.481,18.964-18.949,18.964c-10.494,0-18.979-8.483-18.979-18.964l0-65.385 
+														C 349.5,352.669, 357.981,344.174, 368.475,344.174zM 144.372,344.174c 10.467,0, 18.946,8.495, 18.946,18.977L 163.318,428.535 
+														c0,10.481-8.479,18.964-18.946,18.964c-10.495,0-18.979-8.483-18.979-18.964l0-65.385 
+														C 125.395,352.669, 133.877,344.174, 144.372,344.174zM 107.603,193.823L 153.36,193.823L 153.36,148.066L 107.603,148.066zM 107.603,132.598L 153.36,132.598L 153.36,86.848L 107.603,86.848zM 236.52,193.823L 282.242,193.823L 282.242,148.066L 236.52,148.066zM 365.4,193.823L 411.155,193.823L 411.155,148.066L 365.4,148.066zM 365.4,255.050L 411.155,255.050L 411.155,209.319L 365.4,209.319zM 393.676,415.993l0-21.091 c 7.886-6.972, 12.886-17.154, 12.886-28.519
+														c0-21.040-17.044-38.116-38.088-38.116c-21.069,0-38.114,17.076-38.114,38.116c0,11.365, 5.001,21.547, 12.885,28.519
+														L 343.245,415.993 L 169.575,415.993 l0-21.091 c 7.885-6.972, 12.885-17.154, 12.885-28.519c0-21.040-17.044-38.116-38.087-38.116
+														c-21.070,0-38.114,17.076-38.114,38.116c0,11.365, 5,21.547, 12.884,28.519L 119.143,415.993 L 32.91,415.993 l0-416.021 l 447.103,0 L 480.013,415.993 L 393.676,415.993 z
+														 M 75.331,42.393L 75.331,307.647 l 363.134,0 l 0.001-265.254L 75.331,42.393 zM 236.52,255.050L 282.242,255.050L 282.242,209.319L 236.52,209.319zM 300.972,255.050L 346.727,255.050L 346.727,209.319L 300.972,209.319zM 300.972,132.598L 346.727,132.598L 346.727,86.848L 300.972,86.848zM 300.972,193.823L 346.727,193.823L 346.727,148.066L 300.972,148.066z" data-tags="calendar" />
+<glyph unicode="&#xe009;" d="M 512,281.475l-176.89,25.704L 256,467.47l-79.108-160.291L0,281.475l 128-124.769L 97.784-19.47L 256,63.709l 158.216-83.179
+	l-30.217,176.176L 512,281.475z M 256,103.251l-111.731-58.74l 21.338,124.415l-90.393,88.111l 124.92,18.152L 256,388.387l 55.868-113.198
+	l 124.918-18.152l-90.394-88.111l 21.339-124.415L 256,103.251z" data-tags="star, rate, favorite, bookmark" />
+<glyph unicode="&#x20;" horiz-adv-x="256" />
+</font></defs></svg>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/fonts/icons/icons.eot b/app/design/frontend/magento_plushe/fonts/icons/icons.eot
new file mode 100644
index 0000000000000000000000000000000000000000..b84de058ea76322b80cd42136a032e484cecaa94
Binary files /dev/null and b/app/design/frontend/magento_plushe/fonts/icons/icons.eot differ
diff --git a/app/design/frontend/magento_plushe/fonts/icons/icons.svg b/app/design/frontend/magento_plushe/fonts/icons/icons.svg
new file mode 100644
index 0000000000000000000000000000000000000000..560b55877c2c6470837afec98aabbc17e19f6cb5
--- /dev/null
+++ b/app/design/frontend/magento_plushe/fonts/icons/icons.svg
@@ -0,0 +1,99 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata>
+This is a custom SVG font generated by IcoMoon.
+<iconset grid="16"></iconset>
+</metadata>
+<defs>
+<font id="icons" horiz-adv-x="512" >
+<font-face units-per-em="512" ascent="480" descent="-32" />
+<missing-glyph horiz-adv-x="512" />
+<glyph class="hidden" unicode="&#xf000;" d="M0,480L 512 -32L0 -32 z" horiz-adv-x="0" />
+<glyph unicode="&#xe006;" d="M 323.52,366.72L 169.984,366.72L 93.216,268.192L 400.288,268.192 						zM 246.752,480L 182.88,383.872L 310.656,383.872 						zM 393.728,251.808L 99.808,251.808 c-13.088,0-23.712-10.624-23.712-23.776l0-236.256 C 76.096-21.344, 86.72-32, 99.808-32l 293.92,0 
+							c 13.056,0, 23.68,10.656, 23.68,23.776L 417.408,228.032 C 417.408,241.184, 406.784,251.808, 393.728,251.808z"  />
+<glyph unicode="&#xe007;" d="M0,243.648L 512,243.648L 512,204.32L0,204.32zM0,381.536L 512,381.536L 512,342.144L0,342.144zM0,105.824L 512,105.824L 512,66.496L0,66.496z"  />
+<glyph unicode="&#xe008;" d="M 425.12,310.88C 425.12,404.256, 349.344,480, 256,480C 162.56,480, 86.88,404.256, 86.88,310.88c0-73.632, 47.040-136.256, 112.672-159.488l 15.232-49.504
+						L 256-32l 41.216,133.888l 15.232,49.504C 378.112,174.624, 425.12,237.248, 425.12,310.88z M 349.6,256.832L 256,202.816L 162.368,256.832L 162.368,364.896 L 256,418.944
+						l 93.6-54.016L 349.6,256.832 z"  />
+<glyph unicode="&#xe00a;" d="M 149.824-32L 262.304-32L 332.672,319.616L 220.128,319.616 				zM 357.248,450.432c-3.264,6.56-7.712,12-13.344,16.192c-5.664,4.256-11.936,7.488-19.008,9.856C 317.888,478.816, 310.592,480, 303.136,480
+					C 293.728,480, 284.928,478.24, 276.736,474.72s-15.36-8.096-21.44-13.728C 249.184,455.36, 244.384,448.704, 240.864,440.928
+					c-3.52-7.68-5.248-15.808-5.248-24.256c0-8.864, 1.632-16.64, 4.896-23.2c 3.264-6.56, 7.712-11.936, 13.344-16.192
+					c 5.632-4.192, 11.968-7.36, 19.008-9.504c 7.040-2.080, 14.304-3.168, 21.792-3.168c 19.264,0, 35.328,5.984, 48.192,17.984
+					c 12.928,11.936, 19.328,27.072, 19.328,45.344C 362.176,436.416, 360.544,443.904, 357.248,450.432z"  />
+<glyph unicode="&#xe00c;" d="M 368.032,304L 512,447.968L 96,447.968L 96,480L 32,480L 32,447.968L0,447.968L0,160L 32,160L 32-32L 96-32L 96,160L 512,160 
+											z"  />
+<glyph unicode="&#xe00d;" d="M 512,275.2L 307.2,275.2L 307.2,480L 204.8,480L 204.8,275.2L0,275.2L0,172.8L 204.8,172.8L 204.8-32L 307.2-32L 307.2,172.8L 512,172.8 			z"  />
+<glyph unicode="&#xe00e;" d="M 200.064,26.528c0,17.024, 5.376,31.040, 16.128,42.048c 10.752,10.976, 24.16,16.544, 40.192,16.544s 29.312-5.568, 39.744-16.544
+					c 10.56-11.040, 15.808-25.024, 15.808-42.048s-5.248-31.072-15.808-42.016C 285.696-26.528, 272.416-32, 256.384-32s-29.44,5.472-40.192,16.512
+					C 205.44-4.544, 200.064,9.504, 200.064,26.528z M 215.104,394.4L 212.8,480l 87.136,0 L 296.928,394.4l-12.064-256L 227.104,138.4 L 215.104,394.4z"  />
+<glyph unicode="&#xe010;" d="M 256,46.624L0,401.376l 512,0 L 256,46.624z"  />
+<glyph unicode="&#xe011;" d="M 512,275.2L 512,172.8 L0,172.8 L0,275.2 L 512,275.2 z"  />
+<glyph unicode="&#xe012;" d="M 512-3.296L 284.576,224.48L 511.168,451.328L 482.56,480L 255.936,253.12L 29.504,479.84L 0.864,451.168L 227.328,224.448L0-3.136L 28.64-31.84L 255.936,195.744L 483.392-32 			z"  />
+<glyph unicode="&#xe013;" d="M 44.384,252.768L 182.72,89.568L 459.552,480L 505.696,427.488L 183.904-32L 6.304,197.152 		z"  />
+<glyph unicode="&#xe014;" d="M 480,320L 96,384C 90.784,384, 86.048,382.464, 81.728,380.256L 79.36,388.384C 78.624,391.008, 77.248,393.376, 75.328,395.328l-32,32
+					c-6.24,6.24-16.384,6.24-22.624,0s-6.24-16.384,0-22.624l 29.056-29.056L 110.912,161.6l-29.216-58.432
+					c-2.496-4.96-2.208-10.848, 0.672-15.552C 85.312,82.88, 90.432,80, 96,80l 48,0 l0-20.896 C 134.624,53.536, 128,43.712, 128,32
+					c0-17.696, 14.304-32, 32-32s 32,14.304, 32,32c0,11.712-6.624,21.536-16,27.104L 176,80 l 192,0 l0-20.896 C 358.592,53.536, 352,43.712, 352,32
+					c0-17.696, 14.304-32, 32-32s 32,14.304, 32,32c0,11.712-6.592,21.536-16,27.104L 400,80 L 448,80 c 8.832,0, 16,7.168, 16,16s-7.168,16-16,16L 121.888,112 
+					l 20.448,40.832c 1.792,3.584, 2.176,7.68, 1.056,11.552l-0.32,1.12C 148.064,162.336, 153.632,160, 160,160l 288,0 c 17.696,0, 32,14.304, 32,32l 32,96
+					C 512,305.696, 497.696,320, 480,320z"  />
+<glyph unicode="&#xe015;" d="M 512,132.864L 267.552,315.072L 267.616,315.136L 255.968,323.776L0,132.96L 11.616,124.288L 255.936,306.432L 500.352,124.224 			z"  />
+<glyph unicode="&#xe016;" d="M 164.864-32L 347.072,212.448L 347.136,212.384L 355.776,224.032L 164.96,480L 156.288,468.384L 338.432,224.064L 156.224-20.352 			z"  />
+<glyph unicode="&#xe017;" d="M 347.136,480L 164.928,235.552L 164.864,235.616L 156.224,223.968L 347.040-32L 355.712-20.384L 173.568,223.936L 355.776,468.352 			z"  />
+<glyph unicode="&#xe018;" d="M0,315.136L 244.448,132.928L 244.384,132.864L 256.032,124.224L 512,315.040L 500.384,323.712L 256.064,141.568L 11.648,323.776 			z"  />
+<glyph unicode="&#xe019;" d="M 256,382.944L 255.968,382.976L0,127.008L 62.048,64.96L 256.032,258.912L 449.984,65.024L 512,127.072L 256.064,383.040 			z"  />
+<glyph unicode="&#xe01a;" d="M 414.944,224L 414.976,224.032L 159.008,480L 96.96,417.952L 290.912,223.968L 97.024,30.016L 159.072-32L 415.040,223.936 			z"  />
+<glyph unicode="&#xe01b;" d="M 97.056,224L 97.024,223.968L 352.992-32L 415.040,30.048L 221.088,224.032L 414.976,417.984L 352.928,480L 96.96,224.064 			z"  />
+<glyph unicode="&#xe01c;" d="M 256,65.056L 256.032,65.024L 512,320.992L 449.952,383.040L 255.968,189.088L 62.016,382.976L0,320.928L 255.936,64.96 			z"  />
+<glyph unicode="&#xe01d;" d="M 48,384L 240,384L 240,206.784L 48,206.784zM 48,177.216L 240,177.216L 240,0L 48,0zM 272,384L 464,384L 464,206.784L 272,206.784zM 272,177.216L 464,177.216L 464,0L 272,0zM 283.84,353.184l 156.992,42.784l-8.448,30.88L 381.44,412.928c 8.384,7.2, 15.040,14.88, 18.944,22.944
+						c 5.12,10.56, 5.728,21.536, 1.728,31.744l-3.52,5.76L 394.592,476.16l-6.208,2.592c-57.024,10.56-109.024-48.96-132.416-80.992
+						c-23.36,32-75.36,91.52-132.416,80.992L 111.616,472.16L 109.888,467.616C 105.888,457.376, 106.464,446.4, 111.552,435.872
+						c 3.936-8.064, 10.56-15.712, 18.88-22.88l-50.88,13.856L 71.168,395.968l 156.96-42.784L 222.24,343.2l 20.16,6.112l 8.544-2.304l 8.032-0.576
+						l 10.592,2.88l 20.192-6.112L 283.84,353.184z M 370.528,447.936C 361.856,433.696, 332.64,417.28, 301.76,404
+						C 321.12,425.472, 346.080,446.016, 370.528,447.936z M 210.24,404C 179.36,417.248, 150.112,433.632, 141.44,447.936C 165.888,446.016, 190.88,425.44, 210.24,404
+						z"  />
+<glyph unicode="&#xe01e;" d="M 61.135-4.221l 14.485,68.604l-9.772,0 c-36.307,0-65.846,29.536-65.846,65.841L 0.002,382.309 
+			c0,36.306, 29.539,65.843, 65.846,65.843l 380.303,0 c 36.309,0, 65.845-29.538, 65.845-65.843l0-252.084 
+			c0-36.305-29.536-65.841-65.845-65.841L 169.429,64.384 L 61.135-4.221z"  />
+<glyph unicode="&#xe01f;" d="M 342.569,64.384L 65.847,64.384 c-36.309,0-65.845,29.536-65.845,65.841L 0.002,382.309 
+			c0,36.306, 29.536,65.843, 65.845,65.843L 446.15,448.152 c 36.307,0, 65.846-29.538, 65.846-65.843l0-252.084 
+			c0-36.305-29.539-65.841-65.846-65.841l-9.773,0 l 14.486-68.604L 342.569,64.384z"  />
+<glyph unicode="&#xe002;" d="M0,480l 128.002,0 l0-128.002 L0,351.998 L0,480 zM 192.219,415.999l 319.777,0 l0-63.331 L 192.219,352.668 L 192.219,415.999 zM0,288.001l 128.002,0 l0-128.003 L0,159.998 L0,288.001 zM 192.219,224l 319.777,0 l0-63.33 L 192.219,160.67 L 192.219,224 zM 0.002,96.003l 128.002,0 L 128.004-32 L 0.002-32 L 0.002,96.003 zM 192.221,32.002l 319.775,0 l0-63.33 L 192.221-31.328 L 192.221,32.002 z"  />
+<glyph unicode="&#xe003;" d="M 0.002,480l 192,0 l0-192.002 l-192,0 L 0.002,480 zM0,160.002l 192,0 L 192-32 L0-32 L0,160.002 zM 319.996,160.002l 192,0 L 511.996-32 l-192,0 L 319.996,160.002 zM 320,480l 192,0 l0-192.002 L 320,287.998 L 320,480 z"  />
+<glyph unicode="&#xe004;" d="M 30.832,438.23l 10.065,10.052l 439.399-439.4l-10.066-10.051
+			L 30.832,438.23zM 40.898-1.169l-10.066,10.051l 439.398,439.4l 10.066-10.052
+			L 40.898-1.169z"  />
+<glyph unicode="&#xe000;" d="M 313.472,448.193c 0.342,1.637, 0.576,3.314, 0.576,5.122l0,3.258 
+					C 314.048,469.465, 303.515,480, 290.622,480l-52.776,0 c-12.867,0-23.453-10.535-23.453-23.427l0-3.258 c0-1.808, 0.262-3.485, 0.629-5.122
+					L 313.472,448.193 zM 412.972,415.662L 99.222,415.662 c-21.512-0.315-36.948-13.18-37.053-33.096l0-14.046 l 387.856,0 L 450.025,382.566 
+					C 449.894,402.482, 434.433,415.347, 412.972,415.662zM 117.265,12.796C 120.147-11.811, 142.762-32, 167.591-32l 177.011,0 
+					c 24.844,0, 47.459,20.189, 50.315,44.796l 36.895,307.077L 80.421,319.873 L 117.265,12.796z M 286.363,63.045l 21.814,188.044
+					c 1.312,11.241, 11.491,19.286, 22.721,18.002c 11.241-1.311, 19.299-11.478, 18.003-22.719l-21.816-188.045
+					c-1.219-10.443-10.075-18.134-20.334-18.134c-0.787,0-1.586,0.040-2.386,0.131C 293.123,41.635, 285.066,51.803, 286.363,63.045z
+					 M 180.693,269.091c 11.228,1.271, 21.409-6.761, 22.719-18.002l 21.814-188.044c 1.299-11.242-6.76-21.41-18.001-22.721
+					c-0.799-0.091-1.599-0.131-2.384-0.131c-10.26,0-19.117,7.69-20.334,18.134L 162.69,246.372
+					C 161.393,257.614, 169.451,267.781, 180.693,269.091z"  />
+<glyph unicode="&#xe001;" d="M 256.542,192.229L 1.083,362.836L 1.083,64.5L 512,64.5L 512,362.805 					zM 256.542,277.081L 1.083,447.687L 512,447.687 					z"  />
+<glyph unicode="&#xe005;" d="M 508.064,23.328l-153.92,153.92c 21.12,31.040, 33.504,68.576, 33.504,108.928C 387.648,393.216, 300.864,480, 193.824,480C 86.784,480,0,393.216,0,286.176
+						c0-107.072, 86.784-193.856, 193.824-193.856c 40.384,0, 77.92,12.384, 108.928,33.504l 153.92-153.92c 5.248-5.248, 13.792-5.248, 19.040,0l 32.384,32.384
+						C 513.312,9.568, 513.312,18.080, 508.064,23.328z M 193.824,165.024c-66.88,0-121.12,54.24-121.12,121.152c0,66.88, 54.24,121.12, 121.12,121.12
+						c 66.912,0, 121.152-54.24, 121.152-121.12C 314.976,219.296, 260.704,165.024, 193.824,165.024z"  />
+<glyph unicode="&#xe02b;" d="M 119.995,223.983L 351.988,386.982L 351.996,61.018 					z"  />
+<glyph unicode="&#xe02c;" d="M 255.982,87.996L 418.982,319.99L 93.018,319.998 					z"  />
+<glyph unicode="&#xe02a;" d="M 392.004,223.983L 160.010,386.982L 160.002,61.018 					z"  />
+<glyph unicode="&#xe029;" d="M 255.982,360.004L 418.982,128.010L 93.018,128.002 					z"  />
+<glyph unicode="&#xe00b;" d="M 172.063,193.823L 217.844,193.823L 217.844,148.066L 172.063,148.066zM 236.52,132.598L 282.242,132.598L 282.242,86.848L 236.52,86.848zM 172.063,132.598L 217.844,132.598L 217.844,86.848L 172.063,86.848zM 172.063,255.050L 217.844,255.050L 217.844,209.319L 172.063,209.319zM 368.475,344.174c 10.469,0, 18.949,8.495, 18.949,18.977L 387.424,428.535 
+														c-0.001,10.481-8.481,18.964-18.949,18.964c-10.494,0-18.979-8.483-18.979-18.964l0-65.385 
+														C 349.5,352.669, 357.981,344.174, 368.475,344.174zM 144.372,344.174c 10.467,0, 18.946,8.495, 18.946,18.977L 163.318,428.535 
+														c0,10.481-8.479,18.964-18.946,18.964c-10.495,0-18.979-8.483-18.979-18.964l0-65.385 
+														C 125.395,352.669, 133.877,344.174, 144.372,344.174zM 107.603,193.823L 153.36,193.823L 153.36,148.066L 107.603,148.066zM 107.603,132.598L 153.36,132.598L 153.36,86.848L 107.603,86.848zM 236.52,193.823L 282.242,193.823L 282.242,148.066L 236.52,148.066zM 365.4,193.823L 411.155,193.823L 411.155,148.066L 365.4,148.066zM 365.4,255.050L 411.155,255.050L 411.155,209.319L 365.4,209.319zM 393.676,415.993l0-21.091 c 7.886-6.972, 12.886-17.154, 12.886-28.519
+														c0-21.040-17.044-38.116-38.088-38.116c-21.069,0-38.114,17.076-38.114,38.116c0,11.365, 5.001,21.547, 12.885,28.519
+														L 343.245,415.993 L 169.575,415.993 l0-21.091 c 7.885-6.972, 12.885-17.154, 12.885-28.519c0-21.040-17.044-38.116-38.087-38.116
+														c-21.070,0-38.114,17.076-38.114,38.116c0,11.365, 5,21.547, 12.884,28.519L 119.143,415.993 L 32.91,415.993 l0-416.021 l 447.103,0 L 480.013,415.993 L 393.676,415.993 z
+														 M 75.331,42.393L 75.331,307.647 l 363.134,0 l 0.001-265.254L 75.331,42.393 zM 236.52,255.050L 282.242,255.050L 282.242,209.319L 236.52,209.319zM 300.972,255.050L 346.727,255.050L 346.727,209.319L 300.972,209.319zM 300.972,132.598L 346.727,132.598L 346.727,86.848L 300.972,86.848zM 300.972,193.823L 346.727,193.823L 346.727,148.066L 300.972,148.066z"  />
+<glyph unicode="&#xe009;" d="M 512,281.475l-176.89,25.704L 256,467.47l-79.108-160.291L0,281.475l 128-124.769L 97.784-19.47L 256,63.709l 158.216-83.179
+	l-30.217,176.176L 512,281.475z M 256,103.251l-111.731-58.74l 21.338,124.415l-90.393,88.111l 124.92,18.152L 256,388.387l 55.868-113.198
+	l 124.918-18.152l-90.394-88.111l 21.339-124.415L 256,103.251z"  />
+<glyph unicode="&#x20;" horiz-adv-x="256" />
+</font></defs></svg>
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/fonts/icons/icons.ttf b/app/design/frontend/magento_plushe/fonts/icons/icons.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..04a1a990a5d25257d63f15ec14c1ff9dfe6c3f3c
Binary files /dev/null and b/app/design/frontend/magento_plushe/fonts/icons/icons.ttf differ
diff --git a/app/design/frontend/magento_plushe/fonts/icons/icons.woff b/app/design/frontend/magento_plushe/fonts/icons/icons.woff
new file mode 100644
index 0000000000000000000000000000000000000000..02d652643c34809751145ece996f0b780809ef9e
Binary files /dev/null and b/app/design/frontend/magento_plushe/fonts/icons/icons.woff differ
diff --git a/app/design/frontend/magento_plushe/fonts/marvel/OFL.txt b/app/design/frontend/magento_plushe/fonts/marvel/OFL.txt
new file mode 100644
index 0000000000000000000000000000000000000000..077aee25e6b01da46726c618adeb9a15bfc82f8f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/fonts/marvel/OFL.txt
@@ -0,0 +1,93 @@
+Copyright (c) 2011, Carolina Trebol <ca@fromzero.org>,
+with Reserved Font Name "Marvel".
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded, 
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/app/design/frontend/magento_plushe/fonts/marvel/marvel-400-normal-webfont.eot b/app/design/frontend/magento_plushe/fonts/marvel/marvel-400-normal-webfont.eot
new file mode 100644
index 0000000000000000000000000000000000000000..59d0da2feff215219a5cec8bc37c7b2cb3ab8321
Binary files /dev/null and b/app/design/frontend/magento_plushe/fonts/marvel/marvel-400-normal-webfont.eot differ
diff --git a/app/design/frontend/magento_plushe/fonts/marvel/marvel-400-normal-webfont.svg b/app/design/frontend/magento_plushe/fonts/marvel/marvel-400-normal-webfont.svg
new file mode 100644
index 0000000000000000000000000000000000000000..864d374918c1a2292f9d63465530a45c5c3445ac
--- /dev/null
+++ b/app/design/frontend/magento_plushe/fonts/marvel/marvel-400-normal-webfont.svg
@@ -0,0 +1,213 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata></metadata>
+<defs>
+<font id="marvelregular" horiz-adv-x="856" >
+<font-face units-per-em="2048" ascent="1638" descent="-410" />
+<missing-glyph horiz-adv-x="430" />
+<glyph horiz-adv-x="2048" />
+<glyph horiz-adv-x="2048" />
+<glyph unicode="&#xd;" horiz-adv-x="1024" />
+<glyph unicode=" "  horiz-adv-x="430" />
+<glyph unicode="&#x09;" horiz-adv-x="430" />
+<glyph unicode="&#xa0;" horiz-adv-x="430" />
+<glyph unicode="!" horiz-adv-x="391" d="M141 2v184h109v-184h-109zM143 289v1145h107v-1145h-107z" />
+<glyph unicode="&#x22;" horiz-adv-x="638" d="M76 1163q35 16 61.5 54t26.5 112v105h119v-107q0 -115 -47.5 -184.5t-124.5 -102.5zM344 1163q35 16 61.5 54t26.5 112v105h119v-107q0 -115 -47 -184.5t-125 -102.5z" />
+<glyph unicode="$" horiz-adv-x="964" d="M96 133l41 113q104 -47 167 -73t98.5 -38t54 -15t39.5 -3q57 0 106 21.5t86 58t57.5 88t20.5 112.5q0 63 -24.5 110.5t-63.5 79t-88 47t-98 15.5q-82 0 -154 28t-126 78t-85 118.5t-31 150.5q0 76 24.5 143.5t67.5 120.5t102.5 89t127.5 48v140h112v-142q23 -4 45.5 -11 t38.5 -13l174 -72l-38 -115q-23 10 -58 26.5t-73.5 33t-76.5 28t-69 11.5q-55 0 -102 -22.5t-81 -61.5t-53.5 -90.5t-19.5 -106.5q0 -63 23.5 -111.5t61.5 -80t87 -47t103 -15.5q82 0 153.5 -27.5t124.5 -76.5t84 -119t31 -152q0 -80 -27 -150.5t-75 -123.5t-112.5 -87 t-140.5 -40v-150h-112v156q-49 16 -99.5 34.5t-93.5 36t-76.5 33t-52.5 23.5z" />
+<glyph unicode="&#x26;" horiz-adv-x="1226" d="M63 391q0 111 52.5 188.5t146.5 133.5l115 67l-107 119q-53 59 -76.5 114.5t-23.5 125.5q0 68 25.5 127t70.5 102t108.5 68.5t137.5 25.5q72 0 135.5 -22.5t110.5 -64.5t74.5 -102.5t27.5 -133.5q0 -104 -47 -173t-131 -118l-152 -90l385 -416q45 80 60.5 177t15.5 216 h99q0 -57 -5.5 -120.5t-16.5 -126t-31.5 -121t-51.5 -103.5l225 -264h-131l-149 182q-78 -92 -188.5 -146t-247.5 -54q-90 0 -168 28.5t-136.5 81.5t-92.5 129t-34 170zM176 393q0 -68 25.5 -124t68.5 -95t100.5 -60.5t123.5 -21.5q123 0 209 46t149 126l-408 436l-112 -65 q-72 -43 -114 -101.5t-42 -140.5zM279 1139q0 -27 8 -51.5t28.5 -58.5t57.5 -80t94 -115l162 100q59 37 93 88t34 117q0 104 -70 164.5t-174 60.5q-47 0 -90 -16.5t-75 -45t-50 -70.5t-18 -93zM930 182l149 -182z" />
+<glyph unicode="'" horiz-adv-x="370" d="M76 1163q35 16 61.5 54t26.5 112v105h119v-107q0 -115 -47.5 -184.5t-124.5 -102.5z" />
+<glyph unicode="(" horiz-adv-x="473" d="M125 168v1100q0 72 18.5 123t51 82.5t76.5 47t96 15.5h36v-111h-26q-59 0 -101.5 -31.5t-42.5 -115.5v-1120q0 -84 42 -116t102 -32h26v-110h-36q-51 0 -95.5 15t-77 47t-51 83t-18.5 123z" />
+<glyph unicode=")" horiz-adv-x="473" d="M68 8h26q57 0 100.5 32t43.5 116l2 1122q0 84 -43 115.5t-101 31.5h-26v111h36q51 0 95.5 -15.5t77 -47t51 -83t18.5 -122.5l-2 -1102q0 -72 -18.5 -123t-51 -83t-76.5 -47t-96 -15h-36v110z" />
+<glyph unicode="*" horiz-adv-x="815" d="M104 537l226 122l-226 123l46 76l219 -131l-7 258h91l-9 -258l224 131l43 -76l-226 -123l226 -122l-43 -78l-224 133l9 -258h-91l7 258l-219 -133z" />
+<glyph unicode="+" horiz-adv-x="878" d="M92 481v133h281v281h133v-281h280v-133h-280v-280h-133v280h-281z" />
+<glyph unicode="," horiz-adv-x="350" d="M31 -66q35 16 61.5 54.5t26.5 111.5v105h119v-107q0 -115 -47.5 -184.5t-124.5 -101.5z" />
+<glyph unicode="-" horiz-adv-x="741" d="M125 662v131h491v-131h-491z" />
+<glyph unicode="." horiz-adv-x="370" d="M115 10v180h141v-180h-141z" />
+<glyph unicode="/" horiz-adv-x="528" d="M100 2l207 1430h123l-207 -1430h-123z" />
+<glyph unicode="0" horiz-adv-x="892" d="M141 262v799q0 59 21.5 110.5t58.5 89t86 59t107 21.5h67q55 0 104.5 -21.5t86.5 -59t58.5 -89t21.5 -110.5v-799q0 -59 -21.5 -110.5t-58.5 -89t-86 -59t-107 -21.5h-67q-57 0 -106.5 21.5t-86.5 59t-57.5 89t-20.5 110.5zM246 268q0 -74 48 -126t120 -52h65 q70 0 119 52.5t49 125.5v793q0 82 -57.5 126t-132.5 44q-43 0 -81 -8.5t-66.5 -28.5t-46 -52t-17.5 -81v-793z" />
+<glyph unicode="1" horiz-adv-x="430" d="M160 2v1274l108 55v-1329h-108z" />
+<glyph unicode="2" horiz-adv-x="813" d="M70 1249l155 64q31 12 73 20t73 10q72 0 133 -30.5t105 -82.5t70 -121t26 -148q0 -72 -13.5 -131.5t-62.5 -124.5q-55 -96 -122 -201t-124 -191q-68 -102 -135 -198h452v-115h-569v133l401 617q35 47 47.5 96t14.5 108q-2 55 -19.5 105.5t-46 88.5t-69.5 60.5t-92 22.5 q-10 0 -23.5 -3t-40.5 -12.5t-72 -27t-114 -45.5z" />
+<glyph unicode="3" horiz-adv-x="845" d="M94 1249l146 60q31 14 80 24t77 10q74 -2 133.5 -30.5t101.5 -77.5t64.5 -116.5t22.5 -147.5q0 -84 -28.5 -148.5t-106.5 -134.5q47 -35 73.5 -75t40 -82t16.5 -86t3 -85q0 -80 -25.5 -148.5t-69.5 -119.5t-105.5 -81.5t-133.5 -30.5q-31 2 -72 10t-73 20l-142 56l29 110 l168 -72q20 -8 42.5 -14t43.5 -6q51 0 93 23.5t72.5 63.5t49 91t20.5 107q0 55 -13 104t-39.5 87t-69.5 60.5t-103 22.5h-117v100h119q121 0 171 69t52 177q-2 55 -23.5 100.5t-53 77t-70.5 49t-76 17.5q-20 0 -51 -5t-51 -16l-150 -67z" />
+<glyph unicode="4" horiz-adv-x="804" d="M66 399v121l309 811h112l-303 -821h400v233h108v-743h-108v399h-518z" />
+<glyph unicode="5" horiz-adv-x="872" d="M125 63l37 117q51 -23 102 -39q43 -14 92.5 -25.5t89.5 -11.5q57 0 97.5 24t67 64.5t39 94t12.5 112.5v60q0 59 -12.5 112.5t-39 93.5t-67.5 63.5t-99 23.5h-315v579h533v-106h-412v-363h196q82 0 143.5 -30.5t102.5 -85t62.5 -128t21.5 -159.5v-60q0 -86 -20.5 -160.5 t-61.5 -132t-102.5 -90t-140.5 -32.5q-41 0 -97.5 12t-107.5 26.5t-86 27.5z" />
+<glyph unicode="6" horiz-adv-x="858" d="M141 266v766q0 68 24.5 125t67.5 99t101.5 64.5t124.5 22.5q10 0 40.5 -6t65.5 -14q39 -8 86 -20l-28 -97q-39 10 -74 19q-29 6 -55.5 12t-34.5 6q-88 0 -152.5 -57.5t-64.5 -153.5v-244q25 20 59.5 31.5t69.5 18t63.5 7.5t44.5 1q57 0 106.5 -22.5t86.5 -62.5 t58.5 -92.5t21.5 -111.5v-291q0 -59 -21.5 -110.5t-58.5 -89t-86.5 -59t-106.5 -21.5h-67q-55 0 -104.5 21.5t-86.5 59t-58.5 89t-21.5 110.5zM246 258q0 -88 60.5 -130t142.5 -42q39 0 74.5 9t63 30.5t44 53.5t16.5 79v305q0 74 -49 126t-119 52h-65q-70 0 -119 -52 t-49 -126v-305z" />
+<glyph unicode="7" horiz-adv-x="737" d="M70 1227v104h598v-133l-379 -1198h-117l383 1227h-485z" />
+<glyph unicode="8" horiz-adv-x="886" d="M137 256v174q0 78 38 139.5t99 92.5q-61 35 -99 99t-38 142v176q0 74 26.5 124t71 81t102.5 44t122 13q57 0 110.5 -18t93 -52t63.5 -82t24 -110v-176q0 -80 -39 -144.5t-103 -99.5q63 -33 102.5 -91t39.5 -138v-174q0 -55 -19.5 -105.5t-54.5 -88t-82 -59t-100 -21.5 h-99q-53 0 -100 21.5t-82 59t-55.5 88t-20.5 105.5zM242 262q0 -76 49 -129t121 -53h65q72 0 121 53t49 129v156q0 43 -17.5 75.5t-46 54t-65.5 32t-78 10.5q-80 0 -139 -41t-59 -131v-156zM242 909q0 -76 49 -129t121 -53h65q72 0 121 53.5t49 128.5v160q0 82 -57.5 127 t-134.5 45q-43 0 -81 -9t-68 -28.5t-47 -52.5t-17 -82v-160z" />
+<glyph unicode="9" horiz-adv-x="872" d="M121 797v266q0 59 21.5 110.5t58.5 89t86 59t106 21.5h68q55 0 104 -21.5t86 -59t58.5 -89t21.5 -110.5v-774q0 -68 -25.5 -125.5t-68.5 -99t-100.5 -64.5t-122.5 -23q-10 0 -56.5 10.5t-99.5 22.5q-61 14 -135 33l29 96q68 -18 122 -30q47 -12 89.5 -21.5t50.5 -9.5 q88 0 152.5 57.5t64.5 153.5v276q-20 -18 -53 -29.5t-68 -17.5t-66.5 -8t-50.5 -2q-57 0 -106 22.5t-86 62.5t-58.5 92t-21.5 112zM225 791q0 -74 48 -126.5t120 -52.5h66q70 0 119 52.5t49 126.5v280q0 82 -57.5 126t-133.5 44q-43 0 -81 -8t-66.5 -28.5t-46 -52.5 t-17.5 -81v-280z" />
+<glyph unicode=":" horiz-adv-x="393" d="M125 2v180h141v-180h-141zM127 657v185h141v-185h-141z" />
+<glyph unicode=";" horiz-adv-x="442" d="M63 -74q35 16 66 56.5t31 113.5v105h141v-107q0 -115 -47 -184.5t-125 -102.5zM160 657v185h141v-185h-141z" />
+<glyph unicode="&#x3c;" horiz-adv-x="1005" d="M109 532v175l749 174v-113l-340 -74q-31 -8 -77 -17t-89 -20q-51 -10 -104 -22v-41l32 -7q31 -7 74 -15.5t89 -18.5t77 -16l338 -76v-111z" />
+<glyph unicode="=" horiz-adv-x="985" d="M141 358v131h703v-131h-703zM141 758v131h703v-131h-703z" />
+<glyph unicode="&#x3e;" horiz-adv-x="1003" d="M147 360v111l338 76q31 6 77 16t89 18.5t75 15.5l32 7v41q-53 12 -105 23q-43 10 -89 19t-77 18l-340 73v113l750 -174v-174z" />
+<glyph unicode="?" horiz-adv-x="870" d="M72 1346l172 71q35 14 84 25.5t82 11.5q74 0 143.5 -25.5t121.5 -71.5t84 -110.5t32 -142.5q0 -66 -19.5 -113t-42.5 -82l-293 -440q-20 -29 -34.5 -60.5t-14.5 -78.5v-43h-119v41q0 72 17.5 119t42.5 81l278 418q23 35 45.5 76t22.5 80q0 53 -26.5 96t-66.5 72.5t-86 46 t-83 16.5q-25 0 -50.5 -6t-50.5 -16l-200 -76zM260 0h141v184h-141v-184z" />
+<glyph unicode="@" horiz-adv-x="1767" d="M92 668q0 188 59.5 344.5t169 269.5t264 175.5t345.5 62.5q158 0 295 -47.5t239.5 -137.5t162 -220t59.5 -294q0 -96 -24 -194.5t-71 -178t-121.5 -131t-175.5 -51.5q-70 0 -121 45t-63 117q-18 -35 -48 -64.5t-64.5 -50t-74.5 -32t-79 -11.5q-78 0 -138.5 30t-100.5 79 t-60.5 114.5t-20.5 137.5q0 84 25.5 163.5t74 143t119 101.5t162.5 38q72 0 134.5 -33.5t90.5 -101.5l27 117h76l-41 -541v-18q0 -66 28.5 -106t84.5 -40q70 0 124 40t88.5 106.5t53 150.5t18.5 170q0 143 -51 256t-140 191t-210 117.5t-258 39.5q-170 0 -306.5 -56 t-231.5 -156.5t-147 -239.5t-52 -305q0 -147 49 -278.5t139 -227.5t216 -152.5t277 -56.5q135 0 264.5 23.5t254.5 76.5v-96q-133 -57 -257 -77.5t-268 -20.5q-174 0 -317 62.5t-244.5 172t-158 257t-56.5 317.5zM623 631q0 -57 14 -107.5t42 -87.5t70 -58.5t99 -21.5 q72 0 122 35t81.5 87t46 116t14.5 123q0 53 -11 102t-38 87t-69 60.5t-103 22.5q-66 0 -116 -32.5t-84 -84t-51 -115t-17 -126.5z" />
+<glyph unicode="A" horiz-adv-x="940" d="M55 2l328 1434h174l328 -1434h-109l-92 399h-428l-90 -399h-111zM289 522h364l-168 778h-26z" />
+<glyph unicode="B" horiz-adv-x="968" d="M160 0v1374q78 31 136 47.5t83 20.5q60 12 113 12q74 0 108.5 -18.5t44.5 -24.5q47 -29 88 -79t65.5 -119.5t24.5 -145.5q0 -92 -22.5 -180t-108.5 -160q55 -37 89 -77t52.5 -81t25.5 -86t7 -94q0 -80 -20.5 -150.5t-46 -103.5t-35.5 -45q-37 -37 -91.5 -63.5 t-140.5 -26.5h-372zM274 119h258q61 0 102.5 21.5t66 58.5t34.5 86t10 104q0 57 -10 108.5t-34.5 89.5t-65.5 60.5t-103 22.5h-258v-551zM274 788h211q61 0 102.5 21.5t66 58.5t34.5 86.5t10 104.5q-2 55 -18 105t-39 81t-45 49q-4 4 -10 6q-2 0 -2 3q-2 0 -4 2 q-10 6 -32 18t-73 12q-20 0 -67.5 -8t-133.5 -45v-494z" />
+<glyph unicode="C" horiz-adv-x="894" d="M137 375v20v641q0 86 30 161t66 114q37 41 59.5 60.5t47.5 33.5q20 10 61 29.5t121 19.5q29 0 70 -10t74 -21l159 -63l-37 -107l-178 70q-20 8 -42.5 14t-43.5 6q-55 0 -104 -25.5t-87 -68.5t-59.5 -98t-21.5 -115l-4 -651q0 -66 22.5 -119t59.5 -90t86 -58.5t102 -23.5 q16 0 33.5 3t45.5 13.5t72 28t115 45.5l45 -116l-165 -60q-35 -12 -76 -20t-70 -8q-78 0 -146.5 27.5t-120.5 78.5t-83 124t-31 165z" />
+<glyph unicode="D" horiz-adv-x="976" d="M150 55v1319q123 51 205.5 65.5t111.5 14.5q80 0 148.5 -34t117.5 -90t78 -132t29 -160v-659q0 -86 -33 -159t-87 -127t-126 -83.5t-150 -29.5q-16 0 -37.5 2t-56.5 9t-84 22.5t-116 41.5zM264 150q45 -20 78 -30.5t55.5 -15t38 -4.5h25.5q51 0 98 25t83 65.5t57.5 94 t21.5 112.5l-4 641q0 92 -42 161t-93 101q-63 35 -115 35q-47 0 -102.5 -20.5t-100.5 -38.5v-1126z" />
+<glyph unicode="E" horiz-adv-x="831" d="M162 2v1432h577v-117h-460v-537h360v-118h-360v-541h464v-119h-581z" />
+<glyph unicode="F" horiz-adv-x="790" d="M160 0v1434h577v-117h-461v-539h361v-116h-361v-662h-116z" />
+<glyph unicode="G" horiz-adv-x="915" d="M137 391v651q8 193 110.5 302.5t268.5 109.5q29 -2 70 -10t73 -21l129 -49l-40 -117l-144 56q-51 20 -88 20q-53 0 -101 -23.5t-84 -63.5t-56.5 -93.5t-20.5 -110.5v-680q0 -57 21.5 -106t58.5 -86t85 -58.5t99 -21.5q20 0 58 8t116 49v388h115v-461 q-117 -61 -191.5 -77.5t-103.5 -16.5q-82 0 -150.5 32.5t-118.5 89t-78 131t-28 158.5z" />
+<glyph unicode="H" horiz-adv-x="1054" d="M162 2v1432h114v-650h500v650h117v-1432h-117v662h-500v-662h-114z" />
+<glyph unicode="I" horiz-adv-x="425" d="M160 0v1434h106v-1434h-106z" />
+<glyph unicode="J" horiz-adv-x="626" d="M31 -2l22 121q8 -2 34 -5t52.5 -5.5t49 -4.5t26.5 -2q27 0 51.5 5.5t43 22.5t29.5 49t11 85v1170h115v-1155q0 -86 -9.5 -143.5t-36 -92.5t-74.5 -49t-124 -14q-8 0 -33.5 1t-56.5 4t-58.5 6t-41.5 7z" />
+<glyph unicode="K" horiz-adv-x="798" d="M160 0v1434h114v-658h56l295 654h127l-314 -717l310 -713h-127l-289 653h-58v-653h-114z" />
+<glyph unicode="L" horiz-adv-x="770" d="M160 0v1434h116v-1319h455v-115h-571z" />
+<glyph unicode="M" horiz-adv-x="1245" d="M160 0v1434h178l266 -891h33l270 891h178v-1434h-110v1192h-27l-239 -770h-179l-237 770h-25v-1192h-108z" />
+<glyph unicode="N" horiz-adv-x="1134" d="M160 0v1434h147l535 -1293h26v1293h107v-1434h-199l-487 1192h-25v-1192h-104z" />
+<glyph unicode="O" horiz-adv-x="1064" d="M139 352v717q0 45 17.5 110.5t62.5 126t121 103.5t192 43q115 0 191 -43t121 -102.5t63.5 -125t18.5 -110.5v-719q0 -45 -17.5 -108.5t-62.5 -122t-122 -99t-194 -40.5q-115 0 -190.5 40.5t-119.5 99t-62.5 122t-18.5 108.5zM250 350q0 -82 31.5 -130t76.5 -73.5 t93.5 -33t80.5 -7.5q33 0 81.5 8.5t92.5 34t75.5 73.5t31.5 130v719q0 82 -31.5 132t-75.5 78t-92.5 37t-81.5 9t-81 -10t-93 -38t-76.5 -78t-31.5 -132v-719z" />
+<glyph unicode="P" horiz-adv-x="1009" d="M160 0v1374q53 20 112 39q51 16 113.5 28.5t128.5 12.5q84 0 162 -29.5t137 -85t94 -134.5t35 -175q0 -98 -32.5 -180t-90 -140.5t-136.5 -91t-171 -32.5h-244v-586h-108zM270 705h228q147 0 237 81.5t90 243.5q0 160 -91 232.5t-236 72.5q-37 0 -76 -9t-74 -19 q-39 -12 -78 -27v-575z" />
+<glyph unicode="Q" horiz-adv-x="1064" d="M139 352v715q0 45 17.5 110.5t62.5 127t121 104.5t192 43q115 0 191 -43t121 -104.5t63.5 -127t18.5 -110.5v-717q0 -41 -14.5 -96t-48.5 -108.5t-91 -96.5t-145 -59q20 -49 69 -72l-34 -125q-59 25 -102.5 71t-61.5 118q-104 6 -173 48t-111 99t-58.5 118.5t-16.5 104.5 zM254 350q0 -82 31.5 -130t76 -73.5t91.5 -33t79 -7.5q33 0 80 7.5t91.5 33t75 73.5t30.5 130v717q0 82 -30.5 133t-75 81t-91.5 41t-80 11t-79.5 -11t-91 -40t-76 -80t-31.5 -133v-719z" />
+<glyph unicode="R" horiz-adv-x="1030" d="M160 0v1374q55 20 114 39q51 16 114 28.5t126 12.5q84 0 162 -27.5t137 -80t94 -128t35 -174.5q0 -70 -16.5 -136t-47 -121.5t-74.5 -97t-97 -64.5l254 -625h-115l-254 594q-37 -6 -80 -6h-244v-588h-108zM270 707h228q147 0 237 88t90 249q0 80 -24.5 135.5t-67.5 90.5 t-103 50t-132 15q-37 0 -76 -8t-74 -18q-39 -12 -78 -27v-575z" />
+<glyph unicode="S" horiz-adv-x="956" d="M88 135l41 113q70 -37 137 -64q59 -23 125 -42t119 -19q57 0 107.5 22.5t87 62.5t57 93t20.5 115q0 63 -28.5 105t-72.5 69.5t-97.5 43t-104.5 23.5q-76 12 -142.5 43t-116.5 80t-78.5 115t-28.5 147q0 84 29.5 159t81.5 131.5t122 89t148 32.5q49 0 101 -11t97 -24 q51 -16 101 -35l-39 -114q-45 18 -92 33q-41 12 -86.5 22t-86.5 10q-55 0 -103 -23.5t-83 -63.5t-55.5 -92t-20.5 -107q0 -63 26 -111.5t65.5 -81.5t89 -52.5t94.5 -27.5q84 -14 156.5 -40.5t127 -68.5t85 -103.5t30.5 -143.5q0 -86 -29.5 -162t-82 -132t-124 -90 t-153.5 -34q-80 0 -155.5 20.5t-135.5 45.5q-70 29 -133 67z" />
+<glyph unicode="T" d="M39 1323v111h778v-111h-328v-1323h-110v1323h-340z" />
+<glyph unicode="U" horiz-adv-x="1093" d="M158 354v1082h106v-1082q0 -82 29 -133t71 -80.5t91 -41t92 -11.5q37 0 86 11.5t93 41t73.5 80.5t29.5 133v1082h107v-1082q0 -59 -18.5 -123.5t-62.5 -119t-120 -90t-188 -35.5q-113 0 -187.5 35.5t-119.5 90t-63.5 119t-18.5 123.5z" />
+<glyph unicode="V" horiz-adv-x="933" d="M55 1434h113l285 -1299h26q23 94 45 203q20 92 46 208t55 238q63 285 143 650h115l-332 -1434h-174z" />
+<glyph unicode="W" horiz-adv-x="1247" d="M70 1434h106l189 -1301h16l166 741h155l164 -741h17l188 1301h107l-209 -1432h-176l-160 741h-17l-161 -741h-176z" />
+<glyph unicode="X" horiz-adv-x="925" d="M51 0l299 711l-299 723h115l280 -660h35l281 660h115l-299 -723l296 -711h-116l-271 651h-49l-272 -651h-115z" />
+<glyph unicode="Y" horiz-adv-x="886" d="M31 1434h114l281 -660h35l280 660h115l-324 -783h-28v-651h-123v651h-25z" />
+<glyph unicode="Z" horiz-adv-x="927" d="M68 0v135l612 1149v29h-565v121h716v-119l-612 -1161v-33h645v-121h-796z" />
+<glyph unicode="[" horiz-adv-x="485" d="M137 -172v1763h285v-100h-182v-1563h182v-100h-285z" />
+<glyph unicode="\" horiz-adv-x="784" d="M61 1573h111l551 -1690h-109z" />
+<glyph unicode="]" horiz-adv-x="485" d="M63 -74h183v1563h-183v100h285v-1763h-285v100z" />
+<glyph unicode="_" horiz-adv-x="430" />
+<glyph unicode="`" horiz-adv-x="745" d="M205 1507h125l198 -301h-106z" />
+<glyph unicode="a" horiz-adv-x="825" d="M96 272v115q0 59 20.5 111.5t57.5 91.5t87 61.5t108 22.5q14 0 43.5 -2t63.5 -8.5t69 -17.5t59 -30v70q0 47 -17.5 93t-46 83t-67.5 59.5t-84 22.5q-16 0 -58 -10t-87 -21q-53 -12 -115 -28l-29 96q68 16 125 31q49 12 96.5 22t67.5 10q66 0 123 -30.5t100 -80.5 t68 -114.5t25 -132.5l2 -586l38 -37l-73 -73l-56 55q-66 -37 -136 -51t-111 -14q-57 0 -107.5 23.5t-87.5 63t-57.5 93t-20.5 112.5zM199 264q0 -37 13 -68.5t35.5 -55t53.5 -38t66 -14.5q31 0 70.5 11.5t76.5 25.5q43 16 88 37v336q0 2 -18.5 13t-50 24.5t-74.5 24.5 t-90 11q-35 0 -67 -14t-54.5 -38.5t-35.5 -56.5t-13 -69v-129z" />
+<glyph unicode="b" d="M92 66l39 40v1328h102v-447q82 43 141.5 50t94.5 7q57 0 106.5 -22.5t86 -62t58 -92t21.5 -111.5v-484q0 -59 -21.5 -112.5t-58 -92t-86 -61t-106.5 -22.5q-45 0 -113.5 13t-136.5 50l-55 -53zM236 162q6 -18 36.5 -31.5t68.5 -23t75 -14.5t55 -5q35 0 65.5 14.5t53 38 t36 55t13.5 68.5v498q0 74 -49 126t-121 52q-18 0 -48 -4t-62.5 -13.5t-65.5 -22.5t-57 -32v-706z" />
+<glyph unicode="c" horiz-adv-x="706" d="M113 303v428q0 70 25.5 128.5t68.5 99t101.5 64.5t125.5 24q33 0 69 -8.5t66 -18.5q37 -10 72 -25l-25 -88q-31 10 -63 19q-29 8 -59.5 14t-59.5 6q-90 0 -154.5 -58.5t-64.5 -156.5v-428q0 -49 17.5 -89t48 -68.5t70.5 -44t85 -15.5q20 0 51 5t60 11q35 8 71 19l33 -94 q-41 -14 -78 -23q-33 -8 -70.5 -14t-66.5 -6q-68 0 -126 23.5t-102 66.5t-69.5 101t-25.5 128z" />
+<glyph unicode="d" horiz-adv-x="858" d="M115 270v484q0 59 21.5 111.5t58 92t86 62t106.5 22.5q35 0 94.5 -7t141.5 -50v447h102v-1334l45 -45l-74 -71l-61 61q-66 -37 -135.5 -49t-112.5 -12q-57 0 -106.5 22.5t-86 61t-58 92t-21.5 112.5zM217 262q0 -37 13.5 -68.5t36 -55t53 -38t65.5 -14.5q18 0 55 5 t75 14.5t69 23t37 31.5v706q-72 47 -135.5 59.5t-98.5 12.5q-72 0 -121 -52t-49 -126v-498z" />
+<glyph unicode="e" horiz-adv-x="833" d="M113 301v453q0 61 21.5 114.5t59 92t88 61t109.5 22.5h70q57 0 108.5 -22.5t90 -61t60 -92t21.5 -114.5v-68q0 -86 -30.5 -144.5t-84 -95t-124 -52t-150.5 -15.5q-33 0 -65.5 2t-67.5 6v-123q14 -82 76.5 -130t142.5 -48q8 0 52.5 9t93.5 20q57 12 127 28l24 -108 q-76 -16 -137 -27q-53 -10 -101 -18t-59 -8q-66 0 -125 23.5t-104 66.5t-70.5 101t-25.5 128zM219 496l242 -2h4q37 0 67.5 15t53 40.5t36 58.5t13.5 70v86q0 49 -18.5 83t-48 54.5t-69.5 29.5t-83 9q-39 0 -75 -12.5t-62.5 -35t-43 -55t-16.5 -73.5v-268z" />
+<glyph unicode="f" horiz-adv-x="583" d="M51 924v100h182v160q0 72 18.5 123t50.5 82.5t76 47t95 15.5h37v-111h-27q-57 0 -101 -30.5t-44 -112.5v-174h197v-100h-195v-924h-109v924h-180z" />
+<glyph unicode="g" horiz-adv-x="858" d="M115 270v486q0 59 21.5 112.5t58 92t86 61t106.5 22.5q47 0 109.5 -13t138.5 -48l61 61l74 -73l-45 -43v-1168q0 -76 -25.5 -131t-68.5 -90t-101.5 -52t-123.5 -17q-31 0 -80.5 10t-96.5 22q-55 14 -114 33l28 96q55 -18 109 -32q43 -12 87 -21.5t67 -9.5q88 0 152.5 47 t64.5 143v275q-72 -37 -125.5 -44t-87.5 -7h-23q-57 0 -106.5 22.5t-86 62t-58 92t-21.5 111.5zM217 264q0 -74 49 -126t121 -52q18 0 50 5t68 14.5t67.5 22.5t48.5 30v708q-6 18 -37 31.5t-69 23t-75 14.5t-55 5q-35 0 -65.5 -14.5t-53 -38t-36 -55t-13.5 -68.5v-500z" />
+<glyph unicode="h" horiz-adv-x="868" d="M131 0v1434h102v-447q82 43 141.5 50t94.5 7q57 0 106.5 -22.5t86 -62t58 -92t21.5 -111.5v-756h-102v762q0 74 -49 126t-121 52q-18 0 -45 -3t-59.5 -11t-65.5 -22.5t-63 -35.5v-868h-105z" />
+<glyph unicode="i" horiz-adv-x="370" d="M131 0v1024h109v-1024h-109zM131 1274v160h109v-160h-109z" />
+<glyph unicode="j" horiz-adv-x="372" d="M-37 -389h27q29 0 55.5 7t46 24.5t31.5 45t12 70.5l-6 1268h113v-1257q0 -72 -18.5 -123.5t-51.5 -83t-77 -47t-95 -15.5h-37v111zM129 1280v152h113v-152h-113z" />
+<glyph unicode="k" horiz-adv-x="684" d="M131 0v1434h105v-820h65l219 408h117l-252 -473l254 -549h-117l-219 489h-67v-489h-105z" />
+<glyph unicode="l" horiz-adv-x="434" d="M143 270v1164h107v-1174q0 -84 42 -115.5t101 -31.5h27v-111h-37q-51 0 -95 15.5t-76 47t-50.5 83t-18.5 122.5z" />
+<glyph unicode="m" horiz-adv-x="1411" d="M88 971l74 71l61 -63q53 29 107.5 47t105.5 18q92 0 170 -38.5t109 -120.5q29 49 65.5 79.5t76.5 48t80 24.5t77 7q74 0 126 -26.5t84.5 -68.5t47 -92t14.5 -99v-758h-106v743q0 39 -9.5 74t-29 61.5t-53 43t-82.5 16.5q-129 0 -186.5 -72.5t-57.5 -203.5v-662h-107v770 q0 37 -17 67.5t-47 53t-67 36t-73 13.5q-18 0 -48 -6t-61 -16.5t-58.5 -22.5t-45.5 -27v-868h-105v926z" />
+<glyph unicode="n" horiz-adv-x="884" d="M88 967l74 73l61 -61q113 63 213 63q92 0 172 -38t121 -130q25 -51 29 -103t4 -107v-664h-109v727q0 104 -55 159.5t-125 55.5q-39 0 -99.5 -12t-135.5 -62v-868h-105v924z" />
+<glyph unicode="o" d="M115 281v473q0 94 34.5 151.5t84 88t102.5 40.5t92 10t92 -10t102.5 -40.5t84 -88t34.5 -151.5v-473q0 -94 -34.5 -151.5t-84 -89.5t-102.5 -42t-92 -10t-92 10t-102.5 42t-84 89t-34.5 152zM207 295q0 -68 24.5 -108t59.5 -62.5t72.5 -29.5t64.5 -7t64.5 7t71.5 29.5 t58.5 62.5t24.5 108v444q0 68 -24.5 108t-58.5 61.5t-71.5 28.5t-64.5 7t-64.5 -7t-72.5 -28.5t-59.5 -61.5t-24.5 -108v-444z" />
+<glyph unicode="p" horiz-adv-x="858" d="M88 971l72 73l63 -61q70 35 135.5 48t112.5 13q57 0 106.5 -22.5t86 -61t58 -92t21.5 -112.5v-488q0 -59 -21.5 -111.5t-58 -92t-86 -62t-106.5 -22.5q-35 0 -94 7t-141 50v-549h-103v1440zM238 156q25 -16 57.5 -28.5t65 -23t62.5 -15.5t48 -5q72 0 121 52t49 126v502 q0 37 -13.5 68.5t-36 55t-53 38t-65.5 14.5q-18 0 -47 -3t-60.5 -12.5t-64.5 -23.5t-63 -35v-710z" />
+<glyph unicode="q" horiz-adv-x="858" d="M115 268v486q0 59 21.5 112.5t58 92t86 61t106.5 22.5q45 0 111.5 -13t136.5 -48l63 61l72 -73l-45 -43v-1438h-102v545l-39 -19q-59 -29 -107.5 -30.5t-83.5 -3.5q-57 0 -107 22.5t-88 62t-60.5 92t-22.5 111.5zM217 262q0 -74 49 -125t121 -51q18 0 47 4t61.5 12.5 t66.5 21.5t59 34v706q-78 51 -137.5 62.5t-98.5 11.5q-35 0 -65.5 -14.5t-53 -38t-36 -55t-13.5 -68.5v-500z" />
+<glyph unicode="r" horiz-adv-x="675" d="M84 961l72 73l71 -69q59 53 113.5 66t93.5 13q41 0 90.5 -16t137.5 -65l-58 -86q-35 20 -57.5 31.5t-42 17.5t-36.5 7t-38 1q-31 0 -84 -17.5t-106 -66.5v-848h-103v905z" />
+<glyph unicode="s" horiz-adv-x="739" d="M92 741q0 150 81 226.5t200 76.5q35 0 72.5 -9t78.5 -23l68 -25l-39 -88q-49 18 -79 27.5t-47 13.5t-26.5 5t-19.5 1h-10q-72 0 -126.5 -56t-54.5 -159q0 -43 18.5 -75.5t47.5 -56.5t60.5 -35t60.5 -11q63 0 120.5 -11.5t99.5 -41t66.5 -82.5t24.5 -135 q0 -152 -75.5 -227.5t-194.5 -75.5q-37 0 -76 6t-78 22l-170 68l41 90l168 -68q31 -12 60.5 -17t56.5 -5q72 0 121 55t49 160q0 43 -17.5 73.5t-43 50t-57.5 29t-58 9.5q-74 0 -133.5 13t-101.5 47t-64.5 89t-22.5 139z" />
+<glyph unicode="t" horiz-adv-x="546" d="M39 924v102h174v408h109v-408h188v-102h-188v-668q0 -84 42 -115.5t101 -31.5h45v-111h-55q-51 0 -95.5 15.5t-77 47t-51 82.5t-18.5 123v658h-174z" />
+<glyph unicode="u" horiz-adv-x="884" d="M125 362v662h106v-725q0 -53 15.5 -93t41 -66.5t58.5 -41t68 -14.5q66 0 132 23.5t103 50.5v866h105v-922l45 -43l-74 -73l-61 61q-59 -33 -127 -48t-121 -15q-74 0 -145.5 38t-112.5 130q-25 51 -29 103t-4 107z" />
+<glyph unicode="v" horiz-adv-x="743" d="M47 1024h103l153 -614q8 -31 17.5 -77t17.5 -89t14 -74l6 -31h41q12 55 23 107q10 43 18.5 89t16.5 77l135 612h104l-231 -1024h-174z" />
+<glyph unicode="w" horiz-adv-x="1089" d="M59 1024h103l123 -889h18l152 887h178l149 -889h17l129 891h102l-164 -1024h-151l-160 893h-23l-159 -893h-150z" />
+<glyph unicode="x" horiz-adv-x="745" d="M51 0l217 510l-217 514h105l200 -451h33l191 451h108l-209 -514l215 -508h-108l-195 449h-43l-192 -451h-105z" />
+<glyph unicode="y" horiz-adv-x="768" d="M45 1024h105q53 -225 95 -382t70 -257q33 -117 56 -192h24q18 76 49 192q27 100 69 257t105 382h105l-274 -1024h-13l-84 -512h-104l84 512h-15z" />
+<glyph unicode="z" horiz-adv-x="831" d="M72 0v106l518 771v38h-500v105h645v-107l-518 -772v-37h553v-104h-698z" />
+<glyph unicode="{" horiz-adv-x="477" d="M133 80v1274q0 72 12.5 110.5t40.5 67.5q27 27 69 40t112 13h47v-100h-37q-47 0 -71.5 -3t-41.5 -20q-18 -18 -23 -51t-5 -82v-1233q0 -49 5 -78.5t23 -46.5q16 -16 41 -19t72 -3h37v-101h-47q-70 0 -112 13.5t-69 40.5q-29 29 -41 67.5t-12 110.5z" />
+<glyph unicode="|" horiz-adv-x="380" d="M139 -20v1454h103v-1454h-103z" />
+<glyph unicode="}" horiz-adv-x="487" d="M66 -47h43h26q35 0 54.5 3t33.5 17q16 16 22.5 46t6.5 79v1243q0 49 -6 79t-23 46q-16 16 -41.5 19.5t-72.5 3.5h-43v100h53q70 0 111.5 -13t70.5 -40q29 -29 41 -67.5t12 -110.5v-1274q0 -72 -12 -111t-41 -67q-29 -27 -71 -40t-111 -13h-53v100z" />
+<glyph unicode="~" horiz-adv-x="942" d="M94 539q37 37 64.5 59.5t53.5 34.5t50.5 17t52.5 5q43 0 82 -15t78 -33.5t77 -34t81 -15.5q37 0 66.5 13.5t80.5 64.5l70 -55q-37 -37 -65.5 -59.5t-53 -35t-49.5 -17.5t-53 -5q-39 0 -79 15.5t-80 33.5t-80 33.5t-81 15.5q-37 0 -66.5 -13t-80.5 -65z" />
+<glyph unicode="&#xa1;" horiz-adv-x="389" d="M139 1249v185h109v-185h-109zM141 2v1145h107v-1145h-107z" />
+<glyph unicode="&#xa2;" horiz-adv-x="727" d="M106 305v428q0 121 70 202.5t176 104.5v265h103v-258q31 -4 62.5 -12.5t57.5 -16.5q31 -10 60 -21l-25 -88q-31 10 -63 19q-29 8 -59.5 14t-59.5 6q-90 0 -154.5 -58.5t-64.5 -156.5v-428q0 -49 17.5 -89t48 -68.5t70.5 -44t85 -15.5q20 0 51 5t60 11q35 8 71 19l33 -94 q-33 -10 -65 -19q-29 -8 -63 -14t-62 -8v-256h-103v262q-106 25 -176 108.5t-70 202.5z" />
+<glyph unicode="&#xa3;" horiz-adv-x="1032" d="M98 662v120h80v295q0 82 25.5 150.5t75 119t118 78t154.5 27.5q84 0 154.5 -27.5t121 -78t79 -119t28.5 -150.5h-113q0 84 -28.5 136.5t-69.5 81t-89 37.5t-85 9q-41 0 -86 -10t-84 -39.5t-63.5 -80t-24.5 -130.5v-299h452v-120h-452v-551h641v-111h-754v662h-80z" />
+<glyph unicode="&#xa5;" horiz-adv-x="985" d="M80 1436h115l280 -660h35l281 660h114l-225 -545h164v-131h-219l-43 -107h-29v-161h291v-132h-291v-358h-123v358h-289v132h289v161h-24l-46 107h-219v131h166z" />
+<glyph unicode="&#xa6;" horiz-adv-x="389" d="M141 0v639h107v-639h-107zM141 795v639h107v-639h-107z" />
+<glyph unicode="&#xa8;" horiz-adv-x="923" d="M213 1229v157h119v-157h-119zM618 1229v157h119v-157h-119z" />
+<glyph unicode="&#xa9;" horiz-adv-x="1636" d="M84 715q0 152 57.5 286t157.5 233t234.5 157.5t285.5 58.5q152 0 286 -58.5t233.5 -157.5t156.5 -233t57 -286t-57 -286t-156.5 -234.5t-233.5 -157.5t-286 -57t-286 57t-234 157.5t-157.5 234.5t-57.5 286zM186 715q0 -133 50.5 -248t136.5 -201t200.5 -135t245.5 -49 t246 49t201 135t135 201t49 248q0 131 -49 246.5t-135 201.5t-201 135.5t-246 49.5t-245.5 -49.5t-200.5 -135.5t-136.5 -201.5t-50.5 -246.5zM586 555v346q0 55 19.5 100.5t54 78t80.5 51t100 18.5q25 0 53.5 -6t52.5 -15q29 -8 55 -20l-18 -70q-25 6 -49 15 q-23 6 -47.5 11t-46.5 5q-72 0 -123 -46t-51 -122v-346q0 -78 52 -125t124 -47q16 0 39.5 4t46.5 10q27 6 57 15l25 -74q-31 -10 -62 -19q-27 -6 -55.5 -11t-50.5 -5q-53 0 -99.5 18.5t-81 52.5t-55 80t-20.5 101z" />
+<glyph unicode="&#xad;" horiz-adv-x="741" d="M125 662v131h491v-131h-491z" />
+<glyph unicode="&#xae;" horiz-adv-x="1636" d="M84 723q0 152 57.5 286t157.5 233t234.5 157.5t285.5 58.5q152 0 286 -58.5t233.5 -157.5t156.5 -233t57 -286t-57 -286t-156.5 -234.5t-233.5 -157.5t-286 -57t-286 57t-234 157.5t-157.5 234.5t-57.5 286zM186 723q0 -133 50.5 -248t136.5 -201t200.5 -135t245.5 -49 t246 49t201 135t135 201t49 248q0 131 -49 246.5t-135 201.5t-201 135.5t-246 49.5t-245.5 -49.5t-200.5 -135.5t-136.5 -201.5t-50.5 -246.5zM606 301v815q31 12 68 23q31 10 67.5 17t75.5 7q49 0 95 -16.5t82 -47t56.5 -76.5t20.5 -103q0 -82 -39 -152.5t-100 -95.5 l149 -371h-69l-150 352q-10 -4 -22.5 -4h-24.5h-145v-348h-64zM670 721h137q86 0 139 51t53 148q0 96 -53 134t-139 38q-23 0 -46.5 -5.5t-43.5 -11.5q-23 -8 -47 -14v-340z" />
+<glyph unicode="&#xb0;" horiz-adv-x="675" d="M82 1200q0 53 20.5 99.5t54 81t80 55t99.5 20.5t100 -19.5t82 -54t55.5 -82t20.5 -100.5t-20.5 -99t-55.5 -81t-82 -55.5t-100 -20.5t-99.5 20.5t-80 55.5t-54 81t-20.5 99zM174 1200q0 -66 48 -113t114 -47q68 0 116 47t48 113q0 68 -48.5 115t-115.5 47q-66 0 -114 -47 t-48 -115z" />
+<glyph unicode="&#xb4;" horiz-adv-x="948" d="M420 1208l198 301h125l-217 -301h-106z" />
+<glyph unicode="&#xb8;" horiz-adv-x="806" d="M305 -381q35 16 55.5 62.5t20.5 119.5v105h98v-107q0 -115 -30.5 -172t-83.5 -82z" />
+<glyph unicode="&#xbf;" d="M74 -156q0 66 19.5 113t41.5 82l293 440q20 29 34.5 60.5t14.5 78.5v44h119v-41q0 -72 -17.5 -119t-41.5 -82l-279 -418q-23 -35 -45.5 -76t-22.5 -80q0 -53 27 -96t67 -72.5t86 -46t83 -16.5q25 0 50 6t50 17l201 75l39 -110l-172 -72q-35 -14 -84.5 -25.5t-81.5 -11.5 q-74 0 -143.5 25.5t-122 72t-84 110.5t-31.5 142zM463 764v184h141v-184h-141z" />
+<glyph unicode="&#xc0;" horiz-adv-x="940" d="M55 2l328 1434h174l328 -1434h-109l-92 399h-428l-90 -399h-111zM182 1917h125l198 -301h-106zM289 522h364l-168 778h-26z" />
+<glyph unicode="&#xc1;" horiz-adv-x="940" d="M55 2l328 1434h174l328 -1434h-109l-92 399h-428l-90 -399h-111zM289 522h364l-168 778h-26zM420 1618l198 301h125l-217 -301h-106z" />
+<glyph unicode="&#xc2;" horiz-adv-x="940" d="M55 2l328 1434h174l328 -1434h-109l-92 399h-428l-90 -399h-111zM209 1692l205 256h113l205 -256h-101l-159 166l-160 -166h-103zM289 522h364l-168 778h-26z" />
+<glyph unicode="&#xc3;" horiz-adv-x="940" d="M55 2l328 1434h174l328 -1434h-109l-92 399h-428l-90 -399h-111zM168 1751h561l47 -102h-557zM289 522h364l-168 778h-26z" />
+<glyph unicode="&#xc4;" horiz-adv-x="940" d="M55 2l328 1434h174l328 -1434h-109l-92 399h-428l-90 -399h-111zM213 1639v157h119v-157h-119zM289 522h364l-168 778h-26zM618 1639v157h119v-157h-119z" />
+<glyph unicode="&#xc6;" horiz-adv-x="1501" d="M29 2l655 1432h725v-117h-465v-537h365v-118h-365v-541h469v-119h-579v399h-512l-183 -399h-110zM381 522l453 -2l2 778l-107 2z" />
+<glyph unicode="&#xc7;" horiz-adv-x="894" d="M137 375v20v641q0 86 30 161t66 114q37 41 59.5 60.5t47.5 33.5q20 10 61 29.5t121 19.5q29 0 70 -10t74 -21l159 -63l-37 -107l-178 70q-20 8 -42.5 14t-43.5 6q-55 0 -104 -25.5t-87 -68.5t-59.5 -98t-21.5 -115l-4 -651q0 -66 22.5 -119t59.5 -90t86 -58.5t102 -23.5 q16 0 33.5 3t45.5 13.5t72 28t115 45.5l45 -116l-165 -60q-35 -12 -76 -20t-70 -8q-78 0 -146.5 27.5t-120.5 78.5t-83 124t-31 165zM387 -381q35 16 55.5 62.5t20.5 119.5v105h98v-107q0 -115 -30.5 -172t-83.5 -82z" />
+<glyph unicode="&#xc8;" horiz-adv-x="831" d="M162 2v1432h577v-117h-460v-537h360v-118h-360v-541h464v-119h-581zM170 1917h125l198 -301h-106z" />
+<glyph unicode="&#xc9;" horiz-adv-x="831" d="M162 2v1432h577v-117h-460v-537h360v-118h-360v-541h464v-119h-581zM367 1605l198 301h125l-217 -301h-106z" />
+<glyph unicode="&#xca;" horiz-adv-x="831" d="M141 1692l205 256h113l205 -256h-101l-159 166l-160 -166h-103zM162 2v1432h577v-117h-460v-537h360v-118h-360v-541h464v-119h-581z" />
+<glyph unicode="&#xcb;" horiz-adv-x="831" d="M162 2v1432h577v-117h-460v-537h360v-118h-360v-541h464v-119h-581zM182 1639v157h119v-157h-119zM587 1639v157h119v-157h-119z" />
+<glyph unicode="&#xcc;" horiz-adv-x="425" d="M-57 1917h125l198 -301h-106zM160 0v1434h106v-1434h-106z" />
+<glyph unicode="&#xcd;" horiz-adv-x="425" d="M160 0v1434h106v-1434h-106zM180 1618l198 301h125l-217 -301h-106z" />
+<glyph unicode="&#xce;" horiz-adv-x="425" d="M-45 1692l205 256h113l205 -256h-101l-159 166l-160 -166h-103zM160 0v1434h106v-1434h-106z" />
+<glyph unicode="&#xcf;" horiz-adv-x="425" d="M-47 1639v157h119v-157h-119zM160 0v1434h106v-1434h-106zM358 1639v157h119v-157h-119z" />
+<glyph unicode="&#xd1;" horiz-adv-x="1134" d="M160 0v1434h147l535 -1293h26v1293h107v-1434h-199l-487 1192h-25v-1192h-104zM262 1751h561l47 -102h-557z" />
+<glyph unicode="&#xd2;" horiz-adv-x="1064" d="M139 352v717q0 45 17.5 110.5t62.5 126t121 103.5t192 43q115 0 191 -43t121 -102.5t63.5 -125t18.5 -110.5v-719q0 -45 -17.5 -108.5t-62.5 -122t-122 -99t-194 -40.5q-115 0 -190.5 40.5t-119.5 99t-62.5 122t-18.5 108.5zM250 350q0 -82 31.5 -130t76.5 -73.5 t93.5 -33t80.5 -7.5q33 0 81.5 8.5t92.5 34t75.5 73.5t31.5 130v719q0 82 -31.5 132t-75.5 78t-92.5 37t-81.5 9t-81 -10t-93 -38t-76.5 -78t-31.5 -132v-719zM273 1917h125l198 -301h-106z" />
+<glyph unicode="&#xd3;" horiz-adv-x="1064" d="M139 352v717q0 45 17.5 110.5t62.5 126t121 103.5t192 43q115 0 191 -43t121 -102.5t63.5 -125t18.5 -110.5v-719q0 -45 -17.5 -108.5t-62.5 -122t-122 -99t-194 -40.5q-115 0 -190.5 40.5t-119.5 99t-62.5 122t-18.5 108.5zM250 350q0 -82 31.5 -130t76.5 -73.5 t93.5 -33t80.5 -7.5q33 0 81.5 8.5t92.5 34t75.5 73.5t31.5 130v719q0 82 -31.5 132t-75.5 78t-92.5 37t-81.5 9t-81 -10t-93 -38t-76.5 -78t-31.5 -132v-719zM492 1618l198 301h125l-217 -301h-106z" />
+<glyph unicode="&#xd4;" horiz-adv-x="1064" d="M139 352v717q0 45 17.5 110.5t62.5 126t121 103.5t192 43q115 0 191 -43t121 -102.5t63.5 -125t18.5 -110.5v-719q0 -45 -17.5 -108.5t-62.5 -122t-122 -99t-194 -40.5q-115 0 -190.5 40.5t-119.5 99t-62.5 122t-18.5 108.5zM250 350q0 -82 31.5 -130t76.5 -73.5 t93.5 -33t80.5 -7.5q33 0 81.5 8.5t92.5 34t75.5 73.5t31.5 130v719q0 82 -31.5 132t-75.5 78t-92.5 37t-81.5 9t-81 -10t-93 -38t-76.5 -78t-31.5 -132v-719zM270 1692l205 256h113l205 -256h-101l-159 166l-160 -166h-103z" />
+<glyph unicode="&#xd5;" horiz-adv-x="1064" d="M139 352v717q0 45 17.5 110.5t62.5 126t121 103.5t192 43q115 0 191 -43t121 -102.5t63.5 -125t18.5 -110.5v-719q0 -45 -17.5 -108.5t-62.5 -122t-122 -99t-194 -40.5q-115 0 -190.5 40.5t-119.5 99t-62.5 122t-18.5 108.5zM230 1751h561l47 -102h-557zM250 350 q0 -82 31.5 -130t76.5 -73.5t93.5 -33t80.5 -7.5q33 0 81.5 8.5t92.5 34t75.5 73.5t31.5 130v719q0 82 -31.5 132t-75.5 78t-92.5 37t-81.5 9t-81 -10t-93 -38t-76.5 -78t-31.5 -132v-719z" />
+<glyph unicode="&#xd6;" horiz-adv-x="1064" d="M139 352v717q0 45 17.5 110.5t62.5 126t121 103.5t192 43q115 0 191 -43t121 -102.5t63.5 -125t18.5 -110.5v-719q0 -45 -17.5 -108.5t-62.5 -122t-122 -99t-194 -40.5q-115 0 -190.5 40.5t-119.5 99t-62.5 122t-18.5 108.5zM250 350q0 -82 31.5 -130t76.5 -73.5 t93.5 -33t80.5 -7.5q33 0 81.5 8.5t92.5 34t75.5 73.5t31.5 130v719q0 82 -31.5 132t-75.5 78t-92.5 37t-81.5 9t-81 -10t-93 -38t-76.5 -78t-31.5 -132v-719zM276 1639v157h119v-157h-119zM681 1639v157h119v-157h-119z" />
+<glyph unicode="&#xd7;" horiz-adv-x="925" d="M113 274l278 279l-278 278l71 72l279 -278l278 278l72 -72l-278 -278l278 -279l-72 -71l-278 278l-279 -278z" />
+<glyph unicode="&#xd8;" horiz-adv-x="1064" d="M139 352v717q0 45 17.5 110.5t62.5 126t121 103.5t192 43q115 0 191 -43t121 -102.5t63.5 -125t18.5 -110.5v-719q0 -45 -17.5 -108.5t-62.5 -122t-122 -99t-194 -40.5q-115 0 -190.5 40.5t-119.5 99t-62.5 122t-18.5 108.5zM250 350q0 -82 31.5 -130t76.5 -73.5 t93.5 -33t80.5 -7.5q33 0 81.5 8.5t92.5 34t75.5 73.5t31.5 130v719q0 82 -31.5 132t-75.5 78t-92.5 37t-81.5 9t-81 -10t-93 -38t-76.5 -78t-31.5 -132v-719zM346 -135l250 1704h123l-250 -1704h-123z" />
+<glyph unicode="&#xd9;" horiz-adv-x="1093" d="M158 354v1082h106v-1082q0 -82 29 -133t71 -80.5t91 -41t92 -11.5q37 0 86 11.5t93 41t73.5 80.5t29.5 133v1082h107v-1082q0 -59 -18.5 -123.5t-62.5 -119t-120 -90t-188 -35.5q-113 0 -187.5 35.5t-119.5 90t-63.5 119t-18.5 123.5zM289 1917h125l198 -301h-106z" />
+<glyph unicode="&#xda;" horiz-adv-x="1093" d="M158 354v1082h106v-1082q0 -82 29 -133t71 -80.5t91 -41t92 -11.5q37 0 86 11.5t93 41t73.5 80.5t29.5 133v1082h107v-1082q0 -59 -18.5 -123.5t-62.5 -119t-120 -90t-188 -35.5q-113 0 -187.5 35.5t-119.5 90t-63.5 119t-18.5 123.5zM483 1618l198 301h125l-217 -301 h-106z" />
+<glyph unicode="&#xdb;" horiz-adv-x="1093" d="M158 354v1082h106v-1082q0 -82 29 -133t71 -80.5t91 -41t92 -11.5q37 0 86 11.5t93 41t73.5 80.5t29.5 133v1082h107v-1082q0 -59 -18.5 -123.5t-62.5 -119t-120 -90t-188 -35.5q-113 0 -187.5 35.5t-119.5 90t-63.5 119t-18.5 123.5zM284 1692l205 256h113l205 -256 h-101l-159 166l-160 -166h-103z" />
+<glyph unicode="&#xdc;" horiz-adv-x="1093" d="M158 354v1082h106v-1082q0 -82 29 -133t71 -80.5t91 -41t92 -11.5q37 0 86 11.5t93 41t73.5 80.5t29.5 133v1082h107v-1082q0 -59 -18.5 -123.5t-62.5 -119t-120 -90t-188 -35.5q-113 0 -187.5 35.5t-119.5 90t-63.5 119t-18.5 123.5zM281 1639v157h119v-157h-119z M686 1639v157h119v-157h-119z" />
+<glyph unicode="&#xdd;" horiz-adv-x="886" d="M31 1434h114l281 -660h35l280 660h115l-324 -783h-28v-651h-123v651h-25zM377 1618l198 301h125l-217 -301h-106z" />
+<glyph unicode="&#xde;" horiz-adv-x="878" d="M160 -510v1944h2h100h2v-447q82 43 141.5 50t94.5 7q57 0 106 -22.5t86 -62t58.5 -92t21.5 -111.5v-484q0 -59 -21.5 -111t-58.5 -91t-86 -61.5t-106 -22.5q-43 0 -107.5 10t-130.5 43v-549h-102zM266 145q59 -31 114.5 -45t121.5 -14q35 0 65.5 14.5t53 39t36 56 t13.5 68.5v498q0 74 -49.5 126t-120.5 52q-49 0 -118 -17.5t-116 -54.5v-723z" />
+<glyph unicode="&#xdf;" horiz-adv-x="1036" d="M131 0v1081q0 45 15.5 109.5t56.5 123t115.5 100.5t195.5 42q117 0 190.5 -42t114.5 -101.5t55.5 -125t14.5 -110.5q0 -86 -38 -166t-120 -108q70 -25 111 -67t63.5 -89t29.5 -93t7 -79v-94q0 -47 -14.5 -112.5t-55.5 -125t-114.5 -101.5t-190.5 -42h-106v111h102 q37 0 83 9t87 38.5t68.5 83t27.5 139.5v88q0 88 -25.5 141.5t-62 82t-80 37.5t-79.5 9h-47v111h45h8q94 0 141 60.5t47 164.5q0 88 -27.5 141.5t-67.5 82t-86 38t-81 9.5q-37 0 -83 -9.5t-88 -38t-70.5 -82t-28.5 -141.5v-1075h-113z" />
+<glyph unicode="&#xe0;" horiz-adv-x="825" d="M96 272v115q0 59 20.5 111.5t57.5 91.5t87 61.5t108 22.5q14 0 43.5 -2t63.5 -8.5t69 -17.5t59 -30v70q0 47 -17.5 93t-46 83t-67.5 59.5t-84 22.5q-16 0 -58 -10t-87 -21q-53 -12 -115 -28l-29 96q68 16 125 31q49 12 96.5 22t67.5 10q66 0 123 -30.5t100 -80.5 t68 -114.5t25 -132.5l2 -586l38 -37l-73 -73l-56 55q-66 -37 -136 -51t-111 -14q-57 0 -107.5 23.5t-87.5 63t-57.5 93t-20.5 112.5zM158 1507h125l198 -301h-106zM199 264q0 -37 13 -68.5t35.5 -55t53.5 -38t66 -14.5q31 0 70.5 11.5t76.5 25.5q43 16 88 37v336 q0 2 -18.5 13t-50 24.5t-74.5 24.5t-90 11q-35 0 -67 -14t-54.5 -38.5t-35.5 -56.5t-13 -69v-129z" />
+<glyph unicode="&#xe1;" horiz-adv-x="825" d="M96 272v115q0 59 20.5 111.5t57.5 91.5t87 61.5t108 22.5q14 0 43.5 -2t63.5 -8.5t69 -17.5t59 -30v70q0 47 -17.5 93t-46 83t-67.5 59.5t-84 22.5q-16 0 -58 -10t-87 -21q-53 -12 -115 -28l-29 96q68 16 125 31q49 12 96.5 22t67.5 10q66 0 123 -30.5t100 -80.5 t68 -114.5t25 -132.5l2 -586l38 -37l-73 -73l-56 55q-66 -37 -136 -51t-111 -14q-57 0 -107.5 23.5t-87.5 63t-57.5 93t-20.5 112.5zM199 264q0 -37 13 -68.5t35.5 -55t53.5 -38t66 -14.5q31 0 70.5 11.5t76.5 25.5q43 16 88 37v336q0 2 -18.5 13t-50 24.5t-74.5 24.5 t-90 11q-35 0 -67 -14t-54.5 -38.5t-35.5 -56.5t-13 -69v-129zM359 1208l198 301h125l-217 -301h-106z" />
+<glyph unicode="&#xe2;" horiz-adv-x="825" d="M96 272v115q0 59 20.5 111.5t57.5 91.5t87 61.5t108 22.5q14 0 43.5 -2t63.5 -8.5t69 -17.5t59 -30v70q0 47 -17.5 93t-46 83t-67.5 59.5t-84 22.5q-16 0 -58 -10t-87 -21q-53 -12 -115 -28l-29 96q68 16 125 31q49 12 96.5 22t67.5 10q66 0 123 -30.5t100 -80.5 t68 -114.5t25 -132.5l2 -586l38 -37l-73 -73l-56 55q-66 -37 -136 -51t-111 -14q-57 0 -107.5 23.5t-87.5 63t-57.5 93t-20.5 112.5zM159 1282l205 256h113l205 -256h-101l-159 166l-160 -166h-103zM199 264q0 -37 13 -68.5t35.5 -55t53.5 -38t66 -14.5q31 0 70.5 11.5 t76.5 25.5q43 16 88 37v336q0 2 -18.5 13t-50 24.5t-74.5 24.5t-90 11q-35 0 -67 -14t-54.5 -38.5t-35.5 -56.5t-13 -69v-129z" />
+<glyph unicode="&#xe3;" horiz-adv-x="825" d="M96 272v115q0 59 20.5 111.5t57.5 91.5t87 61.5t108 22.5q14 0 43.5 -2t63.5 -8.5t69 -17.5t59 -30v70q0 47 -17.5 93t-46 83t-67.5 59.5t-84 22.5q-16 0 -58 -10t-87 -21q-53 -12 -115 -28l-29 96q68 16 125 31q49 12 96.5 22t67.5 10q66 0 123 -30.5t100 -80.5 t68 -114.5t25 -132.5l2 -586l38 -37l-73 -73l-56 55q-66 -37 -136 -51t-111 -14q-57 0 -107.5 23.5t-87.5 63t-57.5 93t-20.5 112.5zM115 1341h561l47 -102h-557zM199 264q0 -37 13 -68.5t35.5 -55t53.5 -38t66 -14.5q31 0 70.5 11.5t76.5 25.5q43 16 88 37v336 q0 2 -18.5 13t-50 24.5t-74.5 24.5t-90 11q-35 0 -67 -14t-54.5 -38.5t-35.5 -56.5t-13 -69v-129z" />
+<glyph unicode="&#xe4;" horiz-adv-x="825" d="M96 272v115q0 59 20.5 111.5t57.5 91.5t87 61.5t108 22.5q14 0 43.5 -2t63.5 -8.5t69 -17.5t59 -30v70q0 47 -17.5 93t-46 83t-67.5 59.5t-84 22.5q-16 0 -58 -10t-87 -21q-53 -12 -115 -28l-29 96q68 16 125 31q49 12 96.5 22t67.5 10q66 0 123 -30.5t100 -80.5 t68 -114.5t25 -132.5l2 -586l38 -37l-73 -73l-56 55q-66 -37 -136 -51t-111 -14q-57 0 -107.5 23.5t-87.5 63t-57.5 93t-20.5 112.5zM147 1229v157h119v-157h-119zM199 264q0 -37 13 -68.5t35.5 -55t53.5 -38t66 -14.5q31 0 70.5 11.5t76.5 25.5q43 16 88 37v336 q0 2 -18.5 13t-50 24.5t-74.5 24.5t-90 11q-35 0 -67 -14t-54.5 -38.5t-35.5 -56.5t-13 -69v-129zM552 1229v157h119v-157h-119z" />
+<glyph unicode="&#xe6;" horiz-adv-x="1320" d="M96 272v115q0 59 20.5 111.5t57.5 91.5t87 61.5t108 22.5q14 0 41.5 -2t61.5 -8.5t68.5 -16.5t59.5 -29v97q-6 43 -24.5 85t-46 73.5t-63.5 51t-77 19.5q-16 0 -58 -10t-87 -21q-53 -12 -115 -28l-29 96q68 16 125 31q49 12 96.5 22t67.5 10q76 0 140.5 -39.5 t107.5 -103.5q35 66 99.5 104.5t142.5 38.5h69q57 0 108.5 -22.5t90.5 -61t60.5 -92t21.5 -114.5v-68q0 -86 -31 -144.5t-84 -95t-123.5 -52t-150.5 -15.5q-33 0 -66 2t-67 6v-123q14 -82 76.5 -130t142.5 -48q8 0 52 9t93 20q57 12 127 28l25 -108q-76 -16 -138 -27 q-53 -10 -101 -18t-58 -8q-37 0 -76 9t-73 24.5t-61.5 35t-41.5 39.5q-8 -4 -17 -12q-8 -6 -18.5 -13.5t-24.5 -15.5q-66 -41 -135 -55t-110 -14q-57 0 -107.5 23.5t-87.5 63t-57.5 93t-20.5 112.5zM199 264q0 -37 13 -68.5t35.5 -55t53.5 -38t66 -14.5q31 0 70.5 11.5 t76.5 25.5q43 16 88 37v98q-2 10 -2 20.5v20.5v199q-6 4 -25.5 15t-50 23.5t-70.5 22.5t-85 10q-35 0 -67 -14t-54.5 -38.5t-35.5 -56.5t-13 -69v-129zM707 496h241q37 -2 69 12t55.5 39.5t36.5 59.5t13 71v86q0 49 -18.5 83t-48 54.5t-69.5 29.5t-83 9q-39 0 -74.5 -12.5 t-62.5 -35t-43 -55t-16 -73.5v-268z" />
+<glyph unicode="&#xe7;" horiz-adv-x="706" d="M113 303v428q0 70 25.5 128.5t68.5 99t101.5 64.5t125.5 24q33 0 69 -8.5t66 -18.5q37 -10 72 -25l-25 -88q-31 10 -63 19q-29 8 -59.5 14t-59.5 6q-90 0 -154.5 -58.5t-64.5 -156.5v-428q0 -49 17.5 -89t48 -68.5t70.5 -44t85 -15.5q20 0 51 5t60 11q35 8 71 19l33 -94 q-41 -14 -78 -23q-33 -8 -70.5 -14t-66.5 -6q-68 0 -126 23.5t-102 66.5t-69.5 101t-25.5 128zM305 -381q35 16 55.5 62.5t20.5 119.5v105h98v-107q0 -115 -30.5 -172t-83.5 -82z" />
+<glyph unicode="&#xe8;" horiz-adv-x="833" d="M113 301v453q0 61 21.5 114.5t59 92t88 61t109.5 22.5h70q57 0 108.5 -22.5t90 -61t60 -92t21.5 -114.5v-68q0 -86 -30.5 -144.5t-84 -95t-124 -52t-150.5 -15.5q-33 0 -65.5 2t-67.5 6v-123q14 -82 76.5 -130t142.5 -48q8 0 52.5 9t93.5 20q57 12 127 28l24 -108 q-76 -16 -137 -27q-53 -10 -101 -18t-59 -8q-66 0 -125 23.5t-104 66.5t-70.5 101t-25.5 128zM166 1507h125l198 -301h-106zM219 496l242 -2h4q37 0 67.5 15t53 40.5t36 58.5t13.5 70v86q0 49 -18.5 83t-48 54.5t-69.5 29.5t-83 9q-39 0 -75 -12.5t-62.5 -35t-43 -55 t-16.5 -73.5v-268z" />
+<glyph unicode="&#xe9;" horiz-adv-x="833" d="M113 301v453q0 61 21.5 114.5t59 92t88 61t109.5 22.5h70q57 0 108.5 -22.5t90 -61t60 -92t21.5 -114.5v-68q0 -86 -30.5 -144.5t-84 -95t-124 -52t-150.5 -15.5q-33 0 -65.5 2t-67.5 6v-123q14 -82 76.5 -130t142.5 -48q8 0 52.5 9t93.5 20q57 12 127 28l24 -108 q-76 -16 -137 -27q-53 -10 -101 -18t-59 -8q-66 0 -125 23.5t-104 66.5t-70.5 101t-25.5 128zM219 496l242 -2h4q37 0 67.5 15t53 40.5t36 58.5t13.5 70v86q0 49 -18.5 83t-48 54.5t-69.5 29.5t-83 9q-39 0 -75 -12.5t-62.5 -35t-43 -55t-16.5 -73.5v-268zM375 1208l198 301 h125l-217 -301h-106z" />
+<glyph unicode="&#xea;" horiz-adv-x="833" d="M113 301v453q0 61 21.5 114.5t59 92t88 61t109.5 22.5h70q57 0 108.5 -22.5t90 -61t60 -92t21.5 -114.5v-68q0 -86 -30.5 -144.5t-84 -95t-124 -52t-150.5 -15.5q-33 0 -65.5 2t-67.5 6v-123q14 -82 76.5 -130t142.5 -48q8 0 52.5 9t93.5 20q57 12 127 28l24 -108 q-76 -16 -137 -27q-53 -10 -101 -18t-59 -8q-66 0 -125 23.5t-104 66.5t-70.5 101t-25.5 128zM155 1282l205 256h113l205 -256h-101l-159 166l-160 -166h-103zM219 496l242 -2h4q37 0 67.5 15t53 40.5t36 58.5t13.5 70v86q0 49 -18.5 83t-48 54.5t-69.5 29.5t-83 9 q-39 0 -75 -12.5t-62.5 -35t-43 -55t-16.5 -73.5v-268z" />
+<glyph unicode="&#xeb;" horiz-adv-x="833" d="M113 301v453q0 61 21.5 114.5t59 92t88 61t109.5 22.5h70q57 0 108.5 -22.5t90 -61t60 -92t21.5 -114.5v-68q0 -86 -30.5 -144.5t-84 -95t-124 -52t-150.5 -15.5q-33 0 -65.5 2t-67.5 6v-123q14 -82 76.5 -130t142.5 -48q8 0 52.5 9t93.5 20q57 12 127 28l24 -108 q-76 -16 -137 -27q-53 -10 -101 -18t-59 -8q-66 0 -125 23.5t-104 66.5t-70.5 101t-25.5 128zM172 1229v157h119v-157h-119zM219 496l242 -2h4q37 0 67.5 15t53 40.5t36 58.5t13.5 70v86q0 49 -18.5 83t-48 54.5t-69.5 29.5t-83 9q-39 0 -75 -12.5t-62.5 -35t-43 -55 t-16.5 -73.5v-268zM577 1229v157h119v-157h-119z" />
+<glyph unicode="&#xec;" horiz-adv-x="370" d="M-92 1507h125l198 -301h-106zM131 0v1024h109v-1024h-109z" />
+<glyph unicode="&#xed;" horiz-adv-x="370" d="M131 0v1024h109v-1024h-109zM133 1208l199 301h125l-217 -301h-107z" />
+<glyph unicode="&#xee;" horiz-adv-x="370" d="M-74 1282l205 256h113l205 -256h-101l-159 166l-160 -166h-103zM131 0v1024h109v-1024h-109zM131 1274v160h109v-160h-109z" />
+<glyph unicode="&#xef;" horiz-adv-x="370" d="M-76 1229v157h119v-157h-119zM131 0v1024h109v-1024h-109zM330 1229v157h119v-157h-119z" />
+<glyph unicode="&#xf1;" horiz-adv-x="884" d="M88 967l74 73l61 -61q113 63 213 63q92 0 172 -38t121 -130q25 -51 29 -103t4 -107v-664h-109v727q0 104 -55 159.5t-125 55.5q-39 0 -99.5 -12t-135.5 -62v-868h-105v924zM129 1341h561l47 -102h-557z" />
+<glyph unicode="&#xf2;" d="M115 281v473q0 94 34.5 151.5t84 88t102.5 40.5t92 10t92 -10t102.5 -40.5t84 -88t34.5 -151.5v-473q0 -94 -34.5 -151.5t-84 -89.5t-102.5 -42t-92 -10t-92 10t-102.5 42t-84 89t-34.5 152zM160 1507h125l198 -301h-106zM207 295q0 -68 24.5 -108t59.5 -62.5t72.5 -29.5 t64.5 -7t64.5 7t71.5 29.5t58.5 62.5t24.5 108v444q0 68 -24.5 108t-58.5 61.5t-71.5 28.5t-64.5 7t-64.5 -7t-72.5 -28.5t-59.5 -61.5t-24.5 -108v-444z" />
+<glyph unicode="&#xf3;" d="M115 281v473q0 94 34.5 151.5t84 88t102.5 40.5t92 10t92 -10t102.5 -40.5t84 -88t34.5 -151.5v-473q0 -94 -34.5 -151.5t-84 -89.5t-102.5 -42t-92 -10t-92 10t-102.5 42t-84 89t-34.5 152zM207 295q0 -68 24.5 -108t59.5 -62.5t72.5 -29.5t64.5 -7t64.5 7t71.5 29.5 t58.5 62.5t24.5 108v444q0 68 -24.5 108t-58.5 61.5t-71.5 28.5t-64.5 7t-64.5 -7t-72.5 -28.5t-59.5 -61.5t-24.5 -108v-444zM365 1208l198 301h125l-217 -301h-106z" />
+<glyph unicode="&#xf4;" d="M115 281v473q0 94 34.5 151.5t84 88t102.5 40.5t92 10t92 -10t102.5 -40.5t84 -88t34.5 -151.5v-473q0 -94 -34.5 -151.5t-84 -89.5t-102.5 -42t-92 -10t-92 10t-102.5 42t-84 89t-34.5 152zM166 1282l205 256h113l205 -256h-101l-159 166l-160 -166h-103zM207 295 q0 -68 24.5 -108t59.5 -62.5t72.5 -29.5t64.5 -7t64.5 7t71.5 29.5t58.5 62.5t24.5 108v444q0 68 -24.5 108t-58.5 61.5t-71.5 28.5t-64.5 7t-64.5 -7t-72.5 -28.5t-59.5 -61.5t-24.5 -108v-444z" />
+<glyph unicode="&#xf5;" d="M115 281v473q0 94 34.5 151.5t84 88t102.5 40.5t92 10t92 -10t102.5 -40.5t84 -88t34.5 -151.5v-473q0 -94 -34.5 -151.5t-84 -89.5t-102.5 -42t-92 -10t-92 10t-102.5 42t-84 89t-34.5 152zM127 1341h561l47 -102h-557zM207 295q0 -68 24.5 -108t59.5 -62.5t72.5 -29.5 t64.5 -7t64.5 7t71.5 29.5t58.5 62.5t24.5 108v444q0 68 -24.5 108t-58.5 61.5t-71.5 28.5t-64.5 7t-64.5 -7t-72.5 -28.5t-59.5 -61.5t-24.5 -108v-444z" />
+<glyph unicode="&#xf6;" d="M115 281v473q0 94 34.5 151.5t84 88t102.5 40.5t92 10t92 -10t102.5 -40.5t84 -88t34.5 -151.5v-473q0 -94 -34.5 -151.5t-84 -89.5t-102.5 -42t-92 -10t-92 10t-102.5 42t-84 89t-34.5 152zM166 1229v157h119v-157h-119zM207 295q0 -68 24.5 -108t59.5 -62.5t72.5 -29.5 t64.5 -7t64.5 7t71.5 29.5t58.5 62.5t24.5 108v444q0 68 -24.5 108t-58.5 61.5t-71.5 28.5t-64.5 7t-64.5 -7t-72.5 -28.5t-59.5 -61.5t-24.5 -108v-444zM571 1229v157h119v-157h-119z" />
+<glyph unicode="&#xf7;" horiz-adv-x="931" d="M116 369v131h703v-131h-703zM404 2v180h141v-180h-141zM406 657v185h141v-185h-141z" />
+<glyph unicode="&#xf8;" horiz-adv-x="858" d="M115 281v473q0 94 34.5 151.5t84 88t102.5 40.5t92 10t92 -10t102.5 -40.5t84 -88t34.5 -151.5v-473q0 -94 -34.5 -151.5t-84 -89.5t-102.5 -42t-92 -10t-92 10t-102.5 42t-84 89t-34.5 152zM207 295q0 -68 24.5 -108t59.5 -62.5t72.5 -29.5t64.5 -7t64.5 7t71.5 29.5 t58.5 62.5t24.5 108v444q0 68 -24.5 108t-58.5 61.5t-71.5 28.5t-64.5 7t-64.5 -7t-72.5 -28.5t-59.5 -61.5t-24.5 -108v-444zM262 -180l207 1430h123l-207 -1430h-123z" />
+<glyph unicode="&#xf9;" horiz-adv-x="884" d="M125 362v662h106v-725q0 -53 15.5 -93t41 -66.5t58.5 -41t68 -14.5q66 0 132 23.5t103 50.5v866h105v-922l45 -43l-74 -73l-61 61q-59 -33 -127 -48t-121 -15q-74 0 -145.5 38t-112.5 130q-25 51 -29 103t-4 107zM166 1507h125l198 -301h-106z" />
+<glyph unicode="&#xfa;" horiz-adv-x="884" d="M125 362v662h106v-725q0 -53 15.5 -93t41 -66.5t58.5 -41t68 -14.5q66 0 132 23.5t103 50.5v866h105v-922l45 -43l-74 -73l-61 61q-59 -33 -127 -48t-121 -15q-74 0 -145.5 38t-112.5 130q-25 51 -29 103t-4 107zM367 1208l198 301h125l-217 -301h-106z" />
+<glyph unicode="&#xfb;" horiz-adv-x="884" d="M125 362v662h106v-725q0 -53 15.5 -93t41 -66.5t58.5 -41t68 -14.5q66 0 132 23.5t103 50.5v866h105v-922l45 -43l-74 -73l-61 61q-59 -33 -127 -48t-121 -15q-74 0 -145.5 38t-112.5 130q-25 51 -29 103t-4 107zM176 1282l205 256h113l205 -256h-101l-159 166l-160 -166 h-103z" />
+<glyph unicode="&#xfc;" horiz-adv-x="884" d="M125 362v662h106v-725q0 -53 15.5 -93t41 -66.5t58.5 -41t68 -14.5q66 0 132 23.5t103 50.5v866h105v-922l45 -43l-74 -73l-61 61q-59 -33 -127 -48t-121 -15q-74 0 -145.5 38t-112.5 130q-25 51 -29 103t-4 107zM182 1229v157h119v-157h-119zM587 1229v157h119v-157 h-119z" />
+<glyph unicode="&#xfd;" horiz-adv-x="768" d="M45 1024h105q53 -225 95 -382t70 -257q33 -117 56 -192h24q18 76 49 192q27 100 69 257t105 382h105l-274 -1024h-13l-84 -512h-104l84 512h-15zM316 1208l198 301h125l-217 -301h-106z" />
+<glyph unicode="&#xfe;" horiz-adv-x="858" d="M131 -512v1944h2h100h3v-447q82 43 141 50t94 7q57 0 106.5 -22.5t86 -62t58 -92t21.5 -111.5v-484q0 -59 -21.5 -111.5t-58 -91t-86 -61t-106.5 -22.5q-43 0 -107.5 10t-130.5 43v-549h-102zM238 143q59 -31 114.5 -45t120.5 -14q35 0 65.5 14.5t53 39t36 56t13.5 68.5 v498q0 74 -49 126t-121 52q-49 0 -117.5 -17.5t-115.5 -54.5v-723z" />
+<glyph unicode="&#xff;" horiz-adv-x="768" d="M45 1024h105q53 -225 95 -382t70 -257q33 -117 56 -192h24q18 76 49 192q27 100 69 257t105 382h105l-274 -1024h-13l-84 -512h-104l84 512h-15zM125 1229v157h119v-157h-119zM530 1229v157h119v-157h-119z" />
+<glyph unicode="&#x152;" horiz-adv-x="1480" d="M139 373v717q0 45 17.5 110.5t62.5 125.5t121 103.5t192 43.5q96 0 164 -31t115 -78v90h578v-117h-461v-536h360v-119h-360v-541h465v-118h-582v79q-47 -43 -114.5 -71.5t-166.5 -28.5q-115 0 -190.5 41t-119.5 99.5t-62.5 122t-18.5 108.5zM250 371q0 -82 31.5 -130 t76.5 -74t93.5 -33t80.5 -7q31 0 75 7t87 28.5t76 62.5t41 111v792q-8 70 -41 113t-76 66.5t-87 32t-75 8.5q-33 0 -81 -10.5t-93 -38t-76.5 -78t-31.5 -131.5v-719z" />
+<glyph unicode="&#x153;" horiz-adv-x="1368" d="M115 276v474q0 94 34.5 151t84 88t102.5 41t92 10t92 -10t102.5 -41t84 -88t34.5 -151v-474q0 -94 -34.5 -151t-84 -89t-102.5 -42t-92 -10t-92 10t-102.5 42t-84 89t-34.5 151zM207 291q0 -68 24.5 -108t59.5 -62.5t72.5 -29.5t64.5 -7t64.5 7t71.5 29.5t58.5 62.5 t24.5 108v444q0 68 -24.5 108t-58.5 61.5t-71.5 28.5t-64.5 7t-64.5 -7t-72.5 -28.5t-59.5 -61.5t-24.5 -108v-444zM647 301v453q0 61 21.5 114.5t59.5 92t88 61t110 22.5h69q57 0 108.5 -22.5t90.5 -61t60.5 -92t21.5 -114.5v-68q0 -86 -31 -144.5t-84 -95t-123.5 -52 t-150.5 -15.5q-33 0 -66 2t-67 6v-123q14 -82 76.5 -130t142.5 -48q20 0 65 8t92 19q53 12 115 28l25 -106q-66 -16 -123 -27q-49 -10 -98.5 -18t-75.5 -8q-66 0 -125.5 23.5t-104.5 66.5t-70.5 101t-25.5 128zM754 496l241 -2h4q37 0 68 15t53.5 40.5t35.5 58.5t13 70v86 q0 49 -18 83t-48 54.5t-70 29.5t-83 9q-39 0 -74.5 -12.5t-62.5 -35t-43 -55t-16 -73.5v-268z" />
+<glyph unicode="&#x178;" horiz-adv-x="886" d="M31 1434h114l281 -660h35l280 660h115l-324 -783h-28v-651h-123v651h-25zM188 1639v157h119v-157h-119zM593 1639v157h119v-157h-119z" />
+<glyph unicode="&#x2c6;" horiz-adv-x="811" d="M143 1282l205 256h113l205 -256h-101l-159 166l-160 -166h-103z" />
+<glyph unicode="&#x2dc;" horiz-adv-x="1017" d="M205 1341h561l47 -102h-557z" />
+<glyph unicode="&#x2000;" horiz-adv-x="974" />
+<glyph unicode="&#x2001;" horiz-adv-x="1948" />
+<glyph unicode="&#x2002;" horiz-adv-x="974" />
+<glyph unicode="&#x2003;" horiz-adv-x="1948" />
+<glyph unicode="&#x2004;" horiz-adv-x="649" />
+<glyph unicode="&#x2005;" horiz-adv-x="487" />
+<glyph unicode="&#x2006;" horiz-adv-x="324" />
+<glyph unicode="&#x2007;" horiz-adv-x="324" />
+<glyph unicode="&#x2008;" horiz-adv-x="243" />
+<glyph unicode="&#x2009;" horiz-adv-x="389" />
+<glyph unicode="&#x200a;" horiz-adv-x="108" />
+<glyph unicode="&#x2010;" horiz-adv-x="741" d="M125 662v131h491v-131h-491z" />
+<glyph unicode="&#x2011;" horiz-adv-x="741" d="M125 662v131h491v-131h-491z" />
+<glyph unicode="&#x2012;" horiz-adv-x="741" d="M125 662v131h491v-131h-491z" />
+<glyph unicode="&#x2013;" horiz-adv-x="948" d="M121 428v111h702v-111h-702z" />
+<glyph unicode="&#x2014;" horiz-adv-x="1503" d="M121 428v111h1257v-111h-1257z" />
+<glyph unicode="&#x201a;" horiz-adv-x="382" d="M84 756q35 16 61.5 54t26.5 112v104h119v-106q0 -115 -47 -184.5t-125 -102.5z" />
+<glyph unicode="&#x201c;" horiz-adv-x="647" d="M100 1044v107q0 115 47.5 184.5t124.5 102.5l35 -123q-35 -16 -61.5 -54t-26.5 -112v-105h-119zM369 1044v107q0 115 47 184.5t125 102.5l34 -123q-35 -16 -61.5 -54t-26.5 -112v-105h-118z" />
+<glyph unicode="&#x201d;" horiz-adv-x="638" d="M76 1163q35 16 61.5 54t26.5 112v105h119v-107q0 -115 -47.5 -184.5t-124.5 -102.5zM344 1163q35 16 61.5 54t26.5 112v105h119v-107q0 -115 -47 -184.5t-125 -102.5z" />
+<glyph unicode="&#x2022;" horiz-adv-x="606" d="M92 506q0 43 16.5 82t45 68.5t67.5 46t82 16.5t82 -16.5t68.5 -46t46 -68.5t16.5 -82t-16.5 -82t-46 -68.5t-68.5 -46t-82 -16.5t-82 16.5t-67.5 46t-45 68.5t-16.5 82z" />
+<glyph unicode="&#x2026;" horiz-adv-x="1030" d="M115 10v180h141v-180h-141zM444 10v180h142v-180h-142zM774 10v180h141v-180h-141z" />
+<glyph unicode="&#x202f;" horiz-adv-x="389" />
+<glyph unicode="&#x205f;" horiz-adv-x="487" />
+<glyph unicode="&#x20ac;" horiz-adv-x="952" d="M86 512v90h147v156h-147v90h147v231q0 59 21.5 110.5t58.5 89.5t86.5 59.5t106.5 21.5h67q55 0 104.5 -21.5t86.5 -59.5t58.5 -89t21.5 -111v-47h-105v47q0 82 -57 126t-133 44q-43 0 -81 -8t-66.5 -28.5t-46 -52.5t-17.5 -81v-231h313v-90h-313v-156h313v-90h-313v-225 q0 -74 48 -126t120 -52h65q70 0 119 52t49 126v47h105v-53q0 -59 -21.5 -110.5t-58.5 -89.5t-86 -59.5t-107 -21.5h-67q-57 0 -106.5 21.5t-86.5 59.5t-57.5 89t-20.5 111v231h-147z" />
+<glyph unicode="&#x2122;" horiz-adv-x="1138" d="M117 1384v50h348v-50h-148v-591h-49v591h-151zM575 793v641h80l119 -400h14l121 400h80v-641h-49v532h-12l-107 -344h-80l-106 344h-12v-532h-48z" />
+<glyph unicode="&#xe000;" horiz-adv-x="1024" d="M0 0v1024h1024v-1024h-1024z" />
+<glyph unicode="&#xfb01;" horiz-adv-x="948" d="M51 924v100h182v160q0 72 18.5 123t50.5 82.5t76 47t95 15.5h37v-111h-27q-57 0 -101 -30.5t-44 -112.5v-174h479v-1024h-108v924h-369v-924h-109v924h-180zM709 1274v160h108v-160h-108z" />
+<glyph unicode="&#xfb02;" horiz-adv-x="999" d="M51 924v100h182v160q0 72 18.5 123t50.5 82.5t76 47t95 15.5h37v-111h-27q-57 0 -101 -30.5t-44 -112.5v-174h371v410h106v-1174q0 -84 42 -115.5t101 -31.5h27v-111h-37q-51 0 -95 15.5t-76 47t-50 82.5t-18 123v654h-369v-924h-109v924h-180z" />
+</font>
+</defs></svg> 
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/fonts/marvel/marvel-400-normal-webfont.ttf b/app/design/frontend/magento_plushe/fonts/marvel/marvel-400-normal-webfont.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..d5a74aa443599e53c460081f4b2324fab92944f4
Binary files /dev/null and b/app/design/frontend/magento_plushe/fonts/marvel/marvel-400-normal-webfont.ttf differ
diff --git a/app/design/frontend/magento_plushe/fonts/marvel/marvel-400-normal-webfont.woff b/app/design/frontend/magento_plushe/fonts/marvel/marvel-400-normal-webfont.woff
new file mode 100644
index 0000000000000000000000000000000000000000..ed785d30386afa962bc77e1d6a080d98e0ffc5ad
Binary files /dev/null and b/app/design/frontend/magento_plushe/fonts/marvel/marvel-400-normal-webfont.woff differ
diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-200-normal-webfont.eot b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-200-normal-webfont.eot
new file mode 100644
index 0000000000000000000000000000000000000000..e22984c8074248543b6c0886af2e8037ca751861
Binary files /dev/null and b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-200-normal-webfont.eot differ
diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-200-normal-webfont.svg b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-200-normal-webfont.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6cdfecda0803d3271edee579817564209f419d8a
--- /dev/null
+++ b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-200-normal-webfont.svg
@@ -0,0 +1,245 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata></metadata>
+<defs>
+<font id="source_sans_prolight" horiz-adv-x="980" >
+<font-face units-per-em="2048" ascent="1536" descent="-512" />
+<missing-glyph horiz-adv-x="407" />
+<glyph horiz-adv-x="0" />
+<glyph horiz-adv-x="682" />
+<glyph horiz-adv-x="0" />
+<glyph horiz-adv-x="0" />
+<glyph unicode="&#xd;" horiz-adv-x="407" />
+<glyph unicode=" "  horiz-adv-x="407" />
+<glyph unicode="&#x09;" horiz-adv-x="407" />
+<glyph unicode="&#xa0;" horiz-adv-x="407" />
+<glyph unicode="!" horiz-adv-x="530" d="M178 68q0 45 26.5 69.5t61.5 24.5t60.5 -24.5t25.5 -69.5q0 -43 -25.5 -68t-60.5 -25t-61.5 25t-26.5 68zM219 1227v145h94l-2 -145l-12 -860h-68z" />
+<glyph unicode="&#x22;" horiz-adv-x="737" d="M170 1419h104v-141l-18 -301h-68l-16 301zM459 1419h104v-141l-18 -301h-68l-16 301z" />
+<glyph unicode="#" d="M74 438v74h178l43 348h-180v74h188l51 397h72l-51 -397h305l53 397h70l-51 -397h168v-74h-175l-43 -348h177v-74h-187l-51 -438h-72l52 438h-306l-53 -438h-72l54 438h-170zM324 512h307l43 348h-307z" />
+<glyph unicode="$" d="M121 135l49 64q59 -53 141 -98.5t189 -45.5q129 0 197.5 70t68.5 182q0 100 -44 162.5t-109.5 107t-142.5 79t-142.5 79.5t-109.5 109.5t-44 169.5q0 63 21.5 118.5t59.5 97.5t91 68.5t117 32.5v203h80v-203q100 -6 163.5 -47t116.5 -96l-53 -58q-29 29 -56.5 51.5 t-58 39t-67.5 24.5t-84 8q-106 0 -172 -66.5t-66 -168.5q0 -90 44 -144.5t109.5 -94.5t142.5 -73.5t142.5 -82t109.5 -121t44 -189.5q0 -147 -89 -235t-226 -101v-202h-80v202q-106 8 -194.5 54.5t-147.5 103.5z" />
+<glyph unicode="%" horiz-adv-x="1648" d="M82 952q0 205 77 313.5t212 108.5t211.5 -108.5t76.5 -313.5q0 -207 -76.5 -316.5t-211.5 -109.5t-212 110t-77 316zM162 952q0 -172 56.5 -265t152.5 -93t152.5 93t56.5 265t-56.5 263.5t-152.5 91.5t-152.5 -91.5t-56.5 -263.5zM405 -25l754 1399h78l-752 -1399h-80z M989 401q0 205 77 313.5t212 108.5t211.5 -108.5t76.5 -313.5q0 -207 -76.5 -316.5t-211.5 -109.5t-212 110t-77 316zM1069 401q0 -172 56.5 -265t152.5 -93t152.5 93t56.5 265t-56.5 263.5t-152.5 91.5t-152.5 -91.5t-56.5 -263.5z" />
+<glyph unicode="&#x26;" horiz-adv-x="1177" d="M74 342q0 68 23.5 123t61.5 103t88 90t103 81q-41 86 -65.5 171t-24.5 163q0 66 20.5 121t57.5 95t88 62.5t113 22.5q111 0 168 -69.5t57 -176.5q0 -66 -26.5 -121t-70.5 -103t-100.5 -92t-113.5 -87q72 -129 171 -250t203 -213q72 92 125.5 204t87.5 241h88 q-41 -139 -99 -265.5t-140 -230.5q72 -57 137.5 -95t124.5 -61l-31 -80q-133 47 -289 170q-74 -76 -163.5 -123t-204.5 -47q-80 0 -151.5 26t-124 74t-83 115.5t-30.5 151.5zM166 348q0 -68 24.5 -122t65.5 -92t97.5 -59.5t117.5 -21.5q84 0 160 40t139 106 q-109 98 -210 221t-173 254q-45 -35 -85 -72t-70.5 -77t-48 -84t-17.5 -93zM344 1077q0 -68 20.5 -140.5t55.5 -145.5q51 37 98 73.5t84 77.5t58.5 85t21.5 97q0 33 -8 65t-25.5 56.5t-45.5 39.5t-68 15q-90 0 -140.5 -65.5t-50.5 -157.5z" />
+<glyph unicode="'" horiz-adv-x="448" d="M170 1419h104v-141l-18 -301h-68l-16 301z" />
+<glyph unicode="(" horiz-adv-x="571" d="M180 569q0 270 72 496.5t199 431.5l55 -33q-123 -195 -184.5 -423t-61.5 -472t61.5 -472t184.5 -423l-55 -32q-127 205 -199 431t-72 496z" />
+<glyph unicode=")" horiz-adv-x="571" d="M66 -326q123 195 184 423.5t61 471.5q0 244 -61.5 472.5t-183.5 422.5l55 33q125 -205 197.5 -431t72.5 -497q0 -270 -72.5 -496.5t-197.5 -430.5z" />
+<glyph unicode="*" horiz-adv-x="808" d="M143 1241l19 62l194 -54l15 209h65l15 -207l194 52l21 -62l-185 -74l111 -180l-55 -41l-131 170l-136 -170l-55 41l113 180z" />
+<glyph unicode="+" d="M70 637v78h379v411h83v-411h379v-78h-379v-412h-83v412h-379z" />
+<glyph unicode="," horiz-adv-x="448" d="M98 -256q70 37 113 99.5t45 148.5q-8 -2 -25 -2q-35 0 -60.5 22.5t-25.5 63.5t27 63.5t61 22.5q47 0 76 -39t29 -107q0 -113 -59.5 -198.5t-151.5 -134.5z" />
+<glyph unicode="-" horiz-adv-x="612" d="M82 471v80h450v-80h-450z" />
+<glyph unicode="." horiz-adv-x="448" d="M137 68q0 45 26.5 69.5t61.5 24.5t60.5 -24.5t25.5 -69.5q0 -43 -25.5 -68t-60.5 -25t-61.5 25t-26.5 68z" />
+<glyph unicode="/" horiz-adv-x="731" d="M18 -328l625 1782h78l-623 -1782h-80z" />
+<glyph unicode="0" d="M98 659q0 328 101.5 501t289.5 173t290 -173t102 -501q0 -330 -102 -507t-290 -177t-289.5 177.5t-101.5 506.5zM190 659q0 -301 82 -453.5t217 -152.5q137 0 218 152.5t81 453.5t-80.5 448.5t-218.5 147.5q-135 0 -217 -147t-82 -449z" />
+<glyph unicode="1" d="M172 0v80h307v1085h-233v62q80 14 142.5 34.5t109.5 47.5h73v-1229h285v-80h-684z" />
+<glyph unicode="2" d="M80 1141q74 82 163 137t210 55q176 0 272 -100t96 -266q0 -98 -43 -195.5t-120.5 -205t-189.5 -229.5t-247 -265q53 4 109.5 7t109.5 3h447v-82h-803v57q162 164 282.5 294t201.5 237.5t121 199t40 177.5q0 123 -68.5 206.5t-216.5 83.5q-90 0 -167.5 -49t-137.5 -123z " />
+<glyph unicode="3" d="M59 160l54 63q29 -33 63.5 -62.5t78.5 -53t98.5 -38t121.5 -14.5q66 0 122 20.5t97 58.5t63.5 91.5t22.5 118.5q0 68 -25.5 123t-81 95t-141.5 62.5t-208 22.5v80q113 0 191.5 22.5t126.5 60.5t69.5 90t21.5 112q0 111 -71.5 177t-192.5 66q-92 0 -168 -42t-133 -101 l-53 62q68 66 153.5 112.5t200.5 46.5q76 0 141.5 -21.5t113.5 -61.5t75.5 -98t27.5 -134q0 -129 -70.5 -208t-178.5 -116v-8q61 -12 114 -42t94 -73t64.5 -99t23.5 -126q0 -86 -30.5 -154.5t-84.5 -116.5t-127 -74t-157 -26q-78 0 -141.5 16.5t-113.5 43t-90 59.5t-71 66z " />
+<glyph unicode="4" d="M33 391v53l608 865h82v-840h195v-78h-195v-391h-88v391h-602zM143 469h492v479q0 45 2 112.5t6 113.5h-8q-25 -41 -51.5 -80t-55.5 -84z" />
+<glyph unicode="5" d="M53 152l51 63q29 -31 64 -59.5t78 -51t96 -36t121 -13.5q66 0 125 25.5t103 72t70.5 111t26.5 144.5q0 160 -86 248.5t-233 88.5q-76 0 -130 -23.5t-114 -64.5l-63 39l47 613h604v-80h-522l-41 -473q51 31 106.5 50t126.5 19q82 0 156 -24.5t127 -74.5t85 -129t32 -185 q0 -104 -36 -185.5t-94.5 -137.5t-133 -85t-154.5 -29q-78 0 -140.5 15.5t-112.5 41t-89 57.5t-70 63z" />
+<glyph unicode="6" d="M106 594q0 205 40 346t106.5 229t154 126t181.5 38q92 0 158.5 -34.5t117.5 -92.5l-55 -61q-43 53 -100.5 80.5t-120.5 27.5q-78 0 -147.5 -32.5t-123 -108.5t-85 -200t-33.5 -304q68 84 152.5 133.5t176.5 49.5q174 0 269.5 -103.5t95.5 -302.5q0 -90 -28.5 -165 t-78 -129t-114 -85t-137.5 -31q-199 0 -314 160t-115 459zM201 516q6 -104 29.5 -189t64.5 -145.5t101.5 -94.5t140.5 -34q57 0 105 25.5t83 71t55.5 105.5t20.5 130t-16.5 130t-50.5 104.5t-88 69t-128 24.5q-70 0 -153.5 -44t-163.5 -153z" />
+<glyph unicode="7" d="M90 1229v80h805v-54q-117 -156 -193.5 -299t-123 -291.5t-66.5 -310t-29 -354.5h-98q8 199 33.5 363.5t73 311t119 281t169.5 273.5h-690z" />
+<glyph unicode="8" d="M82 336q0 66 23.5 123t61.5 103t84 82t93 61v8q-37 25 -70.5 54.5t-59.5 67t-42 82t-16 97.5q0 70 26.5 129t72.5 101t108.5 65.5t134.5 23.5q84 0 149.5 -25.5t111.5 -71.5t69.5 -108.5t23.5 -136.5q0 -53 -18.5 -103t-46 -93t-60.5 -78t-61 -58v-8q43 -27 84 -57.5 t72.5 -69.5t52 -90t20.5 -117q0 -72 -28.5 -134t-81 -108t-126 -73t-161.5 -27q-90 0 -166 28t-131.5 76t-87 113.5t-31.5 143.5zM172 340q0 -61 24.5 -113.5t67.5 -91.5t102.5 -61.5t131.5 -22.5q70 0 126 20.5t96 57.5t61.5 86t21.5 104q0 76 -34 128.5t-90 92.5 t-128 69.5t-148 60.5q-100 -59 -165.5 -140t-65.5 -190zM246 1014q0 -70 29.5 -120t78.5 -88t111.5 -66.5t128.5 -53.5q84 68 128 142.5t44 160.5q0 55 -18.5 103.5t-52 85t-84 58t-113.5 21.5q-55 0 -101.5 -18t-80 -50t-52 -77t-18.5 -98z" />
+<glyph unicode="9" d="M88 926q0 88 28.5 163.5t78 129t114 84t137.5 30.5q197 0 311.5 -158.5t114.5 -457.5q0 -207 -39.5 -348.5t-105 -228.5t-154 -126t-182.5 -39q-92 0 -159.5 35t-116.5 92l55 62q43 -53 100.5 -81t122.5 -28q78 0 147.5 33t123 108.5t85 199.5t33.5 304 q-68 -82 -153.5 -131t-177.5 -49q-172 0 -267.5 103.5t-95.5 302.5zM178 926q0 -72 16.5 -132.5t51.5 -104.5t88 -68.5t129 -24.5q70 0 153.5 46t163.5 153q-6 104 -29.5 189t-65.5 145.5t-102.5 93t-140.5 32.5q-55 0 -104 -25.5t-84 -69.5t-55.5 -104.5t-20.5 -129.5z" />
+<glyph unicode=":" horiz-adv-x="448" d="M137 68q0 45 26.5 69.5t61.5 24.5t60.5 -24.5t25.5 -69.5q0 -43 -25.5 -68t-60.5 -25t-61.5 25t-26.5 68zM137 850q0 45 26.5 69.5t61.5 24.5t60.5 -24.5t25.5 -69.5q0 -43 -25.5 -68t-60.5 -25t-61.5 25t-26.5 68z" />
+<glyph unicode=";" horiz-adv-x="448" d="M98 -256q70 37 113 99.5t45 148.5q-8 -2 -25 -2q-35 0 -60.5 22.5t-25.5 63.5t27 63.5t61 22.5q47 0 76 -39t29 -107q0 -113 -59.5 -198.5t-151.5 -134.5zM137 850q0 45 26.5 69.5t61.5 24.5t60.5 -24.5t25.5 -69.5q0 -43 -25.5 -68t-60.5 -25t-61.5 25t-26.5 68z" />
+<glyph unicode="&#x3c;" d="M70 635v90l841 336v-88l-475 -185l-272 -104v-8l272 -105l475 -184v-88z" />
+<glyph unicode="=" d="M70 430v78h841v-78h-841zM70 846v78h841v-78h-841z" />
+<glyph unicode="&#x3e;" d="M70 299v88l475 184l272 105v8l-272 104l-475 185v88l841 -336v-90z" />
+<glyph unicode="?" horiz-adv-x="823" d="M76 1237q59 68 139 114t186 46q76 0 135.5 -23.5t100.5 -65.5t62.5 -99.5t21.5 -125.5q0 -70 -25.5 -128t-62.5 -111t-79 -105.5t-76 -109t-53 -121t-9 -141.5h-82q-12 84 5 152.5t50 127t74 109.5t78 101t61.5 103.5t24.5 116.5q0 47 -13.5 91t-42 77t-72.5 52.5 t-104 19.5q-76 0 -144.5 -34t-119.5 -97zM295 68q0 45 25.5 69.5t60.5 24.5t61.5 -24.5t26.5 -69.5q0 -43 -26.5 -68t-61.5 -25t-60.5 25t-25.5 68z" />
+<glyph unicode="@" horiz-adv-x="1667" d="M106 414q0 201 67 363.5t178.5 278t259 178t309.5 62.5q147 0 267 -47t203 -132t128 -204.5t45 -265.5q0 -131 -35 -230.5t-90.5 -167t-122 -101t-129.5 -33.5q-82 0 -136.5 37.5t-62.5 117.5h-4q-53 -59 -115.5 -101t-134.5 -42q-47 0 -90 17.5t-74.5 52t-50 87 t-18.5 122.5q0 74 25.5 155.5t74.5 149t120 111.5t161 44q109 0 170 -98h4l18 82h70l-74 -387q-70 -276 123 -277q49 0 101.5 31t94.5 89.5t69.5 142t27.5 192.5q0 131 -40 239.5t-114 184.5t-179 118t-239 42q-141 0 -272 -57.5t-232.5 -163t-163 -254t-61.5 -330.5 q0 -150 45 -269.5t126 -202.5t195 -128t251 -45q102 0 186 26.5t158 71.5l33 -61q-176 -111 -383 -111q-147 0 -273.5 48t-218.5 139.5t-144.5 223.5t-52.5 302zM582 412q0 -117 47 -164t116 -47q102 0 222 137l63 354q-37 57 -70.5 79t-80.5 22q-70 0 -125.5 -36t-93 -91.5 t-58 -123t-20.5 -130.5z" />
+<glyph unicode="A" horiz-adv-x="1062" d="M8 0l477 1350h95l475 -1350h-101l-157 463h-535l-158 -463h-96zM291 543h479l-86 252q-41 121 -78 231.5t-71 235.5h-9q-35 -125 -71.5 -236t-77.5 -231z" />
+<glyph unicode="B" horiz-adv-x="1169" d="M193 0v1350h364q203 0 323.5 -80t120.5 -248q0 -106 -59 -185t-180 -110v-8q150 -23 236.5 -103.5t86.5 -222.5q0 -98 -35.5 -172t-101 -123t-158 -73.5t-206.5 -24.5h-391zM287 78h272q203 0 317.5 75.5t114.5 239.5q0 145 -112.5 216t-319.5 71h-272v-602zM287 756h231 q209 0 299 67.5t90 200.5q0 131 -95 189.5t-282 58.5h-243v-516z" />
+<glyph unicode="C" horiz-adv-x="1140" d="M104 678q0 160 42 289t118 220t182.5 139t235.5 48q119 0 208 -49t142 -113l-55 -61q-55 61 -129 99t-166 38q-111 0 -200 -43t-150.5 -122t-95 -191.5t-33.5 -253.5t32.5 -255t94 -193.5t148.5 -124t196 -44.5q104 0 186 41t156 125l55 -59q-78 -90 -173 -141.5 t-228 -51.5q-125 0 -228.5 49.5t-178.5 140.5t-117 221t-42 292z" />
+<glyph unicode="D" horiz-adv-x="1226" d="M193 0v1350h311q156 0 271.5 -47.5t191 -135.5t113.5 -210.5t38 -276.5t-38 -280t-113.5 -215t-190 -137t-270.5 -48h-313zM287 80h207q137 0 236 44t163.5 124t95.5 189.5t31 242.5q0 131 -31 239.5t-95.5 186.5t-163.5 121t-236 43h-207v-1190z" />
+<glyph unicode="E" horiz-adv-x="1038" d="M193 0v1350h737v-82h-643v-510h540v-82h-540v-594h663v-82h-757z" />
+<glyph unicode="F" horiz-adv-x="960" d="M193 0v1350h735v-82h-641v-537h540v-82h-540v-649h-94z" />
+<glyph unicode="G" horiz-adv-x="1222" d="M104 678q0 160 43 289t122 220t189.5 139t243.5 48q68 0 124.5 -14t101.5 -38t79.5 -52.5t61.5 -57.5l-55 -61q-53 57 -127 97t-185 40q-117 0 -209 -43t-156.5 -122t-99 -191.5t-34.5 -253.5t32.5 -255t96 -193.5t155 -124t205.5 -44.5q92 0 172 27t129 76v420h-321v80 h411v-535q-63 -68 -164.5 -111t-234.5 -43q-129 0 -236.5 49.5t-183.5 140.5t-118 221t-42 292z" />
+<glyph unicode="H" horiz-adv-x="1294" d="M193 0v1350h94v-592h721v592h94v-1350h-94v676h-721v-676h-94z" />
+<glyph unicode="I" horiz-adv-x="477" d="M193 0v1350h94v-1350h-94z" />
+<glyph unicode="J" horiz-adv-x="931" d="M76 174l71 47q51 -86 113 -123t148 -37q123 0 183 75t60 241v973h94v-983q0 -82 -18 -153t-58 -124t-103.5 -84t-155.5 -31q-115 0 -198 51.5t-136 147.5z" />
+<glyph unicode="K" horiz-adv-x="1128" d="M193 0v1350h94v-750h4l653 750h111l-430 -500l489 -850h-108l-445 778l-274 -313v-465h-94z" />
+<glyph unicode="L" horiz-adv-x="942" d="M193 0v1350h94v-1268h620v-82h-714z" />
+<glyph unicode="M" horiz-adv-x="1431" d="M193 0v1350h131l282 -793l107 -299h8l104 299l281 793h133v-1350h-92v887q0 84 4 181t8 183h-8l-104 -297l-291 -807h-82l-291 807l-107 297h-8q4 -86 7.5 -183t3.5 -181v-887h-86z" />
+<glyph unicode="N" horiz-adv-x="1288" d="M193 0v1350h98l567 -953l154 -268h8q-4 98 -8 196.5t-4 196.5v828h88v-1350h-99l-567 952l-154 269h-8q4 -98 8.5 -191.5t4.5 -191.5v-838h-88z" />
+<glyph unicode="O" horiz-adv-x="1320" d="M104 680q0 160 41 288t115 219t176.5 139t225.5 48q121 0 223 -48t176 -139t115 -219t41 -288t-41 -290t-115 -222t-176 -142.5t-223 -50.5q-123 0 -225.5 50.5t-176.5 142.5t-115 222t-41 290zM203 680q0 -141 32.5 -255t93 -194.5t146 -125t187.5 -44.5t186 44.5 t144.5 125t93 194.5t32.5 255q0 139 -32.5 251.5t-93 191.5t-144.5 122t-186 43t-187.5 -43t-146 -122t-93 -191.5t-32.5 -251.5z" />
+<glyph unicode="P" horiz-adv-x="1128" d="M193 0v1350h368q113 0 202 -19.5t150.5 -64.5t94 -117t32.5 -176q0 -199 -127 -296t-352 -97h-274v-580h-94zM287 659h250q209 0 308 74t99 240q0 86 -25.5 142t-75.5 91t-127 49.5t-179 14.5h-250v-611z" />
+<glyph unicode="Q" horiz-adv-x="1320" d="M104 680q0 160 41 288t115 219t176.5 139t222.5 48q123 0 225.5 -48t176.5 -139t115 -219t41 -288q0 -152 -37 -276.5t-103.5 -216t-160 -145.5t-205.5 -65q47 -102 136 -155t216 -53q47 0 79 5t58 13l21 -82q-27 -8 -71 -15t-95 -7q-170 0 -284 83.5t-165 210.5 q-111 10 -203 64.5t-158.5 146t-103.5 216t-37 276.5zM203 680q0 -141 32.5 -255t92 -194.5t144.5 -125t187 -44.5t186.5 44.5t145 125t93 194.5t32.5 255q0 139 -32.5 251.5t-93 191.5t-144.5 122t-187 43q-102 0 -187 -43t-144.5 -122t-92 -191.5t-32.5 -251.5z" />
+<glyph unicode="R" horiz-adv-x="1132" d="M193 0v1350h385q100 0 182 -19.5t140 -62.5t90 -110.5t32 -164.5q0 -162 -93 -253t-253 -113l371 -627h-109l-365 621h-286v-621h-94zM287 698h266q180 0 275.5 73t95.5 222q0 152 -95.5 214.5t-275.5 62.5h-266v-572z" />
+<glyph unicode="S" horiz-adv-x="1052" d="M88 178l59 66q74 -84 176.5 -133.5t221.5 -49.5q154 0 245 75t91 196q0 63 -19.5 106t-52.5 75t-78 55.5t-94 45.5l-205 93q-43 18 -91 44.5t-88 66.5t-66.5 94.5t-26.5 129.5q0 74 29.5 134.5t82 104.5t124 68.5t155.5 24.5q123 0 219 -48t158 -114l-56 -63 q-59 63 -139 101t-182 38q-135 0 -216 -65.5t-81 -175.5q0 -59 22.5 -100.5t57.5 -71t76 -51t77 -38.5l205 -90q55 -25 106.5 -55.5t90.5 -71.5t62.5 -97t23.5 -134t-31 -144.5t-87 -114.5t-136 -76t-178 -28q-147 0 -261 56.5t-194 146.5z" />
+<glyph unicode="T" horiz-adv-x="1058" d="M53 1268v82h953v-82h-428v-1268h-95v1268h-430z" />
+<glyph unicode="U" horiz-adv-x="1284" d="M186 518v832h95v-822q0 -135 29.5 -224t78.5 -143.5t114.5 -77t137.5 -22.5q74 0 139.5 22.5t116.5 77t81 143.5t30 224v822h90v-832q0 -158 -39 -262t-102.5 -166.5t-146.5 -88.5t-169 -26q-88 0 -170 26t-145.5 88.5t-101.5 166.5t-38 262z" />
+<glyph unicode="V" horiz-adv-x="991" d="M2 1350h100l250 -789q18 -61 36 -116.5t34 -109.5t33.5 -109.5t38.5 -116.5h8q41 123 72.5 226t70.5 226l250 789h94l-440 -1350h-103z" />
+<glyph unicode="W" horiz-adv-x="1562" d="M49 1350h101l167 -795q25 -111 48.5 -220.5t46.5 -219.5h8q23 111 49.5 220t52.5 220l213 795h94l213 -795q27 -111 53.5 -220.5t53.5 -219.5h8q23 111 45.5 220t44.5 220l168 795h94l-303 -1350h-104l-246 926q-18 80 -35.5 152.5t-36.5 152.5h-8q-16 -80 -35.5 -152.5 t-38.5 -152.5l-241 -926h-105z" />
+<glyph unicode="X" horiz-adv-x="972" d="M29 0l403 698l-377 652h103l223 -398q27 -47 50.5 -88t57.5 -96h9q29 55 51 96t49 88l221 398h96l-376 -656l405 -694h-102l-236 414q-29 51 -58.5 102t-64.5 113h-8q-33 -61 -60.5 -112.5t-56.5 -102.5l-233 -414h-96z" />
+<glyph unicode="Y" horiz-adv-x="901" d="M-2 1350h100l205 -422q35 -74 70 -145.5t73 -145.5h9q39 74 75.5 145.5t71.5 145.5l205 422h96l-405 -803v-547h-95v547z" />
+<glyph unicode="Z" horiz-adv-x="1087" d="M94 0v55l778 1213h-708v82h825v-56l-776 -1212h784v-82h-903z" />
+<glyph unicode="[" horiz-adv-x="571" d="M201 -311v1761h327v-64h-256v-1638h256v-59h-327z" />
+<glyph unicode="\" horiz-adv-x="731" d="M10 1454h78l627 -1782h-82z" />
+<glyph unicode="]" horiz-adv-x="571" d="M43 -252h256v1638h-256v64h328v-1761h-328v59z" />
+<glyph unicode="^" d="M135 594l307 778h95l309 -778h-88l-158 416l-106 272h-9l-104 -272l-158 -416h-88z" />
+<glyph unicode="_" horiz-adv-x="1024" d="M25 -162h974v-78h-974v78z" />
+<glyph unicode="`" horiz-adv-x="1095" d="M367 1450h106l189 -279h-78z" />
+<glyph unicode="a" horiz-adv-x="1021" d="M133 246q0 162 153.5 248t481.5 122v20q0 46 -7 92q-9 56 -35 100t-72 72t-117 28q-100 0 -182.5 -39t-131.5 -76l-41 68q27 18 65 40.5t84 41t101 32t115 13.5q88 0 147.5 -30t96 -81t52 -119.5t15.5 -148.5v-629h-76l-10 127h-4q-76 -59 -163 -105.5t-185 -46.5 q-59 0 -110.5 16.5t-91.5 49.5t-62.5 84t-22.5 121zM227 250q0 -106 61.5 -151.5t145.5 -45.5q86 0 164 41t170 119v334q-152 -18 -255 -45t-166.5 -64t-91.5 -84t-28 -104z" />
+<glyph unicode="b" horiz-adv-x="1114" d="M188 0v1473h91v-426l-5 -193q76 63 162 108.5t178 45.5q197 0 295.5 -136.5t98.5 -365.5q0 -125 -35 -223.5t-95.5 -167t-139.5 -104.5t-165 -36q-72 0 -148.5 32t-145.5 85h-5l-10 -92h-76zM279 182q82 -70 157.5 -98.5t132.5 -28.5q74 0 137.5 33t108.5 92.5 t70.5 142.5t25.5 183q0 90 -17 168t-54 134t-96.5 88t-143.5 32q-74 0 -153.5 -42t-167.5 -120v-584z" />
+<glyph unicode="c" horiz-adv-x="919" d="M106 489q0 123 37 220.5t98.5 163t142.5 100.5t171 35q102 0 171 -37t118 -84l-53 -64q-47 45 -104.5 75t-129.5 30q-76 0 -140.5 -32t-112.5 -90t-75.5 -138t-27.5 -179q0 -96 25.5 -176t71.5 -137t112.5 -89t146.5 -32q78 0 144.5 33t117.5 80l47 -62q-63 -57 -141 -94 t-172 -37q-96 0 -177 35t-141.5 100.5t-94.5 160.5t-34 218z" />
+<glyph unicode="d" horiz-adv-x="1114" d="M106 489q0 119 35 215.5t95.5 164t139.5 103.5t167 36q90 0 156.5 -32t140.5 -89l-4 180v406h90v-1473h-78l-8 127h-6q-59 -59 -140.5 -105.5t-179.5 -46.5q-186 0 -297 132t-111 382zM203 489q0 -98 21.5 -178t62.5 -136t101.5 -88t137.5 -32q82 0 157 42t153 120v584 q-78 70 -146.5 98.5t-140.5 28.5q-74 0 -137.5 -34t-109.5 -92.5t-72.5 -139.5t-26.5 -173z" />
+<glyph unicode="e" horiz-adv-x="989" d="M106 489q0 121 36 217.5t96.5 163t137.5 102.5t159 36q176 0 276 -119t100 -336v-36.5t-4 -37.5h-708q2 -92 28.5 -171t74.5 -135t115.5 -88t151.5 -32q80 0 144.5 23.5t120.5 64.5l36 -69q-59 -35 -129.5 -66t-179.5 -31q-94 0 -177 35t-144.5 101.5t-97.5 161.5 t-36 216zM199 549h626q0 190 -77.5 285.5t-210.5 95.5q-63 0 -121 -26.5t-104 -76t-75.5 -120t-37.5 -158.5z" />
+<glyph unicode="f" horiz-adv-x="538" d="M68 905v70l135 8v219q0 147 63.5 221t179.5 74q72 0 144 -33l-25 -73q-31 16 -60.5 22t-58.5 6q-78 0 -115.5 -58t-37.5 -165v-213h227v-78h-227v-905h-90v905h-135z" />
+<glyph unicode="g" horiz-adv-x="997" d="M106 -201q0 66 39 127.5t107 110.5v8q-37 23 -61.5 61.5t-24.5 96.5q0 66 37 111.5t69 68.5v8q-47 41 -84.5 110.5t-37.5 160.5q0 76 26.5 139t73.5 109t110.5 72t135.5 26q41 0 73.5 -7.5t55.5 -17.5h333v-76h-229q47 -41 78 -105.5t31 -142.5q0 -76 -27 -139t-73 -109 t-108.5 -72t-133.5 -26q-41 0 -85 10.5t-79 30.5q-33 -27 -56.5 -59.5t-23.5 -81.5q0 -53 39 -91t149 -38h211q166 0 245 -54.5t79 -170.5q0 -63 -33 -124t-93.5 -107t-146.5 -73.5t-192 -27.5q-186 0 -295 73.5t-109 198.5zM193 -193q0 -92 84.5 -149t242.5 -57 q82 0 149.5 21.5t114.5 56t73 78.5t26 91q0 82 -58.5 116t-169.5 34h-211q-16 0 -50 3t-72 13q-68 -47 -98.5 -100.5t-30.5 -106.5zM240 662q0 -61 20.5 -112.5t56 -88.5t82 -56.5t97.5 -19.5t97 19.5t81 56.5t55.5 88t20.5 113q0 61 -20.5 112t-54.5 86t-81 54.5t-98 19.5 q-53 0 -99.5 -19.5t-81 -54.5t-55 -85t-20.5 -113z" />
+<glyph unicode="h" horiz-adv-x="1081" d="M188 0v1473h91v-426v-218q78 78 157.5 128.5t181.5 50.5q154 0 225.5 -92.5t71.5 -284.5v-631h-90v618q0 158 -52 233t-173 75q-88 0 -159.5 -46t-161.5 -139v-741h-91z" />
+<glyph unicode="i" horiz-adv-x="468" d="M154 1300q0 39 23.5 60.5t58.5 21.5t58 -21.5t23 -60.5q0 -35 -23 -57t-58 -22t-58.5 22.5t-23.5 56.5zM188 0v983h91v-983h-91z" />
+<glyph unicode="j" horiz-adv-x="468" d="M-68 -444l23 73q18 -6 46 -13t56 -7q82 0 106.5 60.5t24.5 154.5v1159h93v-1165q0 -145 -53.5 -216t-168.5 -71q-35 0 -69.5 7t-57.5 18zM154 1300q0 39 24.5 60.5t57.5 21.5q35 0 59 -21.5t24 -60.5q0 -35 -24 -57t-59 -22q-33 0 -57.5 22.5t-24.5 56.5z" />
+<glyph unicode="k" horiz-adv-x="950" d="M188 0v1473h91v-1086h4l485 596h104l-319 -389l373 -594h-101l-325 526l-221 -258v-268h-91z" />
+<glyph unicode="l" horiz-adv-x="485" d="M188 131v1342h91v-1354q0 -33 12 -48.5t31 -15.5h13t23 4l17 -73q-14 -4 -28.5 -7.5t-37.5 -3.5q-121 0 -121 156z" />
+<glyph unicode="m" horiz-adv-x="1662" d="M188 0v983h78l8 -152h7q66 76 146.5 126.5t162.5 50.5q119 0 182.5 -54.5t89.5 -146.5q86 92 167 146.5t167 54.5q295 0 295 -377v-631h-92v618q0 158 -53.5 233t-165.5 75q-133 0 -295 -185v-741h-90v618q0 158 -53.5 233t-168.5 75q-133 0 -294 -185v-741h-91z" />
+<glyph unicode="n" horiz-adv-x="1089" d="M188 0v983h78l8 -152h7q76 76 155.5 126.5t181.5 50.5q154 0 225.5 -92.5t71.5 -284.5v-631h-90v618q0 158 -52 233t-173 75q-88 0 -159.5 -46t-161.5 -139v-741h-91z" />
+<glyph unicode="o" horiz-adv-x="1095" d="M106 489q0 123 36 220.5t96.5 163t140.5 100.5t168 35t169 -35t141.5 -100.5t96 -163t35.5 -220.5t-35.5 -218t-96 -160.5t-141.5 -100.5t-169 -35t-168 35t-140.5 100.5t-96.5 160.5t-36 218zM201 489q0 -96 26.5 -176t72.5 -137t109.5 -89t137.5 -32t138.5 32t110.5 89 t72.5 137t26.5 176q0 98 -26.5 178.5t-72.5 138.5t-110.5 90t-138.5 32t-137.5 -32t-109.5 -90t-72.5 -138.5t-26.5 -178.5z" />
+<glyph unicode="p" horiz-adv-x="1114" d="M188 -444v1427h78l8 -123h7q72 57 156.5 102.5t176.5 45.5q197 0 295.5 -136.5t98.5 -365.5q0 -125 -35 -223.5t-95.5 -167t-139.5 -104.5t-165 -36q-70 0 -143.5 32t-150.5 89v-182v-358h-91zM279 182q86 -70 159.5 -98.5t130.5 -28.5q74 0 137.5 33t108.5 92.5 t70.5 142.5t25.5 183q0 90 -17 168t-54 134t-96.5 88t-143.5 32q-74 0 -152.5 -42t-168.5 -120v-584z" />
+<glyph unicode="q" horiz-adv-x="1099" d="M106 489q0 119 35 215.5t95.5 164t139.5 103.5t167 36q90 0 156.5 -31t136.5 -84h4l10 90h76v-1427h-90v378l4 191q-66 -59 -147 -104.5t-179 -45.5q-186 0 -297 132t-111 382zM203 489q0 -98 21.5 -178t62.5 -136t101.5 -88t137.5 -32q82 0 157 42t153 120v584 q-78 70 -146.5 98.5t-140.5 28.5q-74 0 -137.5 -34t-109.5 -92.5t-72.5 -139.5t-26.5 -173z" />
+<glyph unicode="r" horiz-adv-x="649" d="M188 0v983h78l8 -182h7q49 92 119.5 149.5t158.5 57.5q29 0 51.5 -5t46.5 -16l-20 -82q-25 10 -43.5 13.5t-46.5 3.5q-66 0 -138.5 -56.5t-129.5 -195.5v-670h-91z" />
+<glyph unicode="s" horiz-adv-x="829" d="M66 111l53 67q63 -53 135 -89t178 -36q117 0 175.5 58.5t58.5 136.5q0 45 -21.5 79.5t-56.5 59.5t-77 43.5t-85 34.5q-55 20 -111.5 42.5t-101.5 54.5t-72.5 76t-27.5 107q0 53 20.5 101.5t61.5 84.5t99 56.5t136 20.5t152.5 -29t128.5 -74l-49 -63q-49 37 -104.5 62.5 t-131.5 25.5q-57 0 -98 -15.5t-69 -40t-41 -57.5t-13 -65q0 -41 19.5 -71t52 -53.5t74.5 -41t85 -33.5q57 -23 114.5 -45.5t103.5 -55t75 -80.5t29 -120q0 -55 -21.5 -105.5t-64.5 -88.5t-104.5 -60.5t-141.5 -22.5q-111 0 -203 40t-157 96z" />
+<glyph unicode="t" horiz-adv-x="638" d="M57 905v70l156 8l12 285h78v-285h285v-78h-285v-641q0 -47 7 -85t25.5 -65.5t50.5 -43t83 -15.5q29 0 62.5 9.5t60.5 21.5l24 -74q-43 -16 -86 -26.5t-73 -10.5q-72 0 -119 21.5t-76 60.5t-40 94.5t-11 120.5v633h-154z" />
+<glyph unicode="u" horiz-adv-x="1083" d="M174 352v631h90v-618q0 -158 52.5 -233t170.5 -75q88 0 160 48.5t158 152.5v725h90v-983h-76l-10 164h-4q-72 -86 -152 -137.5t-182 -51.5q-154 0 -225.5 92.5t-71.5 284.5z" />
+<glyph unicode="v" horiz-adv-x="888" d="M25 983h98l221 -616q23 -72 49.5 -143.5t48.5 -139.5h9q25 68 50 139.5t50 143.5l221 616h92l-364 -983h-107z" />
+<glyph unicode="w" horiz-adv-x="1402" d="M49 983h98l177 -637q18 -68 34.5 -132t32.5 -130h8q16 66 35 130.5t37 131.5l178 637h109l178 -637q18 -68 36.5 -132t37.5 -130h8q16 66 34.5 130.5t34.5 131.5l175 637h92l-283 -983h-119l-172 610q-23 72 -38 140.5t-37 140.5h-9q-16 -72 -35.5 -142.5t-42.5 -142.5 l-169 -606h-109z" />
+<glyph unicode="x" horiz-adv-x="833" d="M29 0l333 514l-307 469h101l159 -250q25 -41 50.5 -81t54.5 -81h8q27 41 50.5 81t49.5 81l154 250h94l-305 -477l334 -506h-100l-175 268q-29 47 -57.5 92.5t-58.5 88.5h-8q-29 -43 -56.5 -88.5t-56.5 -92.5l-168 -268h-96z" />
+<glyph unicode="y" horiz-adv-x="892" d="M25 983h98l237 -618q23 -61 50.5 -135t56.5 -140h8q23 66 46.5 139.5t43.5 135.5l211 618h92l-389 -1106q-20 -61 -50 -119.5t-70 -104.5t-92 -74t-117 -28q-55 0 -101 21l21 80q16 -6 36.5 -11.5t43.5 -5.5q92 0 153.5 74t97.5 187l27 86z" />
+<glyph unicode="z" horiz-adv-x="827" d="M55 0v49l582 856h-518v78h635v-47l-580 -856h600v-80h-719z" />
+<glyph unicode="{" horiz-adv-x="571" d="M72 537v65q53 0 88 14.5t54 37t26.5 51t7.5 59.5q0 98 -8.5 208.5t-8.5 215.5q0 152 56.5 207t167.5 55h73v-64h-67q-92 0 -123 -49t-31 -157q0 -94 6 -194.5t6 -199.5q0 -92 -21.5 -143t-82.5 -70v-8q61 -18 82.5 -71.5t21.5 -141.5q0 -111 -6 -202t-6 -191 q0 -109 31 -160t123 -51h67v-59h-73q-55 0 -97.5 12t-70 42t-42 80t-14.5 128q0 115 8.5 214t8.5 206q0 31 -7.5 61.5t-26.5 53t-54 37t-88 14.5z" />
+<glyph unicode="|" horiz-adv-x="462" d="M195 -512v2048h73v-2048h-73z" />
+<glyph unicode="}" horiz-adv-x="571" d="M43 -252h63q94 0 126 51t32 160q0 100 -6 191.5t-6 201.5q0 88 22.5 141.5t81.5 71.5v8q-59 18 -81.5 69.5t-22.5 143.5q0 98 6 198.5t6 195.5q0 109 -31.5 157.5t-126.5 48.5h-63v64h70q113 0 170 -55.5t57 -206.5q0 -104 -8 -215t-8 -209q0 -31 7 -59.5t26.5 -51 t54 -37t88.5 -14.5v-65q-53 0 -88 -14.5t-54.5 -37t-26.5 -53.5t-7 -61q0 -106 8 -205.5t8 -214.5q0 -78 -14.5 -128t-43 -80t-70.5 -42t-99 -12h-70v59z" />
+<glyph unicode="~" d="M82 637q45 86 105.5 128t119.5 42t107.5 -28.5t92.5 -63.5t85 -63.5t86 -28.5q47 0 86 28.5t76 100.5l57 -41q-43 -84 -103.5 -125t-119.5 -41t-107.5 28.5t-92.5 63.5t-85 63.5t-86 28.5q-47 0 -86 -28.5t-76 -100.5z" />
+<glyph unicode="&#xa1;" horiz-adv-x="530" d="M178 918q0 41 26.5 65.5t61.5 24.5t60.5 -24.5t25.5 -65.5q0 -47 -25.5 -72t-60.5 -25t-61.5 24.5t-26.5 72.5zM219 -244l12 860h68l12 -860l2 -145h-94v145z" />
+<glyph unicode="&#xa2;" d="M127 637q0 106 30.5 189t85 143.5t126 95.5t153.5 43v227h70v-223q98 -4 163.5 -40t112.5 -83l-49 -57q-47 41 -102 68.5t-125 31.5v-788q76 4 139.5 34.5t112.5 75.5l47 -59q-59 -55 -134 -91t-165 -40v-221h-70v223q-86 8 -158.5 43t-125 95.5t-82 144t-29.5 188.5z M219 637q0 -160 81 -264.5t222 -124.5v780q-66 -10 -122 -43t-96 -83t-62.5 -117.5t-22.5 -147.5z" />
+<glyph unicode="&#xa3;" d="M111 600v68l135 6h49q-23 78 -44.5 154.5t-21.5 156.5q0 162 93.5 255t255.5 93q106 0 176.5 -43t117.5 -102l-59 -55q-43 51 -98.5 85.5t-136.5 34.5q-63 0 -111.5 -20.5t-80.5 -57t-48 -86t-16 -104.5q0 -82 21.5 -156.5t43.5 -154.5h338v-74h-322q8 -35 12.5 -70.5 t4.5 -76.5q0 -127 -39 -211t-109 -152v-8h605v-82h-760v55q115 66 166 172.5t51 225.5q0 39 -5 75.5t-14 71.5h-204z" />
+<glyph unicode="&#xa4;" d="M61 291l136 137q-37 49 -57.5 110.5t-20.5 133.5q0 74 20.5 137t57.5 113l-136 139l56 57l135 -141q47 43 109.5 66.5t127.5 23.5q66 0 128.5 -23.5t109.5 -66.5l137 141l54 -57l-136 -139q37 -49 57.5 -113t20.5 -137q0 -72 -20.5 -133.5t-55.5 -110.5l134 -137l-54 -58 l-137 140q-47 -45 -109.5 -68.5t-128.5 -23.5q-135 0 -237 92l-135 -140zM209 672q0 -70 22.5 -128.5t60.5 -99.5t89 -64.5t108 -23.5t108.5 23.5t89.5 64.5t60.5 99.5t22.5 128.5t-22.5 129t-60.5 101t-89 65.5t-109 23.5q-57 0 -108 -23.5t-89 -65.5t-60.5 -101 t-22.5 -129z" />
+<glyph unicode="&#xa5;" d="M61 1309h99l192 -396l66 -136t69 -144h9q39 76 70.5 144.5t66.5 135.5l192 396h95l-357 -688h316v-68h-344v-145h344v-70h-344v-338h-93v338h-340v70h340v145h-340v68h312z" />
+<glyph unicode="&#xa6;" horiz-adv-x="462" d="M195 451h73v-963h-73v963zM195 571v965h73v-965h-73z" />
+<glyph unicode="&#xa7;" d="M102 721q0 98 52.5 162.5t130.5 105.5q-31 31 -49.5 72t-18.5 94q0 43 16.5 86t51 77t86 55.5t123.5 21.5q86 0 157.5 -31t128.5 -78l-49 -63q-49 41 -103.5 67.5t-131.5 26.5q-51 0 -88 -13.5t-59.5 -35t-34 -50t-11.5 -57.5q0 -68 43 -109.5t106.5 -75.5t138.5 -63.5 t138.5 -71.5t106.5 -103.5t43 -155.5q0 -102 -50.5 -161t-128.5 -102q33 -33 51.5 -74.5t18.5 -97.5q0 -55 -23.5 -102t-63.5 -81t-93 -52t-113 -18q-106 0 -188 35.5t-142 93.5l62 57q53 -49 113.5 -80t154.5 -31t149.5 51.5t55.5 122.5q0 70 -43 114t-107.5 77 t-139.5 62.5t-139.5 70.5t-107.5 100.5t-43 153.5zM188 727q0 -80 46.5 -130t115 -86t146 -66.5t143.5 -73.5q74 35 114 78t40 126q0 82 -46.5 134.5t-115 89.5t-146 68.5t-141.5 72.5q-70 -41 -113 -88t-43 -125z" />
+<glyph unicode="&#xa8;" horiz-adv-x="1095" d="M311 1300q0 31 20.5 52.5t53.5 21.5t54.5 -21.5t21.5 -52.5q0 -33 -21.5 -54t-54.5 -21t-53.5 21.5t-20.5 53.5zM633 1300q0 31 21.5 52.5t54.5 21.5t53.5 -21.5t20.5 -52.5q0 -33 -20.5 -54t-53.5 -21t-54.5 21.5t-21.5 53.5z" />
+<glyph unicode="&#xa9;" horiz-adv-x="1517" d="M104 659q0 154 52.5 279t142.5 213t209 136t252 48q131 0 249.5 -48t209 -136t142.5 -213t52 -279q0 -156 -52 -281.5t-142.5 -214.5t-209 -138.5t-249.5 -49.5q-133 0 -252 49.5t-209 138.5t-142.5 214.5t-52.5 281.5zM176 659q0 -139 47 -253.5t127 -195.5t185.5 -126 t224.5 -45q117 0 222 45t185 126t127 195.5t47 253.5q0 137 -47 251t-127 195t-185 125t-222 44q-119 0 -224.5 -44t-185.5 -125t-127 -195t-47 -251zM412 659q0 88 30.5 160t80.5 121t117 75.5t140 26.5q82 0 139.5 -31.5t106.5 -80.5l-47 -53q-47 45 -93 67.5t-108 22.5 q-123 0 -200.5 -84t-77.5 -224q0 -154 74.5 -241.5t199.5 -87.5q74 0 131.5 29.5t104.5 72.5l41 -57q-55 -49 -119 -85t-162 -36q-74 0 -138.5 27.5t-113.5 80t-77.5 127t-28.5 170.5z" />
+<glyph unicode="&#xaa;" horiz-adv-x="690" d="M86 702q0 109 100.5 165.5t321.5 76.5q0 39 -7 74t-23.5 60.5t-43 40t-69.5 14.5q-61 0 -123 -26t-97 -50l-30 55q41 29 109.5 58.5t148.5 29.5q119 0 165 -70.5t46 -187.5v-410h-62l-12 80h-8q-43 -37 -97 -66.5t-120 -29.5q-88 0 -143.5 49t-55.5 137zM166 709 q0 -66 37 -96.5t100 -30.5q96 0 205 100v209q-190 -20 -266 -66.5t-76 -115.5z" />
+<glyph unicode="&#xab;" horiz-adv-x="819" d="M88 477v78l281 330l51 -43l-252 -326l252 -330l-51 -39zM377 477v78l281 330l51 -43l-252 -326l252 -330l-51 -39z" />
+<glyph unicode="&#xac;" d="M70 637v78h841v-490h-84v412h-757z" />
+<glyph unicode="&#xad;" horiz-adv-x="612" d="M82 471v80h450v-80h-450z" />
+<glyph unicode="&#xae;" horiz-adv-x="821" d="M37 1059q0 90 29.5 163.5t81 126t119 81t143.5 28.5t144.5 -28.5t118.5 -81t79.5 -126t29.5 -163.5t-29.5 -163t-79.5 -124t-118.5 -79.5t-144.5 -28.5t-143.5 28.5t-119 79.5t-81 124t-29.5 163zM100 1059q0 -74 25 -135.5t65.5 -105.5t97 -69.5t122.5 -25.5 q63 0 120.5 25.5t98.5 69.5t65.5 105.5t24.5 135.5t-24.5 136t-65.5 108.5t-98.5 72t-120.5 25.5q-66 0 -122.5 -25.5t-97 -72t-65.5 -108.5t-25 -136zM270 856v422h142q31 0 58.5 -6t50 -21.5t35.5 -40t13 -63.5t-23.5 -72t-58.5 -43l101 -176h-76l-80 156h-96v-156h-66z M336 1067h59q47 0 76 17.5t29 58.5q0 35 -21.5 56.5t-77.5 21.5h-65v-154z" />
+<glyph unicode="&#xaf;" horiz-adv-x="1095" d="M316 1241v74h462v-74h-462z" />
+<glyph unicode="&#xb0;" horiz-adv-x="636" d="M86 1157q0 57 19.5 102.5t52 77t74.5 48t87 16.5t87.5 -16.5t75 -48t52 -77t19.5 -102.5t-19.5 -102t-52 -76t-75 -47.5t-87.5 -16.5t-87 16.5t-74.5 47.5t-52 76t-19.5 102zM156 1157q0 -76 45.5 -126t117.5 -50t118 50t46 126q0 78 -46 129t-118 51t-117.5 -51 t-45.5 -129z" />
+<glyph unicode="&#xb1;" d="M70 0v76h841v-76h-841zM70 635v76h379v415h83v-415h379v-76h-379v-412h-83v412h-379z" />
+<glyph unicode="&#xb2;" horiz-adv-x="741" d="M96 1575q37 61 103.5 105t142.5 44q111 0 179.5 -62.5t68.5 -189.5q0 -63 -25.5 -120.5t-70.5 -117t-110 -124t-140 -139.5h393v-70h-522v51q102 94 177 168t123 133.5t71.5 109.5t23.5 101q0 88 -48 139.5t-128 51.5q-55 0 -103.5 -37t-83.5 -90z" />
+<glyph unicode="&#xb3;" horiz-adv-x="741" d="M82 1030l59 45q37 -59 95.5 -95t128.5 -36q76 0 131 44t55 126q0 78 -76 121t-207 43v57q121 0 185.5 51.5t64.5 120.5q0 66 -46 108t-124 42q-47 0 -95 -30t-87 -77l-51 45q43 55 103.5 92t137.5 37q100 0 171 -55t71 -156q0 -76 -44 -126t-110 -76q37 -6 70 -22.5 t59.5 -41t42 -58.5t15.5 -77q0 -55 -20.5 -99t-57.5 -74t-86 -46.5t-105 -16.5q-94 0 -166.5 46.5t-113.5 107.5z" />
+<glyph unicode="&#xb4;" horiz-adv-x="1095" d="M432 1171l189 279h106l-217 -279h-78z" />
+<glyph unicode="&#xb5;" horiz-adv-x="1099" d="M188 -410v1393h91v-618q0 -158 53 -233t172 -75q88 0 158.5 48.5t158.5 152.5v725h90v-983h-77l-9 164h-6q-70 -86 -146.5 -136.5t-174.5 -50.5q-76 0 -129.5 23t-94.5 90l5 -184v-316h-91z" />
+<glyph unicode="&#xb6;" horiz-adv-x="1054" d="M86 924q0 115 35 195.5t98.5 132t151.5 75t192 23.5h90v-850h-57q-113 0 -207 23.5t-161.5 73.5t-104.5 131t-37 196zM764 -164v1514h94v-1514h-94z" />
+<glyph unicode="&#xb7;" horiz-adv-x="448" d="M137 660q0 45 26.5 69.5t61.5 24.5t60.5 -24.5t25.5 -69.5q0 -43 -25.5 -68t-60.5 -25t-61.5 25t-26.5 68z" />
+<glyph unicode="&#xb8;" horiz-adv-x="1095" d="M413 -365q86 12 138.5 37t52.5 68q0 47 -39 69.5t-98 38.5l82 156h71l-59 -115q49 -16 86 -47.5t37 -93.5q0 -41 -21.5 -70.5t-57.5 -50t-82 -34t-95 -19.5z" />
+<glyph unicode="&#xb9;" horiz-adv-x="741" d="M193 1565v55q59 12 101 31.5t77 48.5h67v-799h-78v664h-167z" />
+<glyph unicode="&#xba;" horiz-adv-x="737" d="M68 858q0 82 23.5 145.5t63.5 107.5t95 66.5t117 22.5q61 0 116.5 -22.5t95 -66.5t63.5 -107.5t24 -145.5q0 -80 -24 -143.5t-63.5 -107.5t-95 -67.5t-116.5 -23.5t-116.5 23.5t-95.5 67.5t-63.5 107.5t-23.5 143.5zM147 858q0 -123 61 -198.5t159 -75.5t158.5 75.5 t60.5 198.5t-60.5 199t-158.5 76t-159 -76t-61 -199z" />
+<glyph unicode="&#xbb;" horiz-adv-x="819" d="M111 186l249 330l-249 326l49 43l282 -330v-78l-282 -330zM400 186l249 330l-249 326l49 43l282 -330v-78l-282 -330z" />
+<glyph unicode="&#xbc;" horiz-adv-x="1564" d="M152 1215v55q59 12 101 31.5t77 48.5h67v-799h-78v664h-167zM362 -25l754 1399h78l-752 -1399h-80zM917 233v43l363 523h73v-500h119v-66h-119v-233h-73v233h-363zM1016 299h264v178l8 213h-8l-115 -170z" />
+<glyph unicode="&#xbd;" horiz-adv-x="1609" d="M152 1215v55q59 12 101 31.5t77 48.5h67v-799h-78v664h-167zM315 -25l754 1399h78l-752 -1399h-80zM964 674q37 61 103.5 105t142.5 44q111 0 179.5 -62.5t68.5 -189.5q0 -63 -25.5 -120.5t-70.5 -117t-110 -124t-140 -139.5h393v-70h-522v51q102 94 177 168t123 133.5 t71.5 109.5t23.5 101q0 88 -48 139.5t-128 51.5q-55 0 -103.5 -37t-83.5 -90z" />
+<glyph unicode="&#xbe;" horiz-adv-x="1603" d="M82 680l59 45q37 -59 95.5 -95t128.5 -36q76 0 131 44t55 126q0 78 -76 121t-207 43v57q121 0 185.5 51.5t64.5 120.5q0 66 -46 108t-124 42q-47 0 -95 -30t-87 -77l-51 45q43 55 103.5 92t137.5 37q100 0 171 -55t71 -156q0 -76 -44 -126t-110 -76q37 -6 70 -22.5 t59.5 -41t42 -58.5t15.5 -77q0 -55 -20.5 -99t-57.5 -74t-86 -46.5t-105 -16.5q-94 0 -166.5 46.5t-113.5 107.5zM459 -25l754 1399h78l-752 -1399h-80zM956 233v43l363 523h73v-500h119v-66h-119v-233h-73v233h-363zM1055 299h264v178l8 213h-8l-115 -170z" />
+<glyph unicode="&#xbf;" horiz-adv-x="823" d="M104 -100q0 70 26 128t62.5 112.5t78.5 105.5t76 107.5t52.5 121t8.5 141.5h84q10 -84 -7.5 -152.5t-50.5 -126.5t-74 -109.5t-77.5 -101.5t-61 -103.5t-24.5 -116.5q0 -47 13 -90t42 -77t73 -53.5t105 -19.5q74 0 142.5 35t119.5 96l58 -51q-59 -66 -140.5 -113 t-185.5 -47q-76 0 -135.5 23.5t-100.5 65.5t-62.5 99.5t-21.5 125.5zM356 918q0 41 26 65.5t60 24.5q35 0 60.5 -24.5t25.5 -65.5q0 -47 -25.5 -72t-60.5 -25t-60.5 24.5t-25.5 72.5z" />
+<glyph unicode="&#xc0;" horiz-adv-x="1062" d="M8 0l477 1350h95l475 -1350h-101l-157 463h-535l-158 -463h-96zM291 543h479l-86 252q-41 121 -78 231.5t-71 235.5h-9q-35 -125 -71.5 -236t-77.5 -231zM299 1669h118l189 -217h-82z" />
+<glyph unicode="&#xc1;" horiz-adv-x="1062" d="M8 0l477 1350h95l475 -1350h-101l-157 463h-535l-158 -463h-96zM291 543h479l-86 252q-41 121 -78 231.5t-71 235.5h-9q-35 -125 -71.5 -236t-77.5 -231zM454 1452l189 217h118l-225 -217h-82z" />
+<glyph unicode="&#xc2;" horiz-adv-x="1062" d="M8 0l477 1350h95l475 -1350h-101l-157 463h-535l-158 -463h-96zM290 1452l197 217h86l197 -217h-82l-154 147h-8l-154 -147h-82zM291 543h479l-86 252q-41 121 -78 231.5t-71 235.5h-9q-35 -125 -71.5 -236t-77.5 -231z" />
+<glyph unicode="&#xc3;" horiz-adv-x="1062" d="M8 0l477 1350h95l475 -1350h-101l-157 463h-535l-158 -463h-96zM264 1466q2 35 12 69t28.5 60.5t44 43t60.5 16.5q41 0 72 -18.5t58.5 -40t55 -39t58.5 -17.5q33 0 55.5 31t28.5 84h59q-2 -35 -12 -68t-28.5 -60.5t-44 -44t-60.5 -16.5q-41 0 -73 18.5t-59.5 40t-54 40 t-57.5 18.5q-33 0 -55.5 -31.5t-28.5 -85.5h-59zM291 543h479l-86 252q-41 121 -78 231.5t-71 235.5h-9q-35 -125 -71.5 -236t-77.5 -231z" />
+<glyph unicode="&#xc4;" horiz-adv-x="1062" d="M8 0l477 1350h95l475 -1350h-101l-157 463h-535l-158 -463h-96zM291 543h479l-86 252q-41 121 -78 231.5t-71 235.5h-9q-35 -125 -71.5 -236t-77.5 -231zM294 1559q0 35 20.5 55t53.5 20t54.5 -20.5t21.5 -54.5q0 -35 -21.5 -54.5t-54.5 -19.5t-53.5 19.5t-20.5 54.5z M616 1559q0 35 21.5 55t54.5 20t53.5 -20.5t20.5 -54.5q0 -35 -20.5 -54.5t-53.5 -19.5t-54.5 19.5t-21.5 54.5z" />
+<glyph unicode="&#xc5;" horiz-adv-x="1062" d="M8 0l477 1350h95l475 -1350h-101l-157 463h-535l-158 -463h-96zM291 543h479l-86 252q-41 121 -78 231.5t-71 235.5h-9q-35 -125 -71.5 -236t-77.5 -231zM362 1602q0 76 48 121.5t120 45.5q70 0 119 -46t49 -121q0 -78 -49 -123t-119 -45q-72 0 -120 45t-48 123z M424 1602q0 -57 30.5 -86t75.5 -29q41 0 72.5 28.5t31.5 86.5q0 53 -31.5 83.5t-72.5 30.5q-45 0 -75.5 -30.5t-30.5 -83.5z" />
+<glyph unicode="&#xc6;" horiz-adv-x="1642" d="M37 0l745 1350h752v-82h-606v-510h502v-82h-502v-594h626v-82h-720v444h-459l-244 -444h-94zM418 522h416v746h-9q-61 -115 -126.5 -232.5t-131.5 -240.5z" />
+<glyph unicode="&#xc7;" horiz-adv-x="1140" d="M104 678q0 160 42 289t118 220t182.5 139t235.5 48q119 0 208 -49t142 -113l-55 -61q-55 61 -129 99t-166 38q-111 0 -200 -43t-150.5 -122t-95 -191.5t-33.5 -253.5t32.5 -255t94 -193.5t148.5 -124t196 -44.5q104 0 186 41t156 125l55 -59q-78 -90 -173 -141.5 t-228 -51.5q-125 0 -228.5 49.5t-178.5 140.5t-117 221t-42 292zM534 -365q86 12 138.5 37t52.5 68q0 47 -39 69.5t-98 38.5l82 156h71l-59 -115q49 -16 86 -47.5t37 -93.5q0 -41 -21.5 -70.5t-57.5 -50t-82 -34t-95 -19.5z" />
+<glyph unicode="&#xc8;" horiz-adv-x="1038" d="M193 0v1350h737v-82h-643v-510h540v-82h-540v-594h663v-82h-757zM338 1669h118l189 -217h-82z" />
+<glyph unicode="&#xc9;" horiz-adv-x="1038" d="M193 0v1350h737v-82h-643v-510h540v-82h-540v-594h663v-82h-757zM493 1452l189 217h118l-225 -217h-82z" />
+<glyph unicode="&#xca;" horiz-adv-x="1038" d="M193 0v1350h737v-82h-643v-510h540v-82h-540v-594h663v-82h-757zM329 1452l197 217h86l197 -217h-82l-154 147h-8l-154 -147h-82z" />
+<glyph unicode="&#xcb;" horiz-adv-x="1038" d="M193 0v1350h737v-82h-643v-510h540v-82h-540v-594h663v-82h-757zM333 1559q0 35 20.5 55t53.5 20t54.5 -20.5t21.5 -54.5q0 -35 -21.5 -54.5t-54.5 -19.5t-53.5 19.5t-20.5 54.5zM655 1559q0 35 21.5 55t54.5 20t53.5 -20.5t20.5 -54.5q0 -35 -20.5 -54.5t-53.5 -19.5 t-54.5 19.5t-21.5 54.5z" />
+<glyph unicode="&#xcc;" horiz-adv-x="477" d="M7 1669h118l189 -217h-82zM193 0v1350h94v-1350h-94z" />
+<glyph unicode="&#xcd;" horiz-adv-x="477" d="M162 1452l189 217h118l-225 -217h-82zM193 0v1350h94v-1350h-94z" />
+<glyph unicode="&#xce;" horiz-adv-x="477" d="M-2 1452l197 217h86l197 -217h-82l-154 147h-8l-154 -147h-82zM193 0v1350h94v-1350h-94z" />
+<glyph unicode="&#xcf;" horiz-adv-x="477" d="M2 1559q0 35 20.5 55t53.5 20t54.5 -20.5t21.5 -54.5q0 -35 -21.5 -54.5t-54.5 -19.5t-53.5 19.5t-20.5 54.5zM193 0v1350h94v-1350h-94zM324 1559q0 35 21.5 55t54.5 20t53.5 -20.5t20.5 -54.5q0 -35 -20.5 -54.5t-53.5 -19.5t-54.5 19.5t-21.5 54.5z" />
+<glyph unicode="&#xd0;" horiz-adv-x="1261" d="M68 680v63l159 5v602h312q156 0 271.5 -47.5t191 -135.5t113.5 -210.5t38 -276.5t-38 -280t-113.5 -215t-190.5 -137t-270 -48h-314v680h-159zM322 80h206q137 0 236.5 44t164 124t95.5 189.5t31 242.5q0 131 -31 239.5t-95.5 186.5t-163.5 121t-237 43h-206v-522h340 v-68h-340v-600z" />
+<glyph unicode="&#xd1;" horiz-adv-x="1288" d="M193 0v1350h98l567 -953l154 -268h8q-4 98 -8 196.5t-4 196.5v828h88v-1350h-99l-567 952l-154 269h-8q4 -98 8.5 -191.5t4.5 -191.5v-838h-88zM387 1466q2 35 12 69t28.5 60.5t44 43t60.5 16.5q41 0 72 -18.5t58.5 -40t55 -39t58.5 -17.5q33 0 55.5 31t28.5 84h59 q-2 -35 -12 -68t-28.5 -60.5t-44 -44t-60.5 -16.5q-41 0 -73 18.5t-59.5 40t-54 40t-57.5 18.5q-33 0 -55.5 -31.5t-28.5 -85.5h-59z" />
+<glyph unicode="&#xd2;" horiz-adv-x="1320" d="M104 680q0 160 41 288t115 219t176.5 139t225.5 48q121 0 223 -48t176 -139t115 -219t41 -288t-41 -290t-115 -222t-176 -142.5t-223 -50.5q-123 0 -225.5 50.5t-176.5 142.5t-115 222t-41 290zM203 680q0 -141 32.5 -255t93 -194.5t146 -125t187.5 -44.5t186 44.5 t144.5 125t93 194.5t32.5 255q0 139 -32.5 251.5t-93 191.5t-144.5 122t-186 43t-187.5 -43t-146 -122t-93 -191.5t-32.5 -251.5zM428 1669h118l189 -217h-82z" />
+<glyph unicode="&#xd3;" horiz-adv-x="1320" d="M104 680q0 160 41 288t115 219t176.5 139t225.5 48q121 0 223 -48t176 -139t115 -219t41 -288t-41 -290t-115 -222t-176 -142.5t-223 -50.5q-123 0 -225.5 50.5t-176.5 142.5t-115 222t-41 290zM203 680q0 -141 32.5 -255t93 -194.5t146 -125t187.5 -44.5t186 44.5 t144.5 125t93 194.5t32.5 255q0 139 -32.5 251.5t-93 191.5t-144.5 122t-186 43t-187.5 -43t-146 -122t-93 -191.5t-32.5 -251.5zM583 1452l189 217h118l-225 -217h-82z" />
+<glyph unicode="&#xd4;" horiz-adv-x="1320" d="M104 680q0 160 41 288t115 219t176.5 139t225.5 48q121 0 223 -48t176 -139t115 -219t41 -288t-41 -290t-115 -222t-176 -142.5t-223 -50.5q-123 0 -225.5 50.5t-176.5 142.5t-115 222t-41 290zM203 680q0 -141 32.5 -255t93 -194.5t146 -125t187.5 -44.5t186 44.5 t144.5 125t93 194.5t32.5 255q0 139 -32.5 251.5t-93 191.5t-144.5 122t-186 43t-187.5 -43t-146 -122t-93 -191.5t-32.5 -251.5zM419 1452l197 217h86l197 -217h-82l-154 147h-8l-154 -147h-82z" />
+<glyph unicode="&#xd5;" horiz-adv-x="1320" d="M104 680q0 160 41 288t115 219t176.5 139t225.5 48q121 0 223 -48t176 -139t115 -219t41 -288t-41 -290t-115 -222t-176 -142.5t-223 -50.5q-123 0 -225.5 50.5t-176.5 142.5t-115 222t-41 290zM203 680q0 -141 32.5 -255t93 -194.5t146 -125t187.5 -44.5t186 44.5 t144.5 125t93 194.5t32.5 255q0 139 -32.5 251.5t-93 191.5t-144.5 122t-186 43t-187.5 -43t-146 -122t-93 -191.5t-32.5 -251.5zM393 1466q2 35 12 69t28.5 60.5t44 43t60.5 16.5q41 0 72 -18.5t58.5 -40t55 -39t58.5 -17.5q33 0 55.5 31t28.5 84h59q-2 -35 -12 -68 t-28.5 -60.5t-44 -44t-60.5 -16.5q-41 0 -73 18.5t-59.5 40t-54 40t-57.5 18.5q-33 0 -55.5 -31.5t-28.5 -85.5h-59z" />
+<glyph unicode="&#xd6;" horiz-adv-x="1320" d="M104 680q0 160 41 288t115 219t176.5 139t225.5 48q121 0 223 -48t176 -139t115 -219t41 -288t-41 -290t-115 -222t-176 -142.5t-223 -50.5q-123 0 -225.5 50.5t-176.5 142.5t-115 222t-41 290zM203 680q0 -141 32.5 -255t93 -194.5t146 -125t187.5 -44.5t186 44.5 t144.5 125t93 194.5t32.5 255q0 139 -32.5 251.5t-93 191.5t-144.5 122t-186 43t-187.5 -43t-146 -122t-93 -191.5t-32.5 -251.5zM423 1559q0 35 20.5 55t53.5 20t54.5 -20.5t21.5 -54.5q0 -35 -21.5 -54.5t-54.5 -19.5t-53.5 19.5t-20.5 54.5zM745 1559q0 35 21.5 55 t54.5 20t53.5 -20.5t20.5 -54.5q0 -35 -20.5 -54.5t-53.5 -19.5t-54.5 19.5t-21.5 54.5z" />
+<glyph unicode="&#xd7;" d="M104 334l332 342l-332 342l56 57l329 -346l332 346l53 -57l-329 -342l329 -342l-53 -58l-332 345l-329 -345z" />
+<glyph unicode="&#xd8;" horiz-adv-x="1320" d="M104 680q0 160 41 288t115 219t176.5 139t225.5 48q109 0 200.5 -38t163.5 -109l127 170l57 -45l-137 -183q68 -90 106 -212.5t38 -276.5q0 -160 -41 -290t-115 -222t-176.5 -142.5t-222.5 -50.5q-219 0 -365 152l-131 -174l-60 45l140 188q-66 92 -104 216t-38 278z M203 680q0 -127 26.5 -232.5t75.5 -183.5l664 887q-59 66 -137 101.5t-170 35.5q-102 0 -187.5 -43t-146 -122t-93 -191.5t-32.5 -251.5zM352 203q59 -68 137 -105t173 -37q102 0 186 44.5t144.5 125t93 194.5t32.5 255q0 127 -26.5 229.5t-75.5 180.5z" />
+<glyph unicode="&#xd9;" horiz-adv-x="1284" d="M186 518v832h95v-822q0 -135 29.5 -224t78.5 -143.5t114.5 -77t137.5 -22.5q74 0 139.5 22.5t116.5 77t81 143.5t30 224v822h90v-832q0 -158 -39 -262t-102.5 -166.5t-146.5 -88.5t-169 -26q-88 0 -170 26t-145.5 88.5t-101.5 166.5t-38 262zM410 1669h118l189 -217h-82z " />
+<glyph unicode="&#xda;" horiz-adv-x="1284" d="M186 518v832h95v-822q0 -135 29.5 -224t78.5 -143.5t114.5 -77t137.5 -22.5q74 0 139.5 22.5t116.5 77t81 143.5t30 224v822h90v-832q0 -158 -39 -262t-102.5 -166.5t-146.5 -88.5t-169 -26q-88 0 -170 26t-145.5 88.5t-101.5 166.5t-38 262zM565 1452l189 217h118 l-225 -217h-82z" />
+<glyph unicode="&#xdb;" horiz-adv-x="1284" d="M186 518v832h95v-822q0 -135 29.5 -224t78.5 -143.5t114.5 -77t137.5 -22.5q74 0 139.5 22.5t116.5 77t81 143.5t30 224v822h90v-832q0 -158 -39 -262t-102.5 -166.5t-146.5 -88.5t-169 -26q-88 0 -170 26t-145.5 88.5t-101.5 166.5t-38 262zM401 1452l197 217h86 l197 -217h-82l-154 147h-8l-154 -147h-82z" />
+<glyph unicode="&#xdc;" horiz-adv-x="1284" d="M186 518v832h95v-822q0 -135 29.5 -224t78.5 -143.5t114.5 -77t137.5 -22.5q74 0 139.5 22.5t116.5 77t81 143.5t30 224v822h90v-832q0 -158 -39 -262t-102.5 -166.5t-146.5 -88.5t-169 -26q-88 0 -170 26t-145.5 88.5t-101.5 166.5t-38 262zM405 1559q0 35 20.5 55 t53.5 20t54.5 -20.5t21.5 -54.5q0 -35 -21.5 -54.5t-54.5 -19.5t-53.5 19.5t-20.5 54.5zM727 1559q0 35 21.5 55t54.5 20t53.5 -20.5t20.5 -54.5q0 -35 -20.5 -54.5t-53.5 -19.5t-54.5 19.5t-21.5 54.5z" />
+<glyph unicode="&#xdd;" horiz-adv-x="901" d="M-2 1350h100l205 -422q35 -74 70 -145.5t73 -145.5h9q39 74 75.5 145.5t71.5 145.5l205 422h96l-405 -803v-547h-95v547zM375 1452l189 217h118l-225 -217h-82z" />
+<glyph unicode="&#xde;" horiz-adv-x="1150" d="M193 0v1350h94v-240h274q113 0 202 -20.5t151.5 -64.5t95 -115.5t32.5 -176.5q0 -199 -127 -296t-354 -97h-274v-340h-94zM287 420h250q209 0 308 73.5t99 239.5q0 168 -100.5 232.5t-306.5 64.5h-250v-610z" />
+<glyph unicode="&#xdf;" horiz-adv-x="1110" d="M188 0v1090q0 190 95.5 296.5t255.5 106.5q68 0 120 -21.5t88.5 -58.5t56 -87t19.5 -107q0 -80 -31.5 -136.5t-69.5 -104.5t-69.5 -96t-31.5 -110q0 -59 31.5 -96t79.5 -64.5t103.5 -54.5t103.5 -63.5t80 -92t32 -141.5q0 -61 -22.5 -112.5t-62.5 -90.5t-94.5 -60.5 t-119.5 -21.5q-80 0 -150 29t-129 76l45 67q59 -47 113.5 -70.5t120.5 -23.5q51 0 90 17.5t64.5 45t38.5 64.5t13 76q0 72 -31.5 117t-78.5 76.5t-103.5 57t-103.5 58.5t-79 79t-32 120t32 127t69 101t68.5 98.5t31.5 119.5q0 90 -48 147.5t-146 57.5q-117 0 -187.5 -86 t-70.5 -270v-1059h-91z" />
+<glyph unicode="&#xe0;" horiz-adv-x="1021" d="M133 246q0 162 153.5 248t481.5 122q2 55 -7 111.5t-35 100.5t-72 72t-117 28q-100 0 -182.5 -39t-131.5 -76l-41 68q27 18 65 40.5t84 41t101 32t115 13.5q88 0 147.5 -30t96 -81t52 -119.5t15.5 -148.5v-629h-76l-10 127h-4q-76 -59 -163 -105.5t-185 -46.5 q-59 0 -110.5 16.5t-91.5 49.5t-62.5 84t-22.5 121zM227 250q0 -106 61.5 -151.5t145.5 -45.5q86 0 164 41t170 119v334q-152 -18 -255 -45t-166.5 -64t-91.5 -84t-28 -104zM357 1450h106l189 -279h-78z" />
+<glyph unicode="&#xe1;" horiz-adv-x="1021" d="M133 246q0 162 153.5 248t481.5 122q2 55 -7 111.5t-35 100.5t-72 72t-117 28q-100 0 -182.5 -39t-131.5 -76l-41 68q27 18 65 40.5t84 41t101 32t115 13.5q88 0 147.5 -30t96 -81t52 -119.5t15.5 -148.5v-629h-76l-10 127h-4q-76 -59 -163 -105.5t-185 -46.5 q-59 0 -110.5 16.5t-91.5 49.5t-62.5 84t-22.5 121zM227 250q0 -106 61.5 -151.5t145.5 -45.5q86 0 164 41t170 119v334q-152 -18 -255 -45t-166.5 -64t-91.5 -84t-28 -104zM422 1171l189 279h106l-217 -279h-78z" />
+<glyph unicode="&#xe2;" horiz-adv-x="1021" d="M133 246q0 162 153.5 248t481.5 122q2 55 -7 111.5t-35 100.5t-72 72t-117 28q-100 0 -182.5 -39t-131.5 -76l-41 68q27 18 65 40.5t84 41t101 32t115 13.5q88 0 147.5 -30t96 -81t52 -119.5t15.5 -148.5v-629h-76l-10 127h-4q-76 -59 -163 -105.5t-185 -46.5 q-59 0 -110.5 16.5t-91.5 49.5t-62.5 84t-22.5 121zM227 250q0 -106 61.5 -151.5t145.5 -45.5q86 0 164 41t170 119v334q-152 -18 -255 -45t-166.5 -64t-91.5 -84t-28 -104zM304 1171l194 279h78l194 -279h-75l-154 203h-8l-154 -203h-75z" />
+<glyph unicode="&#xe3;" horiz-adv-x="1021" d="M133 246q0 162 153.5 248t481.5 122q2 55 -7 111.5t-35 100.5t-72 72t-117 28q-100 0 -182.5 -39t-131.5 -76l-41 68q27 18 65 40.5t84 41t101 32t115 13.5q88 0 147.5 -30t96 -81t52 -119.5t15.5 -148.5v-629h-76l-10 127h-4q-76 -59 -163 -105.5t-185 -46.5 q-59 0 -110.5 16.5t-91.5 49.5t-62.5 84t-22.5 121zM227 250q0 -106 61.5 -151.5t145.5 -45.5q86 0 164 41t170 119v334q-152 -18 -255 -45t-166.5 -64t-91.5 -84t-28 -104zM283 1190q2 33 10 65.5t25.5 58t43 42t62.5 16.5t68 -17.5t57.5 -39t51 -38.5t51.5 -17 q33 0 51 29.5t27 82.5h61q-2 -33 -10 -65.5t-25.5 -58t-43 -42t-62.5 -16.5t-68 17.5t-56.5 39t-51 39t-52.5 17.5q-61 0 -78 -113h-61z" />
+<glyph unicode="&#xe4;" horiz-adv-x="1021" d="M133 246q0 162 153.5 248t481.5 122q2 55 -7 111.5t-35 100.5t-72 72t-117 28q-100 0 -182.5 -39t-131.5 -76l-41 68q27 18 65 40.5t84 41t101 32t115 13.5q88 0 147.5 -30t96 -81t52 -119.5t15.5 -148.5v-629h-76l-10 127h-4q-76 -59 -163 -105.5t-185 -46.5 q-59 0 -110.5 16.5t-91.5 49.5t-62.5 84t-22.5 121zM227 250q0 -106 61.5 -151.5t145.5 -45.5q86 0 164 41t170 119v334q-152 -18 -255 -45t-166.5 -64t-91.5 -84t-28 -104zM301 1300q0 31 20.5 52.5t53.5 21.5t54.5 -21.5t21.5 -52.5q0 -33 -21.5 -54t-54.5 -21t-53.5 21.5 t-20.5 53.5zM623 1300q0 31 21.5 52.5t54.5 21.5t53.5 -21.5t20.5 -52.5q0 -33 -20.5 -54t-53.5 -21t-54.5 21.5t-21.5 53.5z" />
+<glyph unicode="&#xe5;" horiz-adv-x="1021" d="M133 246q0 162 153.5 248t481.5 122q2 55 -7 111.5t-35 100.5t-72 72t-117 28q-100 0 -182.5 -39t-131.5 -76l-41 68q27 18 65 40.5t84 41t101 32t115 13.5q88 0 147.5 -30t96 -81t52 -119.5t15.5 -148.5v-629h-76l-10 127h-4q-76 -59 -163 -105.5t-185 -46.5 q-59 0 -110.5 16.5t-91.5 49.5t-62.5 84t-22.5 121zM227 250q0 -106 61.5 -151.5t145.5 -45.5q86 0 164 41t170 119v334q-152 -18 -255 -45t-166.5 -64t-91.5 -84t-28 -104zM369 1280q0 80 48 129t120 49t120 -49t48 -129q0 -78 -48 -127t-120 -49t-120 49t-48 127z M431 1280q0 -55 30.5 -89t75.5 -34t75.5 34t30.5 89q0 57 -30.5 91t-75.5 34t-75.5 -34t-30.5 -91z" />
+<glyph unicode="&#xe6;" horiz-adv-x="1605" d="M133 244q0 164 153.5 250t471.5 122q0 55 -8.5 111.5t-34 100.5t-71.5 72t-118 28q-92 0 -173 -39t-130 -76l-41 68q27 18 64 40.5t83 41t98 32t108 13.5q121 0 191.5 -67t94.5 -179q53 113 142.5 179.5t199.5 66.5q174 0 269.5 -119t95.5 -336v-36.5t-4 -37.5h-680 q0 -92 26.5 -170t73.5 -134t111.5 -88t138.5 -32q80 0 140.5 23.5t115.5 64.5l39 -71q-29 -18 -59.5 -35t-67.5 -31t-80 -22.5t-96 -8.5q-66 0 -119 17.5t-96 46.5t-77 64.5t-60 74.5q-98 -94 -210 -148.5t-204 -54.5q-59 0 -110.5 16.5t-91.5 49.5t-62.5 83t-22.5 120z M227 250q0 -106 61.5 -151.5t145.5 -45.5q39 0 86 12.5t95.5 37t95.5 60.5t90 81q-23 45 -33 111.5t-10 136.5l-2 55q-143 -18 -243.5 -45t-164 -64t-92.5 -84t-29 -104zM844 549h600q0 190 -75 285.5t-208 95.5q-61 0 -115.5 -28t-96.5 -78t-69.5 -120.5t-35.5 -154.5z" />
+<glyph unicode="&#xe7;" horiz-adv-x="919" d="M106 489q0 123 37 220.5t98.5 163t142.5 100.5t171 35q102 0 171 -37t118 -84l-53 -64q-47 45 -104.5 75t-129.5 30q-76 0 -140.5 -32t-112.5 -90t-75.5 -138t-27.5 -179q0 -96 25.5 -176t71.5 -137t112.5 -89t146.5 -32q78 0 144.5 33t117.5 80l47 -62q-63 -57 -141 -94 t-172 -37q-96 0 -177 35t-141.5 100.5t-94.5 160.5t-34 218zM391 -365q86 12 138.5 37t52.5 68q0 47 -39 69.5t-98 38.5l82 156h71l-59 -115q49 -16 86 -47.5t37 -93.5q0 -41 -21.5 -70.5t-57.5 -50t-82 -34t-95 -19.5z" />
+<glyph unicode="&#xe8;" horiz-adv-x="989" d="M106 489q0 121 36 217.5t96.5 163t137.5 102.5t159 36q176 0 276 -119t100 -336v-36.5t-4 -37.5h-708q2 -92 28.5 -171t74.5 -135t115.5 -88t151.5 -32q80 0 144.5 23.5t120.5 64.5l36 -69q-59 -35 -129.5 -66t-179.5 -31q-94 0 -177 35t-144.5 101.5t-97.5 161.5 t-36 216zM199 549h626q0 190 -77.5 285.5t-210.5 95.5q-63 0 -121 -26.5t-104 -76t-75.5 -120t-37.5 -158.5zM355 1450h106l189 -279h-78z" />
+<glyph unicode="&#xe9;" horiz-adv-x="989" d="M106 489q0 121 36 217.5t96.5 163t137.5 102.5t159 36q176 0 276 -119t100 -336v-36.5t-4 -37.5h-708q2 -92 28.5 -171t74.5 -135t115.5 -88t151.5 -32q80 0 144.5 23.5t120.5 64.5l36 -69q-59 -35 -129.5 -66t-179.5 -31q-94 0 -177 35t-144.5 101.5t-97.5 161.5 t-36 216zM199 549h626q0 190 -77.5 285.5t-210.5 95.5q-63 0 -121 -26.5t-104 -76t-75.5 -120t-37.5 -158.5zM420 1171l189 279h106l-217 -279h-78z" />
+<glyph unicode="&#xea;" horiz-adv-x="989" d="M106 489q0 121 36 217.5t96.5 163t137.5 102.5t159 36q176 0 276 -119t100 -336v-36.5t-4 -37.5h-708q2 -92 28.5 -171t74.5 -135t115.5 -88t151.5 -32q80 0 144.5 23.5t120.5 64.5l36 -69q-59 -35 -129.5 -66t-179.5 -31q-94 0 -177 35t-144.5 101.5t-97.5 161.5 t-36 216zM199 549h626q0 190 -77.5 285.5t-210.5 95.5q-63 0 -121 -26.5t-104 -76t-75.5 -120t-37.5 -158.5zM302 1171l194 279h78l194 -279h-75l-154 203h-8l-154 -203h-75z" />
+<glyph unicode="&#xeb;" horiz-adv-x="989" d="M106 489q0 121 36 217.5t96.5 163t137.5 102.5t159 36q176 0 276 -119t100 -336v-36.5t-4 -37.5h-708q2 -92 28.5 -171t74.5 -135t115.5 -88t151.5 -32q80 0 144.5 23.5t120.5 64.5l36 -69q-59 -35 -129.5 -66t-179.5 -31q-94 0 -177 35t-144.5 101.5t-97.5 161.5 t-36 216zM199 549h626q0 190 -77.5 285.5t-210.5 95.5q-63 0 -121 -26.5t-104 -76t-75.5 -120t-37.5 -158.5zM299 1300q0 31 20.5 52.5t53.5 21.5t54.5 -21.5t21.5 -52.5q0 -33 -21.5 -54t-54.5 -21t-53.5 21.5t-20.5 53.5zM621 1300q0 31 21.5 52.5t54.5 21.5t53.5 -21.5 t20.5 -52.5q0 -33 -20.5 -54t-53.5 -21t-54.5 21.5t-21.5 53.5z" />
+<glyph unicode="&#xec;" horiz-adv-x="468" d="M53 1450h106l189 -279h-78zM188 0v983h91v-983h-91z" />
+<glyph unicode="&#xed;" horiz-adv-x="468" d="M118 1171l189 279h106l-217 -279h-78zM188 0v983h91v-983h-91z" />
+<glyph unicode="&#xee;" horiz-adv-x="468" d="M0 1171l194 279h78l194 -279h-75l-154 203h-8l-154 -203h-75zM188 0v983h91v-983h-91z" />
+<glyph unicode="&#xef;" horiz-adv-x="468" d="M-3 1300q0 31 20.5 52.5t53.5 21.5t54.5 -21.5t21.5 -52.5q0 -33 -21.5 -54t-54.5 -21t-53.5 21.5t-20.5 53.5zM188 0v983h91v-983h-91zM319 1300q0 31 21.5 52.5t54.5 21.5t53.5 -21.5t20.5 -52.5q0 -33 -20.5 -54t-53.5 -21t-54.5 21.5t-21.5 53.5z" />
+<glyph unicode="&#xf0;" horiz-adv-x="1095" d="M123 449q0 100 30.5 185t87 144.5t134.5 93t172 33.5q88 0 166 -39t137 -116q-29 152 -90.5 260t-147.5 194l-290 -151l-31 57l270 139q-57 49 -120.5 91t-131.5 81l45 62q76 -41 146.5 -88t136.5 -107l291 152l30 -56l-272 -141q61 -61 111.5 -136t87.5 -164 t57.5 -195.5t20.5 -231.5q0 -123 -31 -223t-85 -171t-131 -109t-169 -38q-82 0 -159 33t-135 93.5t-94 148.5t-36 199zM213 449q0 -86 26.5 -159t71.5 -125t106.5 -81t129.5 -29q84 0 144.5 36t100 97.5t59 145.5t19.5 180q0 66 -6 127q-39 57 -79 94t-78.5 57.5t-77.5 27.5 t-78 7q-84 0 -146.5 -30.5t-105.5 -82.5t-64.5 -121t-21.5 -144z" />
+<glyph unicode="&#xf1;" horiz-adv-x="1089" d="M188 0v983h78l8 -152h7q76 76 155.5 126.5t181.5 50.5q154 0 225.5 -92.5t71.5 -284.5v-631h-90v618q0 158 -52 233t-173 75q-88 0 -159.5 -46t-161.5 -139v-741h-91zM326 1190q2 33 10 65.5t25.5 58t43 42t62.5 16.5t68 -17.5t57.5 -39t51 -38.5t51.5 -17q33 0 51 29.5 t27 82.5h61q-2 -33 -10 -65.5t-25.5 -58t-43 -42t-62.5 -16.5t-68 17.5t-56.5 39t-51 39t-52.5 17.5q-61 0 -78 -113h-61z" />
+<glyph unicode="&#xf2;" horiz-adv-x="1095" d="M106 489q0 123 36 220.5t96.5 163t140.5 100.5t168 35t169 -35t141.5 -100.5t96 -163t35.5 -220.5t-35.5 -218t-96 -160.5t-141.5 -100.5t-169 -35t-168 35t-140.5 100.5t-96.5 160.5t-36 218zM201 489q0 -96 26.5 -176t72.5 -137t109.5 -89t137.5 -32t138.5 32t110.5 89 t72.5 137t26.5 176q0 98 -26.5 178.5t-72.5 138.5t-110.5 90t-138.5 32t-137.5 -32t-109.5 -90t-72.5 -138.5t-26.5 -178.5zM367 1450h106l189 -279h-78z" />
+<glyph unicode="&#xf3;" horiz-adv-x="1095" d="M106 489q0 123 36 220.5t96.5 163t140.5 100.5t168 35t169 -35t141.5 -100.5t96 -163t35.5 -220.5t-35.5 -218t-96 -160.5t-141.5 -100.5t-169 -35t-168 35t-140.5 100.5t-96.5 160.5t-36 218zM201 489q0 -96 26.5 -176t72.5 -137t109.5 -89t137.5 -32t138.5 32t110.5 89 t72.5 137t26.5 176q0 98 -26.5 178.5t-72.5 138.5t-110.5 90t-138.5 32t-137.5 -32t-109.5 -90t-72.5 -138.5t-26.5 -178.5zM432 1171l189 279h106l-217 -279h-78z" />
+<glyph unicode="&#xf4;" horiz-adv-x="1095" d="M106 489q0 123 36 220.5t96.5 163t140.5 100.5t168 35t169 -35t141.5 -100.5t96 -163t35.5 -220.5t-35.5 -218t-96 -160.5t-141.5 -100.5t-169 -35t-168 35t-140.5 100.5t-96.5 160.5t-36 218zM201 489q0 -96 26.5 -176t72.5 -137t109.5 -89t137.5 -32t138.5 32t110.5 89 t72.5 137t26.5 176q0 98 -26.5 178.5t-72.5 138.5t-110.5 90t-138.5 32t-137.5 -32t-109.5 -90t-72.5 -138.5t-26.5 -178.5zM314 1171l194 279h78l194 -279h-75l-154 203h-8l-154 -203h-75z" />
+<glyph unicode="&#xf5;" horiz-adv-x="1095" d="M106 489q0 123 36 220.5t96.5 163t140.5 100.5t168 35t169 -35t141.5 -100.5t96 -163t35.5 -220.5t-35.5 -218t-96 -160.5t-141.5 -100.5t-169 -35t-168 35t-140.5 100.5t-96.5 160.5t-36 218zM201 489q0 -96 26.5 -176t72.5 -137t109.5 -89t137.5 -32t138.5 32t110.5 89 t72.5 137t26.5 176q0 98 -26.5 178.5t-72.5 138.5t-110.5 90t-138.5 32t-137.5 -32t-109.5 -90t-72.5 -138.5t-26.5 -178.5zM293 1190q2 33 10 65.5t25.5 58t43 42t62.5 16.5t68 -17.5t57.5 -39t51 -38.5t51.5 -17q33 0 51 29.5t27 82.5h61q-2 -33 -10 -65.5t-25.5 -58 t-43 -42t-62.5 -16.5t-68 17.5t-56.5 39t-51 39t-52.5 17.5q-61 0 -78 -113h-61z" />
+<glyph unicode="&#xf6;" horiz-adv-x="1095" d="M106 489q0 123 36 220.5t96.5 163t140.5 100.5t168 35t169 -35t141.5 -100.5t96 -163t35.5 -220.5t-35.5 -218t-96 -160.5t-141.5 -100.5t-169 -35t-168 35t-140.5 100.5t-96.5 160.5t-36 218zM201 489q0 -96 26.5 -176t72.5 -137t109.5 -89t137.5 -32t138.5 32t110.5 89 t72.5 137t26.5 176q0 98 -26.5 178.5t-72.5 138.5t-110.5 90t-138.5 32t-137.5 -32t-109.5 -90t-72.5 -138.5t-26.5 -178.5zM311 1300q0 31 20.5 52.5t53.5 21.5t54.5 -21.5t21.5 -52.5q0 -33 -21.5 -54t-54.5 -21t-53.5 21.5t-20.5 53.5zM633 1300q0 31 21.5 52.5 t54.5 21.5t53.5 -21.5t20.5 -52.5q0 -33 -20.5 -54t-53.5 -21t-54.5 21.5t-21.5 53.5z" />
+<glyph unicode="&#xf7;" d="M70 637v78h841v-78h-841zM412 307q0 35 22.5 57.5t54.5 22.5q35 0 56.5 -22.5t21.5 -57.5q0 -39 -21.5 -61.5t-56.5 -22.5q-33 0 -55 22.5t-22 61.5zM412 1044q0 35 22.5 57.5t54.5 22.5q35 0 56.5 -22.5t21.5 -57.5q0 -39 -21.5 -61t-56.5 -22q-33 0 -55 22.5t-22 60.5z " />
+<glyph unicode="&#xf8;" horiz-adv-x="1095" d="M94 -2l119 143q-49 66 -78 152t-29 196q0 123 36 220.5t96.5 163t140.5 100.5t168 35q82 0 156.5 -29t134.5 -86l110 133l53 -43l-118 -141q49 -66 77.5 -154t28.5 -199q0 -123 -35.5 -218t-96 -160.5t-141.5 -100.5t-169 -35q-168 0 -289 115l-111 -135zM199 492 q0 -166 73 -281l510 614q-94 104 -235 105q-74 0 -138.5 -32t-110.5 -90t-72.5 -139t-26.5 -177zM313 156q96 -102 234 -103q74 0 138.5 32t111.5 89t73.5 137t26.5 176q0 168 -74 283z" />
+<glyph unicode="&#xf9;" horiz-adv-x="1083" d="M174 352v631h90v-618q0 -158 52.5 -233t170.5 -75q88 0 160 48.5t158 152.5v725h90v-983h-76l-10 164h-4q-72 -86 -152 -137.5t-182 -51.5q-154 0 -225.5 92.5t-71.5 284.5zM361 1450h106l189 -279h-78z" />
+<glyph unicode="&#xfa;" horiz-adv-x="1083" d="M174 352v631h90v-618q0 -158 52.5 -233t170.5 -75q88 0 160 48.5t158 152.5v725h90v-983h-76l-10 164h-4q-72 -86 -152 -137.5t-182 -51.5q-154 0 -225.5 92.5t-71.5 284.5zM426 1171l189 279h106l-217 -279h-78z" />
+<glyph unicode="&#xfb;" horiz-adv-x="1083" d="M174 352v631h90v-618q0 -158 52.5 -233t170.5 -75q88 0 160 48.5t158 152.5v725h90v-983h-76l-10 164h-4q-72 -86 -152 -137.5t-182 -51.5q-154 0 -225.5 92.5t-71.5 284.5zM308 1171l194 279h78l194 -279h-75l-154 203h-8l-154 -203h-75z" />
+<glyph unicode="&#xfc;" horiz-adv-x="1083" d="M174 352v631h90v-618q0 -158 52.5 -233t170.5 -75q88 0 160 48.5t158 152.5v725h90v-983h-76l-10 164h-4q-72 -86 -152 -137.5t-182 -51.5q-154 0 -225.5 92.5t-71.5 284.5zM305 1300q0 31 20.5 52.5t53.5 21.5t54.5 -21.5t21.5 -52.5q0 -33 -21.5 -54t-54.5 -21 t-53.5 21.5t-20.5 53.5zM627 1300q0 31 21.5 52.5t54.5 21.5t53.5 -21.5t20.5 -52.5q0 -33 -20.5 -54t-53.5 -21t-54.5 21.5t-21.5 53.5z" />
+<glyph unicode="&#xfd;" horiz-adv-x="892" d="M25 983h98l237 -618q23 -61 50.5 -135t56.5 -140h8q23 66 46.5 139.5t43.5 135.5l211 618h92l-389 -1106q-20 -61 -50 -119.5t-70 -104.5t-92 -74t-117 -28q-55 0 -101 21l21 80q16 -6 36.5 -11.5t43.5 -5.5q92 0 153.5 74t97.5 187l27 86zM354 1171l189 279h106 l-217 -279h-78z" />
+<glyph unicode="&#xfe;" horiz-adv-x="1114" d="M188 -444v1917h91v-424v-187q74 57 157.5 101.5t175.5 44.5q98 0 173 -36t124 -101.5t74 -157.5t25 -207q0 -125 -35 -223.5t-95.5 -167t-139.5 -104.5t-165 -36q-72 0 -144.5 31t-149.5 88v-180v-358h-91zM279 182q86 -70 159.5 -98.5t130.5 -28.5q74 0 137.5 33 t108.5 92.5t70.5 142.5t25.5 183q0 90 -17 168t-54 134t-96.5 88t-143.5 32q-74 0 -152.5 -42t-168.5 -120v-584z" />
+<glyph unicode="&#xff;" horiz-adv-x="892" d="M25 983h98l237 -618q23 -61 50.5 -135t56.5 -140h8q23 66 46.5 139.5t43.5 135.5l211 618h92l-389 -1106q-20 -61 -50 -119.5t-70 -104.5t-92 -74t-117 -28q-55 0 -101 21l21 80q16 -6 36.5 -11.5t43.5 -5.5q92 0 153.5 74t97.5 187l27 86zM233 1300q0 31 20.5 52.5 t53.5 21.5t54.5 -21.5t21.5 -52.5q0 -33 -21.5 -54t-54.5 -21t-53.5 21.5t-20.5 53.5zM555 1300q0 31 21.5 52.5t54.5 21.5t53.5 -21.5t20.5 -52.5q0 -33 -20.5 -54t-53.5 -21t-54.5 21.5t-21.5 53.5z" />
+<glyph unicode="&#x152;" horiz-adv-x="1691" d="M104 680q0 154 40 276.5t121 210.5t201 135.5t279 47.5h838v-82h-606v-510h502v-82h-502v-594h627v-82h-861q-160 0 -279.5 48t-199.5 137t-120 215t-40 280zM203 680q0 -133 33.5 -242.5t101.5 -189.5t172 -124t246 -44h127v1190h-127q-141 0 -245.5 -43t-172.5 -120 t-101.5 -186.5t-33.5 -240.5z" />
+<glyph unicode="&#x153;" horiz-adv-x="1736" d="M106 489q0 123 35 220.5t95.5 163t138.5 100.5t164 35q119 0 223 -73t158 -218q53 135 150 213t216 78q174 0 274.5 -119t100.5 -336q0 -37 -6 -74h-690q0 -92 27.5 -170t74.5 -134t112.5 -88t139.5 -32q80 0 143.5 23.5t118.5 64.5l39 -71q-59 -35 -130 -66t-181 -31 q-129 0 -231.5 78t-155.5 211q-57 -143 -155.5 -216t-227.5 -73q-86 0 -164 35t-138.5 100.5t-95.5 160.5t-35 218zM201 489q0 -96 25.5 -176t70.5 -137t107.5 -89t134.5 -32q74 0 136 32t106 89t70 137t26 176q0 98 -26 178.5t-70 138.5t-106.5 90t-135.5 32 q-72 0 -134.5 -32t-107.5 -90t-70.5 -138.5t-25.5 -178.5zM965 549h610q0 190 -79 285.5t-210 95.5q-61 0 -116.5 -28t-98.5 -78t-70.5 -120.5t-35.5 -154.5z" />
+<glyph unicode="&#x178;" horiz-adv-x="901" d="M-2 1350h100l205 -422q35 -74 70 -145.5t73 -145.5h9q39 74 75.5 145.5t71.5 145.5l205 422h96l-405 -803v-547h-95v547zM215 1559q0 35 20.5 55t53.5 20t54.5 -20.5t21.5 -54.5q0 -35 -21.5 -54.5t-54.5 -19.5t-53.5 19.5t-20.5 54.5zM537 1559q0 35 21.5 55t54.5 20 t53.5 -20.5t20.5 -54.5q0 -35 -20.5 -54.5t-53.5 -19.5t-54.5 19.5t-21.5 54.5z" />
+<glyph unicode="&#x2c6;" horiz-adv-x="1095" d="M314 1171l194 279h78l194 -279h-75l-154 203h-8l-154 -203h-75z" />
+<glyph unicode="&#x2dc;" horiz-adv-x="1095" d="M293 1190q2 33 10 65.5t25.5 58t43 42t62.5 16.5t68 -17.5t57.5 -39t51 -38.5t51.5 -17q33 0 51 29.5t27 82.5h61q-2 -33 -10 -65.5t-25.5 -58t-43 -42t-62.5 -16.5t-68 17.5t-56.5 39t-51 39t-52.5 17.5q-61 0 -78 -113h-61z" />
+<glyph unicode="&#x2000;" horiz-adv-x="884" />
+<glyph unicode="&#x2001;" horiz-adv-x="1769" />
+<glyph unicode="&#x2002;" horiz-adv-x="884" />
+<glyph unicode="&#x2003;" horiz-adv-x="1769" />
+<glyph unicode="&#x2004;" horiz-adv-x="589" />
+<glyph unicode="&#x2005;" horiz-adv-x="442" />
+<glyph unicode="&#x2006;" horiz-adv-x="294" />
+<glyph unicode="&#x2007;" horiz-adv-x="294" />
+<glyph unicode="&#x2008;" horiz-adv-x="221" />
+<glyph unicode="&#x2009;" horiz-adv-x="353" />
+<glyph unicode="&#x200a;" horiz-adv-x="98" />
+<glyph unicode="&#x2010;" horiz-adv-x="612" d="M82 471v80h450v-80h-450z" />
+<glyph unicode="&#x2011;" horiz-adv-x="612" d="M82 471v80h450v-80h-450z" />
+<glyph unicode="&#x2012;" horiz-adv-x="612" d="M82 471v80h450v-80h-450z" />
+<glyph unicode="&#x2013;" horiz-adv-x="983" d="M82 475v74h819v-74h-819z" />
+<glyph unicode="&#x2014;" horiz-adv-x="1638" d="M82 475v74h1474v-74h-1474z" />
+<glyph unicode="&#x2018;" horiz-adv-x="448" d="M119 1120q0 111 46 188.5t128 131.5l37 -47q-68 -55 -102.5 -110.5t-34.5 -143.5q4 2 16 2q31 0 56.5 -18.5t25.5 -57.5t-23.5 -60.5t-58.5 -21.5q-41 0 -65.5 36t-24.5 101z" />
+<glyph unicode="&#x2019;" horiz-adv-x="448" d="M119 1024q68 55 102.5 110.5t34.5 143.5q-4 -2 -16 -2q-29 0 -54.5 18.5t-25.5 57.5t22.5 60.5t57.5 21.5q41 0 66.5 -36t25.5 -102q0 -111 -46 -188.5t-130 -130.5z" />
+<glyph unicode="&#x201a;" horiz-adv-x="448" d="M119 -219q68 55 102.5 110.5t34.5 143.5q-4 -2 -16 -2q-29 0 -54.5 18.5t-25.5 57.5t22.5 60.5t57.5 21.5q41 0 66.5 -36t25.5 -102q0 -111 -46 -188.5t-130 -130.5z" />
+<glyph unicode="&#x201c;" horiz-adv-x="737" d="M119 1120q0 111 46 188.5t128 131.5l37 -47q-68 -55 -102.5 -110.5t-34.5 -143.5q4 2 16 2q31 0 56.5 -18.5t25.5 -57.5t-23.5 -60.5t-58.5 -21.5q-41 0 -65.5 36t-24.5 101zM408 1120q0 111 46 188.5t128 131.5l37 -47q-68 -55 -102.5 -110.5t-34.5 -143.5q4 2 16 2 q31 0 56.5 -18.5t25.5 -57.5t-23.5 -60.5t-58.5 -21.5q-41 0 -65.5 36t-24.5 101z" />
+<glyph unicode="&#x201d;" horiz-adv-x="737" d="M119 1024q68 55 102.5 110.5t34.5 143.5q-4 -2 -16 -2q-29 0 -54.5 18.5t-25.5 57.5t22.5 60.5t57.5 21.5q41 0 66.5 -36t25.5 -102q0 -111 -46 -188.5t-130 -130.5zM408 1024q68 55 102.5 110.5t34.5 143.5q-4 -2 -16 -2q-29 0 -54.5 18.5t-25.5 57.5t22.5 60.5 t57.5 21.5q41 0 66.5 -36t25.5 -102q0 -111 -46 -188.5t-130 -130.5z" />
+<glyph unicode="&#x201e;" horiz-adv-x="737" d="M119 -219q68 55 102.5 110.5t34.5 143.5q-4 -2 -16 -2q-29 0 -54.5 18.5t-25.5 57.5t22.5 60.5t57.5 21.5q41 0 66.5 -36t25.5 -102q0 -111 -46 -188.5t-130 -130.5zM408 -219q68 55 102.5 110.5t34.5 143.5q-4 -2 -16 -2q-29 0 -54.5 18.5t-25.5 57.5t22.5 60.5 t57.5 21.5q41 0 66.5 -36t25.5 -102q0 -111 -46 -188.5t-130 -130.5z" />
+<glyph unicode="&#x2022;" horiz-adv-x="575" d="M82 541q0 51 17.5 93t46 70.5t65.5 45t76 16.5t76.5 -16.5t66.5 -45t46.5 -70.5t17.5 -93q0 -53 -17.5 -94t-46.5 -71t-66.5 -45.5t-76.5 -15.5t-76 15.5t-65.5 45.5t-46 70.5t-17.5 94.5z" />
+<glyph unicode="&#x2026;" horiz-adv-x="1904" d="M213 68q0 45 26.5 69.5t61.5 24.5t60.5 -24.5t25.5 -69.5q0 -43 -25.5 -68t-60.5 -25t-61.5 25t-26.5 68zM903 68q0 45 26.5 69.5t61.5 24.5t60.5 -24.5t25.5 -69.5q0 -43 -25.5 -68t-60.5 -25t-61.5 25t-26.5 68zM1593 68q0 45 26.5 69.5t61.5 24.5t60.5 -24.5 t25.5 -69.5q0 -43 -25.5 -68t-60.5 -25t-61.5 25t-26.5 68z" />
+<glyph unicode="&#x202f;" horiz-adv-x="353" />
+<glyph unicode="&#x2039;" horiz-adv-x="530" d="M88 477v78l281 330l51 -43l-252 -326l252 -330l-51 -39z" />
+<glyph unicode="&#x203a;" horiz-adv-x="530" d="M111 186l249 330l-249 326l49 43l282 -330v-78l-282 -330z" />
+<glyph unicode="&#x205f;" horiz-adv-x="442" />
+<glyph unicode="&#x20ac;" d="M49 504v59l127 8q-2 23 -2 43.5v42.5v37t2 35h-127v59l133 9q14 125 53 224t100.5 169t144.5 106.5t182 36.5q92 0 167.5 -47t120.5 -112l-59 -56q-45 61 -101.5 99t-127.5 38q-164 0 -262.5 -121.5t-120.5 -336.5h569v-68h-576q-2 -16 -2 -33.5v-36.5v-44t2 -44h494v-67 h-487q27 -209 118.5 -330t239.5 -121q86 0 150.5 41t123.5 125l60 -51q-66 -90 -146 -141.5t-194 -51.5q-90 0 -166 37t-133.5 105.5t-96 166t-53.5 220.5h-133z" />
+<glyph unicode="&#x2122;" horiz-adv-x="1249" d="M4 1313v71h518v-71h-221v-557h-78v557h-219zM629 756v628h106l107 -256l63 -176h8l64 176l102 256h107v-628h-78v329l10 201h-8l-168 -432h-70l-167 432h-9l11 -201v-329h-78z" />
+<glyph unicode="&#xe000;" horiz-adv-x="983" d="M0 0v983h983v-983h-983z" />
+<glyph unicode="&#xfb01;" horiz-adv-x="1044" d="M68 905v70l135 8v219q0 147 63.5 221t179.5 74q72 0 144 -33l-25 -73q-31 16 -60.5 22t-58.5 6q-78 0 -115.5 -58t-37.5 -165v-213h227v-78h-227v-905h-90v905h-135zM729 1300q0 39 23.5 60.5t58.5 21.5t58 -21.5t23 -60.5q0 -35 -23 -57t-58 -22t-58.5 22.5t-23.5 56.5z M763 0v983h91v-983h-91z" />
+<glyph unicode="&#xfb02;" horiz-adv-x="1024" d="M68 905v70l135 8v219q0 147 63.5 221t179.5 74q72 0 144 -33l-25 -73q-31 16 -60.5 22t-58.5 6q-78 0 -115.5 -58t-37.5 -165v-213h227v-78h-227v-905h-90v905h-135zM727 131v1342h91v-1354q0 -33 12 -48.5t31 -15.5h13t23 4l17 -73q-14 -4 -28.5 -7.5t-37.5 -3.5 q-121 0 -121 156z" />
+</font>
+</defs></svg> 
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-200-normal-webfont.ttf b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-200-normal-webfont.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..b081effa23ca1217956e1334a938b0d3bb25b250
Binary files /dev/null and b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-200-normal-webfont.ttf differ
diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-200-normal-webfont.woff b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-200-normal-webfont.woff
new file mode 100644
index 0000000000000000000000000000000000000000..0cc7b8d7815bbd7ee728812f8d8db78a6842b641
Binary files /dev/null and b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-200-normal-webfont.woff differ
diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-400-normal-webfont.eot b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-400-normal-webfont.eot
new file mode 100644
index 0000000000000000000000000000000000000000..3490416ce5062bb5fabc5ef50f3c9f411691650b
Binary files /dev/null and b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-400-normal-webfont.eot differ
diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-400-normal-webfont.svg b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-400-normal-webfont.svg
new file mode 100644
index 0000000000000000000000000000000000000000..83388d83b58f50bd122569ca375647e805193a7c
--- /dev/null
+++ b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-400-normal-webfont.svg
@@ -0,0 +1,245 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata></metadata>
+<defs>
+<font id="source_sans_proregular" horiz-adv-x="1017" >
+<font-face units-per-em="2048" ascent="1536" descent="-512" />
+<missing-glyph horiz-adv-x="413" />
+<glyph horiz-adv-x="0" />
+<glyph horiz-adv-x="682" />
+<glyph horiz-adv-x="0" />
+<glyph horiz-adv-x="0" />
+<glyph unicode="&#xd;" horiz-adv-x="413" />
+<glyph unicode=" "  horiz-adv-x="413" />
+<glyph unicode="&#x09;" horiz-adv-x="413" />
+<glyph unicode="&#xa0;" horiz-adv-x="413" />
+<glyph unicode="!" horiz-adv-x="591" d="M174 102q0 59 36 95t87 36q49 0 85 -35.5t36 -95.5q0 -55 -36 -91t-85 -36q-51 0 -87 36t-36 91zM211 1372h170l-4 -192l-23 -774h-116l-23 774z" />
+<glyph unicode="&#x22;" horiz-adv-x="870" d="M164 1413h180l-6 -188l-33 -342h-102l-33 342zM524 1413h180l-6 -188l-33 -342h-102l-33 342z" />
+<glyph unicode="#" d="M72 418v117h178l37 303h-174v118h188l47 375h109l-47 -375h272l49 375h109l-49 -375h165v-118h-178l-37 -303h174v-117h-188l-51 -418h-109l49 418h-270l-51 -418h-111l52 418h-164zM360 535h271l37 303h-271z" />
+<glyph unicode="$" d="M106 135l78 117q66 -57 145 -97t173 -40q115 0 171 57t56 154q0 82 -42 136t-105.5 94t-138 75t-138 80t-105.5 109.5t-42 164.5q0 137 80.5 228.5t216.5 113.5v205h123v-203q98 -10 166.5 -53t123.5 -102l-90 -101q-57 55 -111.5 86t-138.5 31q-94 0 -149 -53.5 t-55 -143.5q0 -74 42 -121t105.5 -82.5t138 -69.5t138 -82t105.5 -118.5t42 -181.5q0 -147 -85 -241.5t-232 -114.5v-207h-123v202q-98 10 -190.5 54.5t-158.5 103.5z" />
+<glyph unicode="%" horiz-adv-x="1687" d="M72 946q0 203 83 312.5t222 109.5q137 0 221 -109.5t84 -312.5q0 -205 -84 -315.5t-221 -110.5q-139 0 -222 111t-83 315zM199 946q0 -160 49 -240.5t129 -80.5q78 0 127 81t49 240q0 160 -49 239t-127 79q-80 0 -129 -79t-49 -239zM414 -25l741 1393h115l-741 -1393 h-115zM1008 401q0 203 83 312.5t222 109.5q137 0 221 -109.5t84 -312.5q0 -205 -84 -315.5t-221 -110.5q-139 0 -222 111t-83 315zM1135 401q0 -160 49 -240.5t129 -80.5q78 0 127 81t49 240q0 160 -49 239t-127 79q-80 0 -129 -79t-49 -239z" />
+<glyph unicode="&#x26;" horiz-adv-x="1247" d="M66 348q0 68 21.5 123t58 102.5t85 87t99.5 74.5q-41 84 -64.5 163t-23.5 153q0 68 22.5 125t63.5 100t98 67.5t127 24.5q125 0 194.5 -73.5t69.5 -192.5q0 -66 -26.5 -121t-69.5 -103.5t-97.5 -90.5t-109.5 -82q66 -104 155 -200.5t185 -176.5q61 84 109.5 182t78.5 215 h158q-41 -133 -98.5 -254t-136.5 -227q70 -47 133 -80t119 -49l-46 -140q-72 20 -149.5 58.5t-159.5 95.5q-78 -70 -173 -112t-214 -42q-92 0 -167 28t-129 77t-83.5 117.5t-29.5 150.5zM229 358q0 -55 20.5 -101t56.5 -79t84 -50t104 -17q70 0 133 28.5t123 79.5 q-98 86 -189.5 188.5t-163.5 210.5q-72 -57 -120 -119.5t-48 -140.5zM387 1053q0 -55 17.5 -114.5t46.5 -121.5q45 31 87 62.5t73.5 65.5t50 72t18.5 83q0 59 -29.5 103t-97.5 44q-76 0 -121 -55t-45 -139z" />
+<glyph unicode="'" horiz-adv-x="509" d="M164 1413h180l-6 -188l-33 -342h-102l-33 342z" />
+<glyph unicode="(" horiz-adv-x="620" d="M168 569q0 270 71.5 496.5t198.5 433.5l105 -49q-119 -197 -177.5 -421t-58.5 -460t58.5 -460t177.5 -420l-105 -49q-127 205 -198.5 432t-71.5 497z" />
+<glyph unicode=")" horiz-adv-x="620" d="M78 -311q119 197 177 421t58 459q0 236 -58 460t-177 421l104 49q127 -207 199 -433t72 -497q0 -270 -72 -497.5t-199 -431.5z" />
+<glyph unicode="*" horiz-adv-x="856" d="M119 1194l31 94l208 -51l19 221h100l19 -219l211 49l30 -94l-198 -82l114 -192l-80 -60l-145 176l-145 -176l-82 60l116 192z" />
+<glyph unicode="+" d="M70 612v127h372v400h133v-400h373v-127h-373v-399h-133v399h-372z" />
+<glyph unicode="," horiz-adv-x="509" d="M96 -250q86 39 135.5 102.5t49.5 147.5q-6 -2 -21 -2q-49 0 -85 29.5t-36 87.5q0 55 37 86.5t88 31.5q66 0 104 -53t38 -145q0 -133 -72 -231.5t-197 -151.5z" />
+<glyph unicode="-" horiz-adv-x="636" d="M84 449v129h471v-129h-471z" />
+<glyph unicode="." horiz-adv-x="509" d="M133 102q0 59 36 95t87 36q49 0 85 -35.5t36 -95.5q0 -55 -36 -91t-85 -36q-51 0 -87 36t-36 91z" />
+<glyph unicode="/" horiz-adv-x="716" d="M20 -328l547 1782h123l-545 -1782h-125z" />
+<glyph unicode="0" d="M90 657q0 330 110.5 502t309.5 172q197 0 307.5 -172t110.5 -502t-110.5 -506t-307.5 -176q-199 0 -309.5 176.5t-110.5 505.5zM254 657q0 -287 70.5 -416.5t185.5 -129.5q57 0 103 31.5t80 98t52.5 170t18.5 246.5t-18.5 246t-52.5 167.5t-80 95t-103 30.5t-104.5 -30.5 t-81 -95t-52 -167t-18.5 -246.5z" />
+<glyph unicode="1" d="M162 0v139h299v963h-238v108q90 16 156.5 40t120.5 57h129v-1168h270v-139h-737z" />
+<glyph unicode="2" d="M74 1133q82 90 174 144t221 54q182 0 286.5 -105.5t104.5 -279.5q0 -92 -40 -185t-110.5 -192.5t-168 -207t-213.5 -228.5q53 4 110.5 8t108.5 4h379v-145h-844v100q147 147 262 266t192.5 220.5t118.5 186.5t41 165q0 113 -61.5 184.5t-185.5 71.5q-82 0 -152 -46 t-127 -112z" />
+<glyph unicode="3" d="M53 160l86 110q59 -61 138 -108t196 -47q119 0 194.5 64.5t75.5 174.5q0 57 -21.5 105.5t-70.5 83.5t-129 53t-196 18v129q104 0 174.5 18.5t114.5 51.5t62.5 78t18.5 96q0 96 -60.5 151.5t-164.5 55.5q-82 0 -150.5 -37t-127.5 -96l-91 106q76 72 167 118t208 46 q86 0 158 -22.5t124 -64.5t80.5 -103.5t28.5 -141.5q0 -119 -65.5 -194.5t-171.5 -116.5v-8q59 -14 110.5 -42t90 -70t60 -97t21.5 -123q0 -86 -33.5 -155.5t-92 -117.5t-136.5 -74t-168 -26q-78 0 -142.5 15.5t-117.5 41t-95 58.5t-75 70z" />
+<glyph unicode="4" d="M35 360v111l559 836h188v-811h179v-136h-179v-360h-159v360h-588zM213 496h410v378q0 53 3 126t7 126h-8q-25 -47 -51.5 -92t-55.5 -92z" />
+<glyph unicode="5" d="M51 154l82 110q57 -59 136 -104t194 -45q59 0 111.5 21.5t91.5 60.5t61.5 94t22.5 123q0 135 -76 210.5t-203 75.5q-68 0 -116 -20.5t-107 -58.5l-90 57l43 629h653v-146h-506l-35 -387q47 25 94.5 39t106.5 14q84 0 157.5 -24.5t129 -74.5t87.5 -127t32 -183t-37 -188.5 t-98.5 -138.5t-140.5 -86t-165 -30q-78 0 -142.5 15.5t-116.5 40t-94 56.5t-75 67z" />
+<glyph unicode="6" d="M98 604q0 197 41 335t110.5 225t159 127t187.5 40q106 0 183 -40t132 -99l-94 -105q-41 47 -97 75t-118 28q-68 0 -129 -28.5t-108.5 -94.5t-76 -171t-30.5 -261q61 76 143 120t162 44q170 0 271.5 -100.5t101.5 -303.5q0 -94 -31 -171t-84 -132t-122.5 -86t-149.5 -31 q-96 0 -178 39t-142.5 118t-95.5 196.5t-35 275.5zM262 500q16 -193 89 -292t198 -99q49 0 90 20.5t71.5 58t48 90t17.5 117.5q0 129 -59.5 203t-181.5 74q-61 0 -134 -40t-139 -132z" />
+<glyph unicode="7" d="M90 1161v146h842v-105q-117 -147 -189.5 -282.5t-115.5 -275.5t-62.5 -297t-27.5 -347h-175q8 184 33 338t69 292t112.5 267t164.5 264h-651z" />
+<glyph unicode="8" d="M84 334q0 63 21.5 117.5t55.5 98.5t78 78t91 58v8q-72 51 -127.5 124t-55.5 177q0 76 29 137.5t78 105.5t116.5 68.5t147.5 24.5q86 0 153.5 -25.5t116 -71.5t74 -110.5t25.5 -140.5q0 -51 -17.5 -98t-43 -88t-57.5 -74t-62 -55v-9q43 -25 83.5 -56.5t72.5 -71t51.5 -91 t19.5 -116.5q0 -74 -31 -137.5t-86 -110.5t-133 -74t-172 -27q-92 0 -171 27t-135 75t-89 113.5t-33 143.5zM236 350q0 -55 21.5 -100t59 -79t89 -52.5t110.5 -18.5q115 0 185.5 63.5t70.5 166.5q0 63 -28.5 108t-78 79t-114 61.5t-133.5 56.5q-78 -53 -130 -124t-52 -161z M303 995q0 -59 24.5 -101t66.5 -75t96.5 -58t113.5 -48q66 59 101.5 124.5t35.5 137.5q0 98 -59 164.5t-168 66.5q-92 0 -151.5 -57t-59.5 -154z" />
+<glyph unicode="9" d="M82 911q0 94 30.5 171t83 132.5t123 86t148.5 30.5q96 0 179 -39t143.5 -117.5t94.5 -196.5t34 -276q0 -197 -41 -335t-111 -225t-159 -127t-187 -40q-104 0 -183 39t-133 99l95 106q41 -47 97 -75.5t118 -28.5q70 0 131 28.5t108 95t76 173t31 264.5q-61 -78 -143 -123 t-164 -45q-170 0 -270.5 100.5t-100.5 302.5zM240 911q0 -129 59 -202.5t182 -73.5q63 0 136 40t139 134q-16 193 -90 291t-199 98q-47 0 -89 -20.5t-73 -58.5t-48 -91t-17 -117z" />
+<glyph unicode=":" horiz-adv-x="509" d="M133 102q0 59 36 95t87 36q49 0 85 -35.5t36 -95.5q0 -55 -36 -91t-85 -36q-51 0 -87 36t-36 91zM133 841q0 59 36 95t87 36q49 0 85 -35.5t36 -95.5q0 -55 -36 -91t-85 -36q-51 0 -87 36t-36 91z" />
+<glyph unicode=";" horiz-adv-x="509" d="M96 -250q86 39 135.5 102.5t49.5 147.5q-6 -2 -21 -2q-49 0 -85 29.5t-36 87.5q0 55 37 86.5t88 31.5q66 0 104 -53t38 -145q0 -133 -72 -231.5t-197 -151.5zM133 841q0 59 36 95t87 36q49 0 85 -35.5t36 -95.5q0 -55 -36 -91t-85 -36q-51 0 -87 36t-36 91z" />
+<glyph unicode="&#x3c;" d="M70 612v136l878 344v-146l-432 -160l-274 -102v-8l274 -103l432 -159v-146z" />
+<glyph unicode="=" d="M70 395v127h878v-127h-878zM70 831v127h878v-127h-878z" />
+<glyph unicode="&#x3e;" d="M70 268v146l432 159l274 103v8l-274 102l-432 160v146l878 -344v-136z" />
+<glyph unicode="?" horiz-adv-x="870" d="M78 1227q66 74 149.5 122t194.5 48q160 0 255 -87t95 -241q0 -68 -24.5 -123t-60.5 -104t-76 -97.5t-73.5 -99.5t-52 -109.5t-10.5 -129.5h-147q-12 80 5 144t48 118.5t71 101.5t74.5 93t58 93.5t23.5 102.5q0 82 -50 140t-148 58q-68 0 -128.5 -31.5t-107.5 -86.5z M285 102q0 59 34.5 95t86.5 36q51 0 86.5 -35.5t35.5 -95.5q0 -55 -35.5 -91t-86.5 -36t-86 36t-35 91z" />
+<glyph unicode="@" horiz-adv-x="1734" d="M104 416q0 205 69 372.5t186.5 286.5t272 183.5t326.5 64.5q156 0 280 -49t211 -138t134 -214t47 -277q0 -135 -38 -236.5t-97 -170t-132 -103.5t-142 -35q-84 0 -142.5 39t-68.5 117h-4q-51 -59 -117 -99t-133 -40q-104 0 -175 73.5t-71 215.5q0 82 27.5 166.5t79 153.5 t124 112t162.5 43q53 0 94 -23.5t70 -75.5h4l23 82h112l-80 -409q-61 -240 111 -240q49 0 97 28.5t88 83t64.5 133.5t24.5 179q0 123 -35.5 228.5t-107.5 181t-178.5 118.5t-245.5 43q-137 0 -266 -56t-229.5 -158.5t-161 -248t-60.5 -325.5q0 -150 46 -266.5t128 -196.5 t194 -122t243 -42q94 0 178 25.5t153 66.5l45 -100q-174 -104 -389 -104q-152 0 -282.5 47t-228 140t-154 230.5t-56.5 315.5zM645 416q0 -98 41 -141.5t102 -43.5q43 0 89.5 29t99.5 92l59 326q-29 47 -59.5 66.5t-71.5 19.5q-61 0 -109 -33t-82 -84t-51.5 -112.5 t-17.5 -118.5z" />
+<glyph unicode="A" horiz-adv-x="1101" d="M0 0l455 1343h192l455 -1343h-180l-129 410h-490l-129 -410h-174zM346 547h404l-64 205q-35 113 -67.5 224t-65.5 228h-8q-33 -117 -66 -228.5t-67 -223.5z" />
+<glyph unicode="B" horiz-adv-x="1193" d="M178 0v1343h400q102 0 187 -18t146.5 -57t95 -101.5t33.5 -150.5q0 -100 -57 -181t-178 -112v-8q147 -23 229 -103t82 -219q0 -98 -37 -172t-104.5 -123t-160.5 -73.5t-206 -24.5h-430zM350 135h234q174 0 269 64.5t95 201.5q0 125 -93 183.5t-271 58.5h-234v-508z M350 770h199q172 0 247.5 59.5t75.5 171.5q0 111 -79.5 159t-235.5 48h-207v-438z" />
+<glyph unicode="C" horiz-adv-x="1159" d="M100 672q0 162 45 291t126 219t190.5 138t238.5 48q121 0 214.5 -50t152.5 -116l-96 -108q-53 57 -119 91t-150 34q-96 0 -174.5 -38t-134 -109t-86.5 -171t-31 -225q0 -127 30 -228.5t84 -173t131 -110.5t173 -39t169 39t138 110l97 -104q-78 -92 -178.5 -143.5 t-229.5 -51.5q-127 0 -234.5 47.5t-186.5 136.5t-124 219t-45 294z" />
+<glyph unicode="D" horiz-adv-x="1253" d="M178 0v1343h336q311 0 473 -172t162 -493q0 -160 -41 -286t-121 -213t-196.5 -133t-268.5 -46h-344zM350 139h152q238 0 354.5 141.5t116.5 397.5t-117 391t-354 135h-152v-1065z" />
+<glyph unicode="E" horiz-adv-x="1069" d="M178 0v1343h774v-143h-602v-422h508v-145h-508v-488h623v-145h-795z" />
+<glyph unicode="F" horiz-adv-x="1001" d="M178 0v1343h776v-143h-604v-455h512v-143h-512v-602h-172z" />
+<glyph unicode="G" horiz-adv-x="1253" d="M100 672q0 162 46.5 291t129 219t196.5 138t249 48q137 0 231.5 -52t153.5 -114l-98 -108q-51 53 -118 89t-167 36q-102 0 -184 -38t-140.5 -109t-90.5 -171t-32 -225q0 -127 30 -228.5t86.5 -173t139 -110.5t191.5 -39q72 0 137.5 21.5t106.5 58.5v350h-285v141h440 v-565q-66 -66 -174 -111t-243 -45q-133 0 -244 47.5t-191 136.5t-125 219t-45 294z" />
+<glyph unicode="H" horiz-adv-x="1325" d="M178 0v1343h172v-563h625v563h170v-1343h-170v633h-625v-633h-172z" />
+<glyph unicode="I" horiz-adv-x="528" d="M178 0v1343h172v-1343h-172z" />
+<glyph unicode="J" horiz-adv-x="970" d="M59 190l121 86q47 -80 104.5 -115.5t129.5 -35.5q109 0 162 66.5t53 220.5v931h170v-948q0 -86 -20.5 -162.5t-65.5 -134t-116 -90.5t-169 -33q-250 0 -369 215z" />
+<glyph unicode="K" horiz-adv-x="1175" d="M178 0v1343h172v-673h4l559 673h195l-422 -512l485 -831h-190l-401 698l-230 -272v-426h-172z" />
+<glyph unicode="L" horiz-adv-x="985" d="M178 0v1343h172v-1198h586v-145h-758z" />
+<glyph unicode="M" horiz-adv-x="1478" d="M178 0v1343h203l260 -720l96 -275h8l95 275l258 720h200v-1343h-161v739q0 90 8 199t14 199h-8l-107 -299l-258 -703h-98l-258 703l-106 299h-9q6 -90 13.5 -199t7.5 -199v-739h-158z" />
+<glyph unicode="N" horiz-adv-x="1314" d="M178 0v1343h176l488 -843l145 -279h8q-6 102 -14 212t-8 216v694h162v-1343h-177l-485 846l-145 276h-9q6 -102 13.5 -207.5t7.5 -212.5v-702h-162z" />
+<glyph unicode="O" horiz-adv-x="1349" d="M100 678q0 162 42 290t119 217t182.5 136t232.5 47q125 0 230.5 -48t182 -137t118.5 -217t42 -288q0 -162 -42 -292t-118.5 -221t-182 -140.5t-230.5 -49.5q-127 0 -232.5 49.5t-182.5 140.5t-119 221t-42 292zM276 678q0 -127 29 -228.5t81 -174t126 -111.5t164 -39 t162.5 39t125 111.5t81 174t28.5 228.5q0 125 -28.5 225.5t-81 170t-125 107.5t-162.5 38t-164 -38t-126 -107.5t-81 -170t-29 -225.5z" />
+<glyph unicode="P" horiz-adv-x="1169" d="M178 0v1343h414q111 0 203 -20t156.5 -66.5t100 -122t35.5 -186.5q0 -106 -35.5 -184t-101 -129t-157 -77t-201.5 -26h-242v-532h-172zM350 672h219q178 0 263.5 66.5t85.5 209.5q0 145 -87.5 201.5t-261.5 56.5h-219v-534z" />
+<glyph unicode="Q" horiz-adv-x="1349" d="M98 678q0 162 42 290t118 217t181.5 136t232.5 47t232.5 -48t182 -137t118.5 -217t42 -288q0 -145 -33.5 -265t-96 -209t-150.5 -145.5t-195 -74.5q47 -90 133 -133.5t197 -43.5q45 0 78.5 6.5t62.5 14.5l33 -133q-31 -10 -82 -20.5t-111 -10.5q-186 0 -311 89t-184 229 q-111 14 -201 69t-154.5 145.5t-99.5 212t-35 269.5zM274 678q0 -127 29 -228.5t81 -174t125 -111.5t163 -39t162.5 39t125 111.5t81 174t28.5 228.5q0 125 -28.5 225.5t-81 170t-125 107.5t-162.5 38t-163 -38t-125 -107.5t-81 -170t-29 -225.5z" />
+<glyph unicode="R" horiz-adv-x="1179" d="M178 0v1343h422q102 0 188 -19t148.5 -64.5t97.5 -117t35 -175.5q0 -158 -82 -252t-219 -129l342 -586h-195l-323 567h-242v-567h-172zM350 707h225q158 0 241 64.5t83 195.5q0 133 -83 186t-241 53h-225v-499z" />
+<glyph unicode="S" horiz-adv-x="1083" d="M82 174l102 119q72 -76 168.5 -122t202.5 -46q133 0 207 60.5t74 158.5q0 51 -17.5 87t-48.5 61.5t-72 46t-88 43.5l-192 84q-47 20 -95.5 48.5t-88 69.5t-64.5 97.5t-25 130.5q0 76 32 141.5t89.5 113.5t134 74.5t168.5 26.5q121 0 222.5 -46t173.5 -120l-91 -110 q-61 59 -136.5 93t-168.5 34q-115 0 -183.5 -52.5t-68.5 -144.5q0 -49 20.5 -83t52.5 -59.5t72 -45t79 -35.5l192 -82q57 -25 108.5 -56.5t88.5 -73.5t58.5 -98.5t21.5 -130.5q0 -80 -32 -149.5t-91.5 -121.5t-144.5 -82t-191 -30q-141 0 -261 53.5t-208 145.5z" />
+<glyph unicode="T" horiz-adv-x="1087" d="M51 1200v143h985v-143h-407v-1200h-170v1200h-408z" />
+<glyph unicode="U" horiz-adv-x="1310" d="M172 555v788h172v-792q0 -121 24.5 -203t66.5 -131t98.5 -70.5t121.5 -21.5q68 0 126.5 21.5t101.5 70.5t67.5 131t24.5 203v792h164v-788q0 -162 -37 -272.5t-101.5 -179t-153.5 -98.5t-192 -30q-102 0 -191 30t-153.5 98.5t-101.5 179t-37 272.5z" />
+<glyph unicode="V" horiz-adv-x="1044" d="M-4 1343h180l217 -725q35 -121 63.5 -223t65.5 -221h8q18 59 35 113.5t32 108t30.5 108.5t31.5 114l215 725h175l-426 -1343h-199z" />
+<glyph unicode="W" horiz-adv-x="1599" d="M41 1343h176l141 -731q20 -111 40 -217t40 -217h8q23 111 46.5 218.5t48.5 215.5l186 731h156l186 -731q23 -106 47.5 -214.5t48.5 -219.5h9q20 111 38.5 218.5t36.5 215.5l142 731h165l-278 -1343h-207l-203 809q-16 78 -32.5 152.5t-30.5 152.5h-8q-16 -78 -34 -152.5 t-34 -152.5l-201 -809h-202z" />
+<glyph unicode="X" horiz-adv-x="1040" d="M27 0l391 694l-367 649h189l184 -344q25 -47 48.5 -91t55.5 -103h9q29 59 49 103t45 91l178 344h180l-364 -657l391 -686h-189l-198 362q-27 49 -54.5 101.5t-60.5 114.5h-8q-29 -61 -54.5 -113.5t-52.5 -102.5l-194 -362h-178z" />
+<glyph unicode="Y" horiz-adv-x="964" d="M-8 1343h184l172 -378q33 -74 64.5 -145.5t66.5 -147.5h8q35 76 69 147.5t65 145.5l174 378h176l-404 -823v-520h-170v520z" />
+<glyph unicode="Z" horiz-adv-x="1093" d="M86 0v102l709 1098h-645v143h856v-100l-709 -1098h715v-145h-926z" />
+<glyph unicode="[" horiz-adv-x="620" d="M193 -311v1761h366v-98h-240v-1567h240v-96h-366z" />
+<glyph unicode="\" horiz-adv-x="716" d="M29 1454h121l546 -1782h-123z" />
+<glyph unicode="]" horiz-adv-x="620" d="M63 -215h238v1567h-238v98h365v-1761h-365v96z" />
+<glyph unicode="^" d="M123 582l311 790h150l311 -790h-147l-134 360l-100 272h-8l-103 -272l-133 -360h-147z" />
+<glyph unicode="_" horiz-adv-x="1024" d="M25 -145h974v-113h-974v113z" />
+<glyph unicode="`" horiz-adv-x="1110" d="M328 1462h176l184 -288h-129z" />
+<glyph unicode="a" horiz-adv-x="1048" d="M119 258q0 164 146.5 251t465.5 122q0 47 -9 92t-32.5 80t-62.5 56.5t-101 21.5q-88 0 -162.5 -33t-134.5 -74l-67 117q70 45 170 87t221 42q182 0 264 -111.5t82 -298.5v-610h-139l-15 119h-4q-72 -59 -154.5 -101.5t-174.5 -42.5q-127 0 -210 74t-83 209zM285 270 q0 -86 50 -122.5t124 -36.5q72 0 136 33.5t136 99.5v276q-125 -16 -211 -38.5t-138 -53.5t-74.5 -71t-22.5 -87z" />
+<glyph unicode="b" horiz-adv-x="1136" d="M168 0v1458h168v-397l-4 -180q68 59 147.5 99t163.5 40q96 0 170 -36t124 -102.5t75.5 -159.5t25.5 -208q0 -127 -34.5 -227.5t-94 -170t-137.5 -105.5t-164 -36q-70 0 -144.5 32t-139.5 91h-7l-14 -98h-135zM336 221q66 -57 130 -80.5t114 -23.5q61 0 113 27.5t90 77.5 t59.5 124t21.5 166q0 82 -14 149.5t-46 115.5t-82 75t-120 27q-121 0 -266 -136v-522z" />
+<glyph unicode="c" horiz-adv-x="933" d="M94 496q0 125 39 222t104.5 164.5t152.5 102.5t183 35q98 0 169 -36t122 -83l-84 -108q-45 39 -93 63.5t-107 24.5q-68 0 -125.5 -28t-98.5 -79t-64.5 -121.5t-23.5 -156.5t22.5 -156t62.5 -120t97.5 -77.5t124.5 -27.5q72 0 130.5 29.5t103.5 70.5l76 -111 q-68 -59 -151 -94t-173 -35q-98 0 -184 35t-148.5 101.5t-98.5 164t-36 220.5z" />
+<glyph unicode="d" horiz-adv-x="1136" d="M96 496q0 121 36 218t95.5 164.5t137 104.5t163.5 37t149.5 -31t129.5 -84l-8 170v383h170v-1458h-140l-14 117h-6q-59 -57 -136 -99.5t-165 -42.5q-188 0 -300 135.5t-112 385.5zM270 498q0 -180 72 -280.5t203 -100.5q70 0 131 33.5t123 103.5v520q-63 57 -122 81 t-120 24q-59 0 -111.5 -28t-91.5 -78t-61.5 -119.5t-22.5 -155.5z" />
+<glyph unicode="e" horiz-adv-x="1015" d="M94 496q0 123 38 220t100.5 164.5t142.5 103.5t166 36q94 0 168.5 -33t125 -94.5t77 -147.5t26.5 -192q0 -55 -6 -92h-672q10 -162 99.5 -256t232.5 -94q72 0 132 21.5t116 55.5l59 -110q-66 -41 -145.5 -72t-182.5 -31q-100 0 -187 36t-151.5 102.5t-101.5 163 t-37 219.5zM258 571h533q0 154 -64.5 235t-181.5 81q-53 0 -101.5 -21.5t-87.5 -61.5t-64.5 -98.5t-33.5 -134.5z" />
+<glyph unicode="f" horiz-adv-x="598" d="M61 858v127l136 10v158q0 154 70.5 242t219.5 88q47 0 89 -9.5t77 -23.5l-37 -129q-55 25 -112 25q-139 0 -139 -193v-158h210v-137h-210v-858h-168v858h-136z" />
+<glyph unicode="g" horiz-adv-x="1032" d="M92 -190q0 63 39 120.5t107 104.5v8q-37 23 -62.5 62.5t-25.5 99.5q0 63 34.5 110t73.5 74v8q-49 41 -89 109.5t-40 159.5q0 82 29.5 147.5t81 111.5t120 70.5t144.5 24.5q41 0 76.5 -7t64.5 -18h346v-129h-205q35 -35 58.5 -88t23.5 -116q0 -80 -28.5 -144.5 t-77.5 -108.5t-115.5 -69t-142.5 -25q-37 0 -76 9.5t-74 25.5q-27 -23 -45 -50.5t-18 -68.5q0 -47 37 -77.5t139 -30.5h192q174 0 261.5 -56.5t87.5 -181.5q0 -70 -35 -132t-100.5 -109t-158.5 -75t-210 -28q-92 0 -168 17.5t-130 52.5t-84 84t-30 115zM240 -168 q0 -80 76.5 -127t211.5 -47q72 0 130.5 17.5t99.5 45t63.5 64.5t22.5 76q0 70 -51.5 96.5t-149.5 26.5h-172q-29 0 -62.5 3t-66.5 13q-53 -39 -77.5 -82t-24.5 -86zM293 666q0 -55 16.5 -99.5t46 -75t67.5 -47t81 -16.5t81 16.5t67.5 47t46 74.5t16.5 100q0 111 -61.5 171 t-149.5 60t-149.5 -60.5t-61.5 -170.5z" />
+<glyph unicode="h" horiz-adv-x="1114" d="M168 0v1458h168v-397l-6 -205q72 68 149.5 116t182.5 48q158 0 230.5 -98.5t72.5 -290.5v-631h-168v608q0 141 -45 203.5t-144 62.5q-78 0 -137 -38.5t-135 -114.5v-721h-168z" />
+<glyph unicode="i" horiz-adv-x="503" d="M137 1309q0 49 34 78.5t83 29.5t83 -29.5t34 -78.5q0 -47 -34 -78t-83 -31t-83 31t-34 78zM168 0v995h168v-995h-168z" />
+<glyph unicode="j" horiz-adv-x="505" d="M-82 -418l35 127q18 -6 42.5 -11t51.5 -5q74 0 98.5 51t24.5 143v1108h168v-1108q0 -152 -61.5 -241.5t-210.5 -89.5q-47 0 -84 8t-64 18zM139 1309q0 49 34 78.5t83 29.5q47 0 81 -29.5t34 -78.5q0 -47 -34 -78t-81 -31q-49 0 -83 31t-34 78z" />
+<glyph unicode="k" horiz-adv-x="1013" d="M168 0v1458h166v-987h6l424 524h186l-334 -399l379 -596h-184l-291 479l-186 -217v-262h-166z" />
+<glyph unicode="l" horiz-adv-x="522" d="M168 201v1257h168v-1270q0 -41 14.5 -57t32.5 -16h15.5t21.5 4l22 -127q-16 -8 -38.5 -12.5t-57.5 -4.5q-96 0 -137 57.5t-41 168.5z" />
+<glyph unicode="m" horiz-adv-x="1697" d="M168 0v995h139l15 -143h6q66 72 142.5 120t166.5 48q115 0 179.5 -50t94.5 -141q78 86 157 138.5t171 52.5q154 0 228.5 -98.5t74.5 -290.5v-631h-168v608q0 141 -45 203.5t-139 62.5q-113 0 -250 -153v-721h-168v608q0 141 -45 203.5t-141 62.5q-113 0 -250 -153v-721 h-168z" />
+<glyph unicode="n" horiz-adv-x="1120" d="M168 0v995h139l15 -143h6q72 72 150.5 120t183.5 48q158 0 230.5 -98.5t72.5 -290.5v-631h-168v608q0 141 -45 203.5t-144 62.5q-78 0 -137 -38.5t-135 -114.5v-721h-168z" />
+<glyph unicode="o" horiz-adv-x="1110" d="M94 496q0 125 38 222t101.5 164.5t146.5 102.5t175 35t175 -35t146.5 -102.5t101.5 -164.5t38 -222q0 -123 -38 -220.5t-101.5 -164t-146.5 -101.5t-175 -35t-175 35t-146.5 101.5t-101.5 164t-38 220.5zM268 496q0 -86 20.5 -156t58.5 -120t91.5 -77.5t116.5 -27.5 t116.5 27.5t91.5 77.5t58.5 120t20.5 156t-20.5 156.5t-58.5 121.5t-91.5 79t-116.5 28t-116.5 -28t-91.5 -79t-58.5 -121.5t-20.5 -156.5z" />
+<glyph unicode="p" horiz-adv-x="1136" d="M168 -420v1415h139l15 -114h6q68 57 148.5 98t168.5 41q96 0 170 -36t123 -102.5t74.5 -159.5t25.5 -210q0 -127 -34.5 -226.5t-94 -169t-137.5 -105.5t-164 -36q-70 0 -138.5 31t-137.5 84l4 -174v-336h-168zM336 221q68 -57 131 -80.5t113 -23.5q61 0 113 27.5t90 77.5 t59.5 124t21.5 166q0 82 -14 149.5t-46 115.5t-82 75t-120 27q-63 0 -127.5 -35t-138.5 -101v-522z" />
+<glyph unicode="q" horiz-adv-x="1126" d="M96 496q0 121 36 218t95.5 164.5t137 104.5t163.5 37t151.5 -29.5t133.5 -89.5h4l17 94h135v-1415h-170v354l8 177q-59 -55 -136 -95.5t-163 -40.5q-188 0 -300 135.5t-112 385.5zM270 498q0 -180 72 -280.5t203 -100.5q70 0 131 33.5t123 103.5v520q-63 57 -122 81 t-120 24q-59 0 -111.5 -28t-91.5 -78t-61.5 -119.5t-22.5 -155.5z" />
+<glyph unicode="r" horiz-adv-x="710" d="M168 0v995h139l15 -180h6q51 94 123.5 149.5t158.5 55.5q59 0 107 -21l-33 -147q-25 8 -45.5 12t-50.5 4q-63 0 -132 -51t-120 -178v-639h-168z" />
+<glyph unicode="s" horiz-adv-x="858" d="M57 113l84 112q66 -53 134.5 -86t158.5 -33q98 0 147.5 45.5t49.5 110.5q0 39 -20.5 67.5t-52.5 50t-73 38t-82 33.5q-53 18 -106 41.5t-95 57.5t-69 79t-27 108q0 59 24 111.5t68 90.5t107.5 59.5t143.5 21.5q94 0 172.5 -33t136.5 -80l-80 -106q-51 39 -106.5 63.5 t-120.5 24.5q-94 0 -138.5 -43t-44.5 -101q0 -35 18.5 -59t49.5 -44.5t70.5 -36t82.5 -32.5q53 -20 107.5 -42.5t97.5 -56.5t71 -83t28 -119q0 -61 -24 -114.5t-70 -94t-114.5 -64.5t-156.5 -24q-106 0 -202.5 39t-168.5 99z" />
+<glyph unicode="t" horiz-adv-x="692" d="M49 858v127l156 10l20 279h142v-279h268v-137h-268v-553q0 -92 33.5 -142t119.5 -50q27 0 57.5 8t55.5 18l33 -127q-41 -14 -89.5 -25.5t-95.5 -11.5q-80 0 -134 25t-88 68t-48 104t-14 135v551h-148z" />
+<glyph unicode="u" horiz-adv-x="1114" d="M154 365v630h170v-608q0 -141 44 -203.5t142 -62.5q78 0 137.5 40t130.5 128v706h168v-995h-139l-14 156h-7q-70 -82 -146.5 -131.5t-180.5 -49.5q-160 0 -232.5 98.5t-72.5 291.5z" />
+<glyph unicode="v" horiz-adv-x="956" d="M25 995h174l188 -565q23 -74 46.5 -147.5t45.5 -145.5h8q23 72 45.5 145.5t45.5 147.5l188 565h166l-352 -995h-197z" />
+<glyph unicode="w" horiz-adv-x="1470" d="M49 995h172l148 -575q16 -72 30.5 -139.5t28.5 -137.5h8q16 70 32.5 138.5t35.5 138.5l153 575h164l156 -575q18 -72 35.5 -139.5t34.5 -137.5h8q16 70 30.5 137.5t30.5 139.5l146 575h159l-266 -995h-205l-143 535q-18 72 -33.5 141t-34.5 145h-8q-16 -76 -32.5 -146.5 t-36.5 -142.5l-140 -532h-196z" />
+<glyph unicode="x" horiz-adv-x="913" d="M29 0l325 520l-301 475h183l133 -219q23 -41 47 -83t51 -83h8q23 41 45.5 83t44.5 83l121 219h176l-301 -493l324 -502h-183l-145 231q-27 45 -53.5 90.5t-54.5 88.5h-9q-27 -43 -51 -87t-49 -92l-135 -231h-176z" />
+<glyph unicode="y" horiz-adv-x="956" d="M25 995h174l202 -551q23 -66 48.5 -138.5t48.5 -141.5h8q23 68 43 141.5t41 138.5l178 551h164l-375 -1077q-27 -74 -59.5 -137.5t-77.5 -109.5t-102.5 -72.5t-133.5 -26.5q-35 0 -63.5 5t-52.5 15l32 134q16 -4 37 -9.5t39 -5.5q86 0 140.5 60.5t84.5 152.5l23 74z" />
+<glyph unicode="z" horiz-adv-x="870" d="M63 0v90l525 768h-467v137h680v-90l-525 -768h541v-137h-754z" />
+<glyph unicode="{" horiz-adv-x="620" d="M70 516v107q51 0 85.5 14t54 35.5t28 50.5t8.5 57q0 98 -9.5 194.5t-9.5 203.5q0 78 14.5 130t44 83.5t75 45t104.5 13.5h94v-98h-57q-82 0 -109.5 -42t-27.5 -143q0 -90 6 -183t6 -187q0 -100 -29 -152.5t-94 -71.5v-8q66 -18 94.5 -71.5t28.5 -151.5q0 -104 -6 -190 t-6 -181q0 -100 27.5 -143t109.5 -43h57v-96h-94q-59 0 -104.5 13t-75 44t-44 83t-14.5 132q0 55 3 105.5t6.5 97.5t6.5 94t3 98q0 31 -8.5 58.5t-28 50t-54 37t-85.5 14.5z" />
+<glyph unicode="|" horiz-adv-x="493" d="M188 -512v2048h119v-2048h-119z" />
+<glyph unicode="}" horiz-adv-x="620" d="M63 -215h54q84 0 111.5 43t27.5 143q0 94 -5 180.5t-5 190.5q0 98 27.5 151.5t93.5 71.5v8q-66 18 -93.5 70.5t-27.5 153.5q0 94 5 187t5 183q0 100 -27.5 142.5t-111.5 42.5h-54v98h91q123 0 181 -58.5t58 -213.5q0 -106 -9 -202.5t-9 -195.5q0 -59 37 -107t139 -50 v-107q-51 0 -85 -14.5t-54.5 -37t-28.5 -50t-8 -58.5q0 -51 3 -98l6 -94t6 -97.5t3 -105.5q0 -80 -14 -132t-44 -83t-75 -44t-106 -13h-91v96z" />
+<glyph unicode="~" d="M74 641q55 98 122.5 141t133.5 43q61 0 109 -26.5t90 -59t81 -59.5t82 -27q45 0 84 30t74 95l94 -69q-55 -98 -122.5 -140.5t-133.5 -42.5q-61 0 -109.5 27t-90.5 59.5t-80.5 59t-81.5 26.5q-45 0 -84 -29.5t-74 -95.5z" />
+<glyph unicode="&#xa1;" horiz-adv-x="591" d="M174 893q0 55 36 91t87 36q49 0 85 -36t36 -91q0 -59 -36 -95t-85 -36q-51 0 -87 36t-36 95zM211 -377l4 193l23 774h116l23 -774l4 -193h-170z" />
+<glyph unicode="&#xa2;" d="M125 635q0 106 31.5 190t87 145.5t131.5 99.5t162 50v217h106v-211q90 -4 155.5 -38.5t112.5 -79.5l-82 -107q-41 37 -87 59.5t-99 26.5v-704q66 4 119 31.5t94 64.5l74 -107q-59 -53 -133 -87.5t-154 -41.5v-211h-106v213q-92 10 -168 48t-130.5 99.5t-84 147.5 t-29.5 195zM293 635q0 -137 63.5 -227.5t180.5 -116.5v686q-113 -27 -178.5 -117t-65.5 -225z" />
+<glyph unicode="&#xa3;" d="M109 584v106l137 8h37q-20 66 -38 128.5t-18 127.5q0 86 28 156t78 119t119.5 75.5t155.5 26.5q111 0 187.5 -44t130.5 -109l-99 -97q-39 47 -88 78t-118 31q-111 0 -169.5 -66.5t-58.5 -173.5q0 -66 15.5 -126t33.5 -126h326v-114h-299q4 -29 7 -56.5t3 -58.5 q0 -109 -32.5 -180.5t-94.5 -134.5v-9h576v-145h-817v102q104 57 160.5 154.5t56.5 214.5q0 29 -4.5 56.5t-10.5 56.5h-204z" />
+<glyph unicode="&#xa4;" d="M53 303l131 133q-35 47 -54 106.5t-19 131.5t19.5 132t53.5 107l-131 136l90 92l140 -144q98 76 227 76q59 0 118.5 -19.5t106.5 -56.5l139 144l91 -92l-134 -136q35 -47 55.5 -107.5t20.5 -131.5q0 -72 -20.5 -131.5t-55.5 -106.5l134 -133l-91 -92l-139 141 q-47 -39 -106.5 -58.5t-118.5 -19.5q-131 0 -227 78l-140 -141zM266 674q0 -61 19.5 -111.5t52.5 -87.5t78 -56.5t94 -19.5t93 19.5t77 56.5t52.5 87t19.5 112q0 61 -19.5 111.5t-52.5 87t-77 56t-93 19.5t-94 -19.5t-78 -56t-52.5 -87t-19.5 -111.5z" />
+<glyph unicode="&#xa5;" d="M47 1307h176l160 -351q31 -68 60.5 -136t62.5 -140h8q35 72 64.5 140.5t60.5 135.5l160 351h172l-336 -656h291v-96h-334v-133h334v-98h-334v-324h-168v324h-332v98h332v133h-332v96h289z" />
+<glyph unicode="&#xa6;" horiz-adv-x="493" d="M188 438h119v-950h-119v950zM188 596v940h119v-940h-119z" />
+<glyph unicode="&#xa7;" d="M92 702q0 90 49 156t127 109q-31 33 -48 73.5t-17 94.5q0 53 19.5 101t59.5 85t97 58.5t135 21.5q98 0 177 -35t138 -82l-81 -108q-49 41 -104.5 67.5t-123.5 26.5q-86 0 -124 -38t-38 -91q0 -55 42 -92t105.5 -68t136.5 -61.5t136.5 -74.5t105.5 -106.5t42 -156.5 q0 -98 -48.5 -159t-125.5 -106q29 -35 45 -74.5t16 -92.5q0 -61 -24.5 -112.5t-68.5 -88.5t-104.5 -58.5t-132.5 -21.5q-111 0 -200.5 39t-153.5 106l102 92q51 -49 110.5 -77.5t141.5 -28.5t128 41t46 100q0 57 -42 96t-104 70t-136 60.5t-136.5 72.5t-104.5 105.5 t-42 156.5zM240 713q0 -68 41 -112t103 -76.5t135 -62.5t136 -67q59 29 91 68t32 106q0 70 -41 115t-102.5 79t-134 62.5t-135.5 65.5q-59 -33 -92 -74t-33 -104z" />
+<glyph unicode="&#xa8;" horiz-adv-x="1110" d="M279 1305q0 43 27.5 71.5t72.5 28.5q43 0 71.5 -28.5t28.5 -71.5t-28.5 -72t-71.5 -29q-45 0 -72.5 29t-27.5 72zM631 1305q0 43 28.5 71.5t71.5 28.5q45 0 72.5 -28.5t27.5 -71.5t-27.5 -72t-72.5 -29q-43 0 -71.5 29t-28.5 72z" />
+<glyph unicode="&#xa9;" horiz-adv-x="1523" d="M100 662q0 156 53.5 280.5t143.5 212.5t211 135t254 47t253 -47t211 -135t144 -213t53 -280q0 -158 -53 -284t-144 -215t-211 -137.5t-253 -48.5t-254 48.5t-211 137.5t-143.5 215t-53.5 284zM197 662q0 -135 45 -245t121.5 -188.5t179 -122t219.5 -43.5t219 43.5 t179 122t122 188t45 245.5q0 133 -45 242.5t-122 187t-179 119.5t-219 42t-219.5 -42t-179 -119.5t-121.5 -187t-45 -242.5zM406 662q0 88 31.5 159.5t83.5 122.5t121 78t142 27q86 0 146.5 -34t109.5 -83l-71 -80q-41 41 -83 62.5t-95 21.5q-113 0 -181.5 -77t-68.5 -197 q0 -135 66.5 -214t176.5 -79q66 0 115 25.5t94 64.5l62 -86q-57 -49 -121 -83t-156 -34q-78 0 -145.5 27.5t-118.5 80t-79.5 127.5t-28.5 171z" />
+<glyph unicode="&#xaa;" horiz-adv-x="706" d="M76 709q0 109 97 166t310 77q-2 66 -28.5 109t-98.5 43q-53 0 -109.5 -22.5t-96.5 -47.5l-48 86q51 33 122 60.5t151 27.5q123 0 179 -71.5t56 -202.5v-402h-102l-14 76h-9q-41 -37 -92 -64.5t-114 -27.5q-92 0 -147.5 53.5t-55.5 139.5zM201 719q0 -53 30.5 -77 t83.5 -24q80 0 168 82v172q-158 -16 -220 -56t-62 -97z" />
+<glyph unicode="&#xab;" horiz-adv-x="878" d="M92 453v127l279 317l73 -61l-241 -320l241 -323l-73 -58zM416 453v127l279 317l73 -61l-241 -320l241 -323l-73 -58z" />
+<glyph unicode="&#xac;" d="M70 612v127h878v-526h-135v399h-743z" />
+<glyph unicode="&#xad;" horiz-adv-x="636" d="M84 449v129h471v-129h-471z" />
+<glyph unicode="&#xae;" horiz-adv-x="866" d="M47 1057q0 90 31 163.5t83 127t121.5 83t149.5 29.5t150.5 -29.5t123 -83t83 -127t30.5 -163.5t-30.5 -164t-83 -127t-123 -83t-150.5 -30t-149.5 30t-121.5 83t-83 127t-31 164zM129 1057q0 -74 23.5 -134.5t63.5 -103.5t95 -66.5t121 -23.5q63 0 119.5 23.5t97.5 66.5 t64.5 103.5t23.5 134.5q0 72 -23.5 132t-64.5 104t-97 68.5t-120 24.5q-66 0 -121 -24.5t-95 -68.5t-63.5 -104.5t-23.5 -131.5zM285 854v416h155q66 0 113 -30t47 -103q0 -37 -20.5 -69t-55.5 -44l94 -170h-94l-71 143h-84v-143h-84zM369 1063h53q88 0 88 70q0 31 -18.5 49 t-65.5 18h-57v-137z" />
+<glyph unicode="&#xaf;" horiz-adv-x="1110" d="M303 1231v117h504v-117h-504z" />
+<glyph unicode="&#xb0;" horiz-adv-x="677" d="M84 1139q0 61 20.5 109t56.5 83t82 53.5t97 18.5t97 -18.5t82 -53.5t56.5 -83t20.5 -109q0 -59 -20.5 -107.5t-56.5 -82.5t-82 -52t-97 -18t-97 18t-82 52t-56.5 82t-20.5 108zM186 1139q0 -72 43 -119t111 -47t111 47t43 119q0 76 -43 123t-111 47t-111 -47.5 t-43 -122.5z" />
+<glyph unicode="&#xb1;" d="M70 0v127h878v-127h-878zM70 623v127h372v389h133v-389h373v-127h-373v-363h-133v363h-372z" />
+<glyph unicode="&#xb2;" horiz-adv-x="751" d="M82 1569q47 70 115.5 112.5t150.5 42.5q121 0 193.5 -65.5t72.5 -192.5q0 -57 -22.5 -110.5t-62.5 -107.5t-94 -111.5t-118 -122.5h338v-113h-549v76q92 84 164 150.5t119 121.5t71.5 103.5t24.5 93.5q0 78 -41 123t-112 45q-51 0 -94 -34t-78 -83z" />
+<glyph unicode="&#xb3;" horiz-adv-x="751" d="M72 1032l88 68q37 -55 88 -87t114 -32q66 0 113 37t47 106q0 70 -65.5 106t-182.5 36v84q104 0 161 40.5t57 102.5q0 57 -40 92t-106 35q-45 0 -86 -27.5t-76 -68.5l-80 69q53 59 116 95t147 36q51 0 97 -14t81 -42t55.5 -68t20.5 -91q0 -72 -39 -120t-101 -76 q68 -16 120 -66.5t52 -130.5q0 -55 -22.5 -99t-61.5 -76t-91 -48.5t-109 -16.5q-98 0 -174 44t-123 112z" />
+<glyph unicode="&#xb4;" horiz-adv-x="1110" d="M422 1174l184 288h176l-231 -288h-129z" />
+<glyph unicode="&#xb5;" horiz-adv-x="1126" d="M168 -410v1405h168v-608q0 -141 45 -203.5t143 -62.5q78 0 136.5 40t130.5 128v706h167v-995h-139l-14 156h-4q-59 -80 -130 -126t-157 -46q-59 0 -106.5 17t-81.5 71l10 -185v-297h-168z" />
+<glyph unicode="&#xb6;" horiz-adv-x="1146" d="M84 907q0 121 37 204t103.5 135t156.5 74.5t197 22.5h90v-880h-68q-111 0 -206 25.5t-163.5 80t-107.5 138.5t-39 200zM778 -164v1507h172v-1507h-172z" />
+<glyph unicode="&#xb7;" horiz-adv-x="509" d="M133 657q0 59 36 95t87 36q49 0 85 -35.5t36 -95.5q0 -55 -36 -91t-85 -36q-51 0 -87 36t-36 91z" />
+<glyph unicode="&#xb8;" horiz-adv-x="1110" d="M393 -352q82 10 132 33.5t50 64.5t-33.5 62.5t-95.5 37.5l82 160h109l-52 -108q49 -16 85 -49t36 -97q0 -45 -24.5 -77.5t-65.5 -55t-95 -36t-112 -19.5z" />
+<glyph unicode="&#xb9;" horiz-adv-x="751" d="M178 1532v86q68 12 113 31.5t86 50.5h106v-799h-131v631h-174z" />
+<glyph unicode="&#xba;" horiz-adv-x="747" d="M61 862q0 82 25 146.5t68 108.5t99 67.5t120 23.5q63 0 119.5 -23.5t99.5 -67.5t67.5 -108.5t24.5 -146.5t-24.5 -146.5t-67.5 -108.5t-99.5 -67.5t-119.5 -23.5t-119.5 23.5t-99.5 67.5t-68 108.5t-25 146.5zM190 862q0 -109 48.5 -175t134.5 -66t133 66.5t47 174.5 q0 111 -47 176.5t-133 65.5t-134.5 -65.5t-48.5 -176.5z" />
+<glyph unicode="&#xbb;" horiz-adv-x="878" d="M111 193l241 323l-241 320l71 61l281 -317v-127l-281 -318zM435 193l241 323l-241 320l71 61l281 -317v-127l-281 -318z" />
+<glyph unicode="&#xbc;" horiz-adv-x="1599" d="M131 1176v86q68 12 113 31.5t86 50.5h106v-799h-131v631h-174zM369 -25l741 1393h115l-741 -1393h-115zM932 213v68l336 518h147v-492h119v-94h-119v-213h-118v213h-365zM1069 307h228v144l8 223h-8l-103 -166z" />
+<glyph unicode="&#xbd;" horiz-adv-x="1654" d="M131 1176v86q68 12 113 31.5t86 50.5h106v-799h-131v631h-174zM326 -25l741 1393h115l-741 -1393h-115zM985 668q47 70 115.5 112.5t150.5 42.5q121 0 193.5 -65.5t72.5 -192.5q0 -57 -22.5 -110.5t-62.5 -107.5t-94 -111.5t-118 -122.5h338v-113h-549v76 q92 84 164 150.5t119 121.5t71.5 103.5t24.5 93.5q0 78 -41 123t-112 45q-51 0 -94 -34t-78 -83z" />
+<glyph unicode="&#xbe;" horiz-adv-x="1630" d="M72 676l88 68q37 -55 88 -87t114 -32q66 0 113 37t47 106q0 70 -65.5 106t-182.5 36v84q104 0 161 40.5t57 102.5q0 57 -40 92t-106 35q-45 0 -86 -27.5t-76 -68.5l-80 69q53 59 116 95t147 36q51 0 97 -14t81 -42t55.5 -68t20.5 -91q0 -72 -39 -120t-101 -76 q68 -16 120 -66.5t52 -130.5q0 -55 -22.5 -99t-61.5 -76t-91 -48.5t-109 -16.5q-98 0 -174 44t-123 112zM444 -25l741 1393h115l-741 -1393h-115zM963 213v68l336 518h147v-492h119v-94h-119v-213h-118v213h-365zM1100 307h228v144l8 223h-8l-103 -166z" />
+<glyph unicode="&#xbf;" horiz-adv-x="870" d="M98 -74q0 68 24.5 123t60.5 104.5t76 97.5t73 99t51 109.5t10 130.5h150q10 -80 -6.5 -144.5t-47 -119t-70.5 -101.5t-75 -93t-58.5 -94t-23.5 -101q0 -82 49 -139.5t150 -57.5q68 0 127 30.5t106 86.5l99 -88q-66 -72 -150 -121t-194 -49q-160 0 -255.5 87t-95.5 240z M342 893q0 55 36 91t87 36q49 0 85 -36t36 -91q0 -59 -36 -95t-85 -36q-51 0 -87 36t-36 95z" />
+<glyph unicode="&#xc0;" horiz-adv-x="1101" d="M0 0l455 1343h192l455 -1343h-180l-129 410h-490l-129 -410h-174zM281 1675h192l180 -229h-141zM346 547h404l-64 205q-35 113 -67.5 224t-65.5 228h-8q-33 -117 -66 -228.5t-67 -223.5z" />
+<glyph unicode="&#xc1;" horiz-adv-x="1101" d="M0 0l455 1343h192l455 -1343h-180l-129 410h-490l-129 -410h-174zM346 547h404l-64 205q-35 113 -67.5 224t-65.5 228h-8q-33 -117 -66 -228.5t-67 -223.5zM445 1446l180 229h192l-231 -229h-141z" />
+<glyph unicode="&#xc2;" horiz-adv-x="1101" d="M0 0l455 1343h192l455 -1343h-180l-129 410h-490l-129 -410h-174zM270 1446l197 229h164l197 -229h-138l-137 139h-8l-137 -139h-138zM346 547h404l-64 205q-35 113 -67.5 224t-65.5 228h-8q-33 -117 -66 -228.5t-67 -223.5z" />
+<glyph unicode="&#xc3;" horiz-adv-x="1101" d="M0 0l455 1343h192l455 -1343h-180l-129 410h-490l-129 -410h-174zM252 1456q10 96 55 158.5t119 62.5q41 0 74 -16t60.5 -36.5t54 -37t55.5 -16.5t51.5 27.5t30.5 78.5h94q-10 -94 -55 -157.5t-119 -63.5q-41 0 -74 16.5t-60.5 37t-54 37t-55.5 16.5t-51.5 -27t-30.5 -80 h-94zM346 547h404l-64 205q-35 113 -67.5 224t-65.5 228h-8q-33 -117 -66 -228.5t-67 -223.5z" />
+<glyph unicode="&#xc4;" horiz-adv-x="1101" d="M0 0l455 1343h192l455 -1343h-180l-129 410h-490l-129 -410h-174zM273 1565q0 45 27.5 72.5t72.5 27.5q43 0 71.5 -27.5t28.5 -72.5q0 -43 -28.5 -72t-71.5 -29q-45 0 -72.5 29t-27.5 72zM346 547h404l-64 205q-35 113 -67.5 224t-65.5 228h-8q-33 -117 -66 -228.5 t-67 -223.5zM625 1565q0 45 28.5 72.5t71.5 27.5q45 0 72.5 -27.5t27.5 -72.5q0 -43 -27.5 -72t-72.5 -29q-43 0 -71.5 29t-28.5 72z" />
+<glyph unicode="&#xc5;" horiz-adv-x="1101" d="M0 0l455 1343h192l455 -1343h-180l-129 410h-490l-129 -410h-174zM346 547h404l-64 205q-35 113 -67.5 224t-65.5 228h-8q-33 -117 -66 -228.5t-67 -223.5zM359 1612q0 82 53 131t137 49q82 0 136 -49t54 -131q0 -84 -54 -132t-136 -48q-84 0 -137 48t-53 132zM451 1612 q0 -51 28.5 -79t69.5 -28q39 0 67.5 28t28.5 79q0 47 -28.5 75.5t-67.5 28.5q-41 0 -69.5 -28.5t-28.5 -75.5z" />
+<glyph unicode="&#xc6;" horiz-adv-x="1673" d="M12 0l705 1343h842v-143h-572v-422h477v-145h-477v-488h592v-145h-762v391h-426l-203 -391h-176zM463 528h354v680h-8q-53 -111 -110.5 -219t-110.5 -219z" />
+<glyph unicode="&#xc7;" horiz-adv-x="1159" d="M100 672q0 162 45 291t126 219t190.5 138t238.5 48q121 0 214.5 -50t152.5 -116l-96 -108q-53 57 -119 91t-150 34q-96 0 -174.5 -38t-134 -109t-86.5 -171t-31 -225q0 -127 30 -228.5t84 -173t131 -110.5t173 -39t169 39t138 110l97 -104q-78 -92 -178.5 -143.5 t-229.5 -51.5q-127 0 -234.5 47.5t-186.5 136.5t-124 219t-45 294zM524 -352q82 10 132 33.5t50 64.5t-33.5 62.5t-95.5 37.5l82 160h109l-52 -108q49 -16 85 -49t36 -97q0 -45 -24.5 -77.5t-65.5 -55t-95 -36t-112 -19.5z" />
+<glyph unicode="&#xc8;" horiz-adv-x="1069" d="M178 0v1343h774v-143h-602v-422h508v-145h-508v-488h623v-145h-795zM310 1675h192l180 -229h-141z" />
+<glyph unicode="&#xc9;" horiz-adv-x="1069" d="M178 0v1343h774v-143h-602v-422h508v-145h-508v-488h623v-145h-795zM474 1446l180 229h192l-231 -229h-141z" />
+<glyph unicode="&#xca;" horiz-adv-x="1069" d="M178 0v1343h774v-143h-602v-422h508v-145h-508v-488h623v-145h-795zM299 1446l197 229h164l197 -229h-138l-137 139h-8l-137 -139h-138z" />
+<glyph unicode="&#xcb;" horiz-adv-x="1069" d="M178 0v1343h774v-143h-602v-422h508v-145h-508v-488h623v-145h-795zM302 1565q0 45 27.5 72.5t72.5 27.5q43 0 71.5 -27.5t28.5 -72.5q0 -43 -28.5 -72t-71.5 -29q-45 0 -72.5 29t-27.5 72zM654 1565q0 45 28.5 72.5t71.5 27.5q45 0 72.5 -27.5t27.5 -72.5 q0 -43 -27.5 -72t-72.5 -29q-43 0 -71.5 29t-28.5 72z" />
+<glyph unicode="&#xcc;" horiz-adv-x="528" d="M-4 1675h192l180 -229h-141zM178 0v1343h172v-1343h-172z" />
+<glyph unicode="&#xcd;" horiz-adv-x="528" d="M160 1446l180 229h192l-231 -229h-141zM178 0v1343h172v-1343h-172z" />
+<glyph unicode="&#xce;" horiz-adv-x="528" d="M-15 1446l197 229h164l197 -229h-138l-137 139h-8l-137 -139h-138zM178 0v1343h172v-1343h-172z" />
+<glyph unicode="&#xcf;" horiz-adv-x="528" d="M-12 1565q0 45 27.5 72.5t72.5 27.5q43 0 71.5 -27.5t28.5 -72.5q0 -43 -28.5 -72t-71.5 -29q-45 0 -72.5 29t-27.5 72zM178 0v1343h172v-1343h-172zM340 1565q0 45 28.5 72.5t71.5 27.5q45 0 72.5 -27.5t27.5 -72.5q0 -43 -27.5 -72t-72.5 -29q-43 0 -71.5 29t-28.5 72z " />
+<glyph unicode="&#xd0;" horiz-adv-x="1292" d="M61 657v88l158 9v589h336q311 0 473 -172t162 -493q0 -160 -41 -286t-121 -213t-196.5 -133t-268.5 -46h-344v657h-158zM389 139h154q236 0 353.5 141.5t117.5 397.5t-118 391t-353 135h-154v-450h311v-97h-311v-518z" />
+<glyph unicode="&#xd1;" horiz-adv-x="1314" d="M178 0v1343h176l488 -843l145 -279h8q-6 102 -14 212t-8 216v694h162v-1343h-177l-485 846l-145 276h-9q6 -102 13.5 -207.5t7.5 -212.5v-702h-162zM367 1456q10 96 55 158.5t119 62.5q41 0 74 -16t60.5 -36.5t54 -37t55.5 -16.5t51.5 27.5t30.5 78.5h94 q-10 -94 -55 -157.5t-119 -63.5q-41 0 -74 16.5t-60.5 37t-54 37t-55.5 16.5t-51.5 -27t-30.5 -80h-94z" />
+<glyph unicode="&#xd2;" horiz-adv-x="1349" d="M100 678q0 162 42 290t119 217t182.5 136t232.5 47q125 0 230.5 -48t182 -137t118.5 -217t42 -288q0 -162 -42 -292t-118.5 -221t-182 -140.5t-230.5 -49.5q-127 0 -232.5 49.5t-182.5 140.5t-119 221t-42 292zM276 678q0 -127 29 -228.5t81 -174t126 -111.5t164 -39 t162.5 39t125 111.5t81 174t28.5 228.5q0 125 -28.5 225.5t-81 170t-125 107.5t-162.5 38t-164 -38t-126 -107.5t-81 -170t-29 -225.5zM406 1675h192l180 -229h-141z" />
+<glyph unicode="&#xd3;" horiz-adv-x="1349" d="M100 678q0 162 42 290t119 217t182.5 136t232.5 47q125 0 230.5 -48t182 -137t118.5 -217t42 -288q0 -162 -42 -292t-118.5 -221t-182 -140.5t-230.5 -49.5q-127 0 -232.5 49.5t-182.5 140.5t-119 221t-42 292zM276 678q0 -127 29 -228.5t81 -174t126 -111.5t164 -39 t162.5 39t125 111.5t81 174t28.5 228.5q0 125 -28.5 225.5t-81 170t-125 107.5t-162.5 38t-164 -38t-126 -107.5t-81 -170t-29 -225.5zM570 1446l180 229h192l-231 -229h-141z" />
+<glyph unicode="&#xd4;" horiz-adv-x="1349" d="M100 678q0 162 42 290t119 217t182.5 136t232.5 47q125 0 230.5 -48t182 -137t118.5 -217t42 -288q0 -162 -42 -292t-118.5 -221t-182 -140.5t-230.5 -49.5q-127 0 -232.5 49.5t-182.5 140.5t-119 221t-42 292zM276 678q0 -127 29 -228.5t81 -174t126 -111.5t164 -39 t162.5 39t125 111.5t81 174t28.5 228.5q0 125 -28.5 225.5t-81 170t-125 107.5t-162.5 38t-164 -38t-126 -107.5t-81 -170t-29 -225.5zM395 1446l197 229h164l197 -229h-138l-137 139h-8l-137 -139h-138z" />
+<glyph unicode="&#xd5;" horiz-adv-x="1349" d="M100 678q0 162 42 290t119 217t182.5 136t232.5 47q125 0 230.5 -48t182 -137t118.5 -217t42 -288q0 -162 -42 -292t-118.5 -221t-182 -140.5t-230.5 -49.5q-127 0 -232.5 49.5t-182.5 140.5t-119 221t-42 292zM276 678q0 -127 29 -228.5t81 -174t126 -111.5t164 -39 t162.5 39t125 111.5t81 174t28.5 228.5q0 125 -28.5 225.5t-81 170t-125 107.5t-162.5 38t-164 -38t-126 -107.5t-81 -170t-29 -225.5zM377 1456q10 96 55 158.5t119 62.5q41 0 74 -16t60.5 -36.5t54 -37t55.5 -16.5t51.5 27.5t30.5 78.5h94q-10 -94 -55 -157.5t-119 -63.5 q-41 0 -74 16.5t-60.5 37t-54 37t-55.5 16.5t-51.5 -27t-30.5 -80h-94z" />
+<glyph unicode="&#xd6;" horiz-adv-x="1349" d="M100 678q0 162 42 290t119 217t182.5 136t232.5 47q125 0 230.5 -48t182 -137t118.5 -217t42 -288q0 -162 -42 -292t-118.5 -221t-182 -140.5t-230.5 -49.5q-127 0 -232.5 49.5t-182.5 140.5t-119 221t-42 292zM276 678q0 -127 29 -228.5t81 -174t126 -111.5t164 -39 t162.5 39t125 111.5t81 174t28.5 228.5q0 125 -28.5 225.5t-81 170t-125 107.5t-162.5 38t-164 -38t-126 -107.5t-81 -170t-29 -225.5zM398 1565q0 45 27.5 72.5t72.5 27.5q43 0 71.5 -27.5t28.5 -72.5q0 -43 -28.5 -72t-71.5 -29q-45 0 -72.5 29t-27.5 72zM750 1565 q0 45 28.5 72.5t71.5 27.5q45 0 72.5 -27.5t27.5 -72.5q0 -43 -27.5 -72t-72.5 -29q-43 0 -71.5 29t-28.5 72z" />
+<glyph unicode="&#xd7;" d="M102 350l318 326l-318 323l91 93l317 -326l315 326l90 -93l-317 -323l317 -326l-90 -92l-315 328l-317 -328z" />
+<glyph unicode="&#xd8;" horiz-adv-x="1349" d="M96 12l142 185q-66 90 -102 210.5t-36 270.5q0 162 42 290t119 217t182.5 136t232.5 47q106 0 198.5 -34t163.5 -99l129 170l97 -72l-146 -188q63 -88 97 -205t34 -262q0 -162 -42 -292t-118.5 -221t-182 -140.5t-230.5 -49.5q-209 0 -357 129l-126 -165zM276 678 q0 -203 72 -340l590 768q-102 113 -262 113q-90 0 -164 -38t-126 -107.5t-81 -170t-29 -225.5zM420 233q102 -109 256 -108q90 0 162.5 39t125 111.5t81 174t28.5 228.5q0 193 -65 323z" />
+<glyph unicode="&#xd9;" horiz-adv-x="1310" d="M172 555v788h172v-792q0 -121 24.5 -203t66.5 -131t98.5 -70.5t121.5 -21.5q68 0 126.5 21.5t101.5 70.5t67.5 131t24.5 203v792h164v-788q0 -162 -37 -272.5t-101.5 -179t-153.5 -98.5t-192 -30q-102 0 -191 30t-153.5 98.5t-101.5 179t-37 272.5zM387 1675h192 l180 -229h-141z" />
+<glyph unicode="&#xda;" horiz-adv-x="1310" d="M172 555v788h172v-792q0 -121 24.5 -203t66.5 -131t98.5 -70.5t121.5 -21.5q68 0 126.5 21.5t101.5 70.5t67.5 131t24.5 203v792h164v-788q0 -162 -37 -272.5t-101.5 -179t-153.5 -98.5t-192 -30q-102 0 -191 30t-153.5 98.5t-101.5 179t-37 272.5zM551 1446l180 229h192 l-231 -229h-141z" />
+<glyph unicode="&#xdb;" horiz-adv-x="1310" d="M172 555v788h172v-792q0 -121 24.5 -203t66.5 -131t98.5 -70.5t121.5 -21.5q68 0 126.5 21.5t101.5 70.5t67.5 131t24.5 203v792h164v-788q0 -162 -37 -272.5t-101.5 -179t-153.5 -98.5t-192 -30q-102 0 -191 30t-153.5 98.5t-101.5 179t-37 272.5zM376 1446l197 229h164 l197 -229h-138l-137 139h-8l-137 -139h-138z" />
+<glyph unicode="&#xdc;" horiz-adv-x="1310" d="M172 555v788h172v-792q0 -121 24.5 -203t66.5 -131t98.5 -70.5t121.5 -21.5q68 0 126.5 21.5t101.5 70.5t67.5 131t24.5 203v792h164v-788q0 -162 -37 -272.5t-101.5 -179t-153.5 -98.5t-192 -30q-102 0 -191 30t-153.5 98.5t-101.5 179t-37 272.5zM379 1565 q0 45 27.5 72.5t72.5 27.5q43 0 71.5 -27.5t28.5 -72.5q0 -43 -28.5 -72t-71.5 -29q-45 0 -72.5 29t-27.5 72zM731 1565q0 45 28.5 72.5t71.5 27.5q45 0 72.5 -27.5t27.5 -72.5q0 -43 -27.5 -72t-72.5 -29q-43 0 -71.5 29t-28.5 72z" />
+<glyph unicode="&#xdd;" horiz-adv-x="964" d="M-8 1343h184l172 -378q33 -74 64.5 -145.5t66.5 -147.5h8q35 76 69 147.5t65 145.5l174 378h176l-404 -823v-520h-170v520zM377 1446l180 229h192l-231 -229h-141z" />
+<glyph unicode="&#xde;" horiz-adv-x="1193" d="M182 0v1343h170v-225h242q111 0 203 -20.5t156.5 -67.5t100.5 -121.5t36 -185.5q0 -106 -36 -185t-101.5 -130.5t-156.5 -76t-202 -24.5h-242v-307h-170zM352 446h221q176 0 261.5 66t85.5 211t-86 200.5t-261 55.5h-221v-533z" />
+<glyph unicode="&#xdf;" horiz-adv-x="1179" d="M168 0v1055q0 193 104.5 308.5t296.5 115.5q80 0 142.5 -23.5t105.5 -64.5t64.5 -95.5t21.5 -115.5q0 -78 -28.5 -132.5t-64.5 -99.5t-64.5 -87t-28.5 -95q0 -49 29.5 -82t74.5 -58.5t97.5 -52t97.5 -63.5t74.5 -92.5t29.5 -136.5q0 -66 -22.5 -121.5t-65.5 -96 t-103.5 -64.5t-135.5 -24q-86 0 -156 27t-133 74l67 119q53 -45 105.5 -67t111.5 -22q86 0 129.5 49.5t43.5 114.5q0 59 -30 98.5t-75 68t-97 54t-97.5 58.5t-75 79t-29.5 117q0 70 27.5 119t61.5 94.5t62.5 92.5t28.5 112q0 78 -42 128t-128 50q-111 0 -171 -78.5 t-60 -238.5v-1024h-168z" />
+<glyph unicode="&#xe0;" horiz-adv-x="1048" d="M119 258q0 164 146.5 251t465.5 122q0 47 -9 92t-32.5 80t-62.5 56.5t-101 21.5q-88 0 -162.5 -33t-134.5 -74l-67 117q70 45 170 87t221 42q182 0 264 -111.5t82 -298.5v-610h-139l-15 119h-4q-72 -59 -154.5 -101.5t-174.5 -42.5q-127 0 -210 74t-83 209zM285 270 q0 -86 50 -122.5t124 -36.5q72 0 136 33.5t136 99.5v276q-125 -16 -211 -38.5t-138 -53.5t-74.5 -71t-22.5 -87zM324 1462h176l184 -288h-129z" />
+<glyph unicode="&#xe1;" horiz-adv-x="1048" d="M119 258q0 164 146.5 251t465.5 122q0 47 -9 92t-32.5 80t-62.5 56.5t-101 21.5q-88 0 -162.5 -33t-134.5 -74l-67 117q70 45 170 87t221 42q182 0 264 -111.5t82 -298.5v-610h-139l-15 119h-4q-72 -59 -154.5 -101.5t-174.5 -42.5q-127 0 -210 74t-83 209zM285 270 q0 -86 50 -122.5t124 -36.5q72 0 136 33.5t136 99.5v276q-125 -16 -211 -38.5t-138 -53.5t-74.5 -71t-22.5 -87zM418 1174l184 288h176l-231 -288h-129z" />
+<glyph unicode="&#xe2;" horiz-adv-x="1048" d="M119 258q0 164 146.5 251t465.5 122q0 47 -9 92t-32.5 80t-62.5 56.5t-101 21.5q-88 0 -162.5 -33t-134.5 -74l-67 117q70 45 170 87t221 42q182 0 264 -111.5t82 -298.5v-610h-139l-15 119h-4q-72 -59 -154.5 -101.5t-174.5 -42.5q-127 0 -210 74t-83 209zM285 270 q0 -86 50 -122.5t124 -36.5q72 0 136 33.5t136 99.5v276q-125 -16 -211 -38.5t-138 -53.5t-74.5 -71t-22.5 -87zM287 1174l194 288h140l194 -288h-123l-137 186h-8l-137 -186h-123z" />
+<glyph unicode="&#xe3;" horiz-adv-x="1048" d="M119 258q0 164 146.5 251t465.5 122q0 47 -9 92t-32.5 80t-62.5 56.5t-101 21.5q-88 0 -162.5 -33t-134.5 -74l-67 117q70 45 170 87t221 42q182 0 264 -111.5t82 -298.5v-610h-139l-15 119h-4q-72 -59 -154.5 -101.5t-174.5 -42.5q-127 0 -210 74t-83 209zM266 1186 q8 92 49 154.5t117 62.5q39 0 72 -16.5t60.5 -36t52 -36t49.5 -16.5q57 0 75 105h95q-8 -92 -49 -154.5t-117 -62.5q-39 0 -71 16.5t-59.5 35.5t-52 35.5t-51.5 16.5q-57 0 -75 -104h-95zM285 270q0 -86 50 -122.5t124 -36.5q72 0 136 33.5t136 99.5v276 q-125 -16 -211 -38.5t-138 -53.5t-74.5 -71t-22.5 -87z" />
+<glyph unicode="&#xe4;" horiz-adv-x="1048" d="M119 258q0 164 146.5 251t465.5 122q0 47 -9 92t-32.5 80t-62.5 56.5t-101 21.5q-88 0 -162.5 -33t-134.5 -74l-67 117q70 45 170 87t221 42q182 0 264 -111.5t82 -298.5v-610h-139l-15 119h-4q-72 -59 -154.5 -101.5t-174.5 -42.5q-127 0 -210 74t-83 209zM275 1305 q0 43 27.5 71.5t72.5 28.5q43 0 71.5 -28.5t28.5 -71.5t-28.5 -72t-71.5 -29q-45 0 -72.5 29t-27.5 72zM285 270q0 -86 50 -122.5t124 -36.5q72 0 136 33.5t136 99.5v276q-125 -16 -211 -38.5t-138 -53.5t-74.5 -71t-22.5 -87zM627 1305q0 43 28.5 71.5t71.5 28.5 q45 0 72.5 -28.5t27.5 -71.5t-27.5 -72t-72.5 -29q-43 0 -71.5 29t-28.5 72z" />
+<glyph unicode="&#xe5;" horiz-adv-x="1048" d="M119 258q0 164 146.5 251t465.5 122q0 47 -9 92t-32.5 80t-62.5 56.5t-101 21.5q-88 0 -162.5 -33t-134.5 -74l-67 117q70 45 170 87t221 42q182 0 264 -111.5t82 -298.5v-610h-139l-15 119h-4q-72 -59 -154.5 -101.5t-174.5 -42.5q-127 0 -210 74t-83 209zM285 270 q0 -86 50 -122.5t124 -36.5q72 0 136 33.5t136 99.5v276q-125 -16 -211 -38.5t-138 -53.5t-74.5 -71t-22.5 -87zM361 1300q0 86 53 137.5t137 51.5t137 -51.5t53 -137.5t-53 -138t-137 -52t-137 52t-53 138zM453 1300q0 -53 28.5 -83.5t69.5 -30.5t69.5 30.5t28.5 83.5 q0 51 -28.5 82t-69.5 31t-69.5 -30.5t-28.5 -82.5z" />
+<glyph unicode="&#xe6;" horiz-adv-x="1607" d="M119 258q0 164 145.5 251t456.5 122q0 47 -8 92t-32 80t-62.5 56.5t-100.5 21.5q-82 0 -155.5 -33t-133.5 -74l-67 117q70 45 168 87t209 42t182.5 -56.5t101.5 -154.5q59 98 142.5 154.5t185.5 56.5q92 0 162.5 -33t119 -94.5t73 -148.5t24.5 -193q0 -57 -6 -94h-645 q2 -78 27.5 -141.5t66.5 -108.5t96 -69.5t119 -24.5q72 0 129 23.5t113 58.5l61 -117q-66 -41 -143.5 -72t-180.5 -31q-125 0 -209 56.5t-141 130.5q-102 -92 -205.5 -139.5t-199.5 -47.5q-127 0 -210 74t-83 209zM285 270q0 -86 50 -122.5t124 -36.5q70 0 151.5 39.5 t149.5 113.5q-16 39 -26.5 93.5t-12.5 111.5v51q-119 -16 -202 -38.5t-135 -53.5t-75.5 -71t-23.5 -87zM879 569h503q0 154 -60 236t-175 82q-104 0 -179 -85t-89 -233z" />
+<glyph unicode="&#xe7;" horiz-adv-x="933" d="M94 496q0 125 39 222t104.5 164.5t152.5 102.5t183 35q98 0 169 -36t122 -83l-84 -108q-45 39 -93 63.5t-107 24.5q-68 0 -125.5 -28t-98.5 -79t-64.5 -121.5t-23.5 -156.5t22.5 -156t62.5 -120t97.5 -77.5t124.5 -27.5q72 0 130.5 29.5t103.5 70.5l76 -111 q-68 -59 -151 -94t-173 -35q-98 0 -184 35t-148.5 101.5t-98.5 164t-36 220.5zM383 -352q82 10 132 33.5t50 64.5t-33.5 62.5t-95.5 37.5l82 160h109l-52 -108q49 -16 85 -49t36 -97q0 -45 -24.5 -77.5t-65.5 -55t-95 -36t-112 -19.5z" />
+<glyph unicode="&#xe8;" horiz-adv-x="1015" d="M94 496q0 123 38 220t100.5 164.5t142.5 103.5t166 36q94 0 168.5 -33t125 -94.5t77 -147.5t26.5 -192q0 -55 -6 -92h-672q10 -162 99.5 -256t232.5 -94q72 0 132 21.5t116 55.5l59 -110q-66 -41 -145.5 -72t-182.5 -31q-100 0 -187 36t-151.5 102.5t-101.5 163 t-37 219.5zM258 571h533q0 154 -64.5 235t-181.5 81q-53 0 -101.5 -21.5t-87.5 -61.5t-64.5 -98.5t-33.5 -134.5zM316 1462h176l184 -288h-129z" />
+<glyph unicode="&#xe9;" horiz-adv-x="1015" d="M94 496q0 123 38 220t100.5 164.5t142.5 103.5t166 36q94 0 168.5 -33t125 -94.5t77 -147.5t26.5 -192q0 -55 -6 -92h-672q10 -162 99.5 -256t232.5 -94q72 0 132 21.5t116 55.5l59 -110q-66 -41 -145.5 -72t-182.5 -31q-100 0 -187 36t-151.5 102.5t-101.5 163 t-37 219.5zM258 571h533q0 154 -64.5 235t-181.5 81q-53 0 -101.5 -21.5t-87.5 -61.5t-64.5 -98.5t-33.5 -134.5zM410 1174l184 288h176l-231 -288h-129z" />
+<glyph unicode="&#xea;" horiz-adv-x="1015" d="M94 496q0 123 38 220t100.5 164.5t142.5 103.5t166 36q94 0 168.5 -33t125 -94.5t77 -147.5t26.5 -192q0 -55 -6 -92h-672q10 -162 99.5 -256t232.5 -94q72 0 132 21.5t116 55.5l59 -110q-66 -41 -145.5 -72t-182.5 -31q-100 0 -187 36t-151.5 102.5t-101.5 163 t-37 219.5zM258 571h533q0 154 -64.5 235t-181.5 81q-53 0 -101.5 -21.5t-87.5 -61.5t-64.5 -98.5t-33.5 -134.5zM279 1174l194 288h140l194 -288h-123l-137 186h-8l-137 -186h-123z" />
+<glyph unicode="&#xeb;" horiz-adv-x="1015" d="M94 496q0 123 38 220t100.5 164.5t142.5 103.5t166 36q94 0 168.5 -33t125 -94.5t77 -147.5t26.5 -192q0 -55 -6 -92h-672q10 -162 99.5 -256t232.5 -94q72 0 132 21.5t116 55.5l59 -110q-66 -41 -145.5 -72t-182.5 -31q-100 0 -187 36t-151.5 102.5t-101.5 163 t-37 219.5zM258 571h533q0 154 -64.5 235t-181.5 81q-53 0 -101.5 -21.5t-87.5 -61.5t-64.5 -98.5t-33.5 -134.5zM267 1305q0 43 27.5 71.5t72.5 28.5q43 0 71.5 -28.5t28.5 -71.5t-28.5 -72t-71.5 -29q-45 0 -72.5 29t-27.5 72zM619 1305q0 43 28.5 71.5t71.5 28.5 q45 0 72.5 -28.5t27.5 -71.5t-27.5 -72t-72.5 -29q-43 0 -71.5 29t-28.5 72z" />
+<glyph unicode="&#xec;" horiz-adv-x="503" d="M25 1462h176l184 -288h-129zM168 0v995h168v-995h-168z" />
+<glyph unicode="&#xed;" horiz-adv-x="503" d="M119 1174l184 288h176l-231 -288h-129zM168 0v995h168v-995h-168z" />
+<glyph unicode="&#xee;" horiz-adv-x="503" d="M-12 1174l194 288h140l194 -288h-123l-137 186h-8l-137 -186h-123zM168 0v995h168v-995h-168z" />
+<glyph unicode="&#xef;" horiz-adv-x="503" d="M-24 1305q0 43 27.5 71.5t72.5 28.5q43 0 71.5 -28.5t28.5 -71.5t-28.5 -72t-71.5 -29q-45 0 -72.5 29t-27.5 72zM168 0v995h168v-995h-168zM328 1305q0 43 28.5 71.5t71.5 28.5q45 0 72.5 -28.5t27.5 -71.5t-27.5 -72t-72.5 -29q-43 0 -71.5 29t-28.5 72z" />
+<glyph unicode="&#xf0;" horiz-adv-x="1116" d="M109 455q0 104 32.5 189t89 145.5t133 93t166.5 32.5q78 0 150 -32.5t125 -102.5q-29 127 -85 221.5t-134 172.5l-289 -150l-49 84l260 133q-106 82 -229 148l77 106q74 -41 145.5 -86t137.5 -100l291 149l49 -84l-264 -135q123 -125 200.5 -297t77.5 -416 q0 -123 -31.5 -224t-90 -174t-139.5 -113t-181 -40q-86 0 -166 33t-141.5 95.5t-98 151.5t-36.5 200zM268 455q0 -78 22.5 -140.5t62.5 -106.5t91.5 -68.5t110.5 -24.5q70 0 121 29.5t86 83t52 128t17 164.5q0 29 -1 57.5t-3 55.5q-68 90 -135 120.5t-137 30.5 q-68 0 -121 -24.5t-90 -69.5t-56.5 -105.5t-19.5 -129.5z" />
+<glyph unicode="&#xf1;" horiz-adv-x="1120" d="M168 0v995h139l15 -143h6q72 72 150.5 120t183.5 48q158 0 230.5 -98.5t72.5 -290.5v-631h-168v608q0 141 -45 203.5t-144 62.5q-78 0 -137 -38.5t-135 -114.5v-721h-168zM313 1186q8 92 49 154.5t117 62.5q39 0 72 -16.5t60.5 -36t52 -36t49.5 -16.5q57 0 75 105h95 q-8 -92 -49 -154.5t-117 -62.5q-39 0 -71 16.5t-59.5 35.5t-52 35.5t-51.5 16.5q-57 0 -75 -104h-95z" />
+<glyph unicode="&#xf2;" horiz-adv-x="1110" d="M94 496q0 125 38 222t101.5 164.5t146.5 102.5t175 35t175 -35t146.5 -102.5t101.5 -164.5t38 -222q0 -123 -38 -220.5t-101.5 -164t-146.5 -101.5t-175 -35t-175 35t-146.5 101.5t-101.5 164t-38 220.5zM268 496q0 -86 20.5 -156t58.5 -120t91.5 -77.5t116.5 -27.5 t116.5 27.5t91.5 77.5t58.5 120t20.5 156t-20.5 156.5t-58.5 121.5t-91.5 79t-116.5 28t-116.5 -28t-91.5 -79t-58.5 -121.5t-20.5 -156.5zM328 1462h176l184 -288h-129z" />
+<glyph unicode="&#xf3;" horiz-adv-x="1110" d="M94 496q0 125 38 222t101.5 164.5t146.5 102.5t175 35t175 -35t146.5 -102.5t101.5 -164.5t38 -222q0 -123 -38 -220.5t-101.5 -164t-146.5 -101.5t-175 -35t-175 35t-146.5 101.5t-101.5 164t-38 220.5zM268 496q0 -86 20.5 -156t58.5 -120t91.5 -77.5t116.5 -27.5 t116.5 27.5t91.5 77.5t58.5 120t20.5 156t-20.5 156.5t-58.5 121.5t-91.5 79t-116.5 28t-116.5 -28t-91.5 -79t-58.5 -121.5t-20.5 -156.5zM422 1174l184 288h176l-231 -288h-129z" />
+<glyph unicode="&#xf4;" horiz-adv-x="1110" d="M94 496q0 125 38 222t101.5 164.5t146.5 102.5t175 35t175 -35t146.5 -102.5t101.5 -164.5t38 -222q0 -123 -38 -220.5t-101.5 -164t-146.5 -101.5t-175 -35t-175 35t-146.5 101.5t-101.5 164t-38 220.5zM268 496q0 -86 20.5 -156t58.5 -120t91.5 -77.5t116.5 -27.5 t116.5 27.5t91.5 77.5t58.5 120t20.5 156t-20.5 156.5t-58.5 121.5t-91.5 79t-116.5 28t-116.5 -28t-91.5 -79t-58.5 -121.5t-20.5 -156.5zM291 1174l194 288h140l194 -288h-123l-137 186h-8l-137 -186h-123z" />
+<glyph unicode="&#xf5;" horiz-adv-x="1110" d="M94 496q0 125 38 222t101.5 164.5t146.5 102.5t175 35t175 -35t146.5 -102.5t101.5 -164.5t38 -222q0 -123 -38 -220.5t-101.5 -164t-146.5 -101.5t-175 -35t-175 35t-146.5 101.5t-101.5 164t-38 220.5zM268 496q0 -86 20.5 -156t58.5 -120t91.5 -77.5t116.5 -27.5 t116.5 27.5t91.5 77.5t58.5 120t20.5 156t-20.5 156.5t-58.5 121.5t-91.5 79t-116.5 28t-116.5 -28t-91.5 -79t-58.5 -121.5t-20.5 -156.5zM270 1186q8 92 49 154.5t117 62.5q39 0 72 -16.5t60.5 -36t52 -36t49.5 -16.5q57 0 75 105h95q-8 -92 -49 -154.5t-117 -62.5 q-39 0 -71 16.5t-59.5 35.5t-52 35.5t-51.5 16.5q-57 0 -75 -104h-95z" />
+<glyph unicode="&#xf6;" horiz-adv-x="1110" d="M94 496q0 125 38 222t101.5 164.5t146.5 102.5t175 35t175 -35t146.5 -102.5t101.5 -164.5t38 -222q0 -123 -38 -220.5t-101.5 -164t-146.5 -101.5t-175 -35t-175 35t-146.5 101.5t-101.5 164t-38 220.5zM268 496q0 -86 20.5 -156t58.5 -120t91.5 -77.5t116.5 -27.5 t116.5 27.5t91.5 77.5t58.5 120t20.5 156t-20.5 156.5t-58.5 121.5t-91.5 79t-116.5 28t-116.5 -28t-91.5 -79t-58.5 -121.5t-20.5 -156.5zM279 1305q0 43 27.5 71.5t72.5 28.5q43 0 71.5 -28.5t28.5 -71.5t-28.5 -72t-71.5 -29q-45 0 -72.5 29t-27.5 72zM631 1305 q0 43 28.5 71.5t71.5 28.5q45 0 72.5 -28.5t27.5 -71.5t-27.5 -72t-72.5 -29q-43 0 -71.5 29t-28.5 72z" />
+<glyph unicode="&#xf7;" d="M70 612v127h878v-127h-878zM397 307q0 47 33 78t80 31t79 -31t32 -78q0 -49 -32 -79.5t-79 -30.5t-80 30.5t-33 79.5zM397 1044q0 47 33 78t80 31t79 -30.5t32 -78.5q0 -49 -32 -79.5t-79 -30.5t-80 30.5t-33 79.5z" />
+<glyph unicode="&#xf8;" horiz-adv-x="1110" d="M94 12l111 133q-51 66 -81 153t-30 198q0 125 38 222t101.5 164.5t146.5 102.5t175 35q78 0 151.5 -25.5t133.5 -76.5l102 124l74 -59l-111 -133q51 -66 81 -155t30 -199q0 -123 -38 -220.5t-101.5 -164t-146.5 -101.5t-175 -35q-162 0 -285 101l-100 -123zM260 504 q0 -137 47 -232l438 531q-76 82 -190 82q-63 0 -117.5 -28t-93.5 -78t-61.5 -120.5t-22.5 -154.5zM365 190q80 -80 190 -79q63 0 117.5 27.5t94.5 77.5t61.5 120t21.5 153q0 137 -49 234z" />
+<glyph unicode="&#xf9;" horiz-adv-x="1114" d="M154 365v630h170v-608q0 -141 44 -203.5t142 -62.5q78 0 137.5 40t130.5 128v706h168v-995h-139l-14 156h-7q-70 -82 -146.5 -131.5t-180.5 -49.5q-160 0 -232.5 98.5t-72.5 291.5zM330 1462h176l184 -288h-129z" />
+<glyph unicode="&#xfa;" horiz-adv-x="1114" d="M154 365v630h170v-608q0 -141 44 -203.5t142 -62.5q78 0 137.5 40t130.5 128v706h168v-995h-139l-14 156h-7q-70 -82 -146.5 -131.5t-180.5 -49.5q-160 0 -232.5 98.5t-72.5 291.5zM424 1174l184 288h176l-231 -288h-129z" />
+<glyph unicode="&#xfb;" horiz-adv-x="1114" d="M154 365v630h170v-608q0 -141 44 -203.5t142 -62.5q78 0 137.5 40t130.5 128v706h168v-995h-139l-14 156h-7q-70 -82 -146.5 -131.5t-180.5 -49.5q-160 0 -232.5 98.5t-72.5 291.5zM293 1174l194 288h140l194 -288h-123l-137 186h-8l-137 -186h-123z" />
+<glyph unicode="&#xfc;" horiz-adv-x="1114" d="M154 365v630h170v-608q0 -141 44 -203.5t142 -62.5q78 0 137.5 40t130.5 128v706h168v-995h-139l-14 156h-7q-70 -82 -146.5 -131.5t-180.5 -49.5q-160 0 -232.5 98.5t-72.5 291.5zM281 1305q0 43 27.5 71.5t72.5 28.5q43 0 71.5 -28.5t28.5 -71.5t-28.5 -72t-71.5 -29 q-45 0 -72.5 29t-27.5 72zM633 1305q0 43 28.5 71.5t71.5 28.5q45 0 72.5 -28.5t27.5 -71.5t-27.5 -72t-72.5 -29q-43 0 -71.5 29t-28.5 72z" />
+<glyph unicode="&#xfd;" horiz-adv-x="956" d="M25 995h174l202 -551q23 -66 48.5 -138.5t48.5 -141.5h8q23 68 43 141.5t41 138.5l178 551h164l-375 -1077q-27 -74 -59.5 -137.5t-77.5 -109.5t-102.5 -72.5t-133.5 -26.5q-35 0 -63.5 5t-52.5 15l32 134q16 -4 37 -9.5t39 -5.5q86 0 140.5 60.5t84.5 152.5l23 74z M363 1174l184 288h176l-231 -288h-129z" />
+<glyph unicode="&#xfe;" horiz-adv-x="1136" d="M168 -420v1878h168v-397l-2 -170q66 53 143.5 91t159.5 38q98 0 173 -36t126 -102.5t76.5 -159.5t25.5 -210q0 -127 -34.5 -226.5t-94 -169t-137.5 -105.5t-164 -36q-72 0 -139.5 29t-134.5 82l2 -170v-336h-168zM336 221q68 -57 131 -80.5t113 -23.5q61 0 113 27.5 t90 77.5t59.5 124t21.5 166q0 82 -14 149.5t-46 115.5t-82 75t-120 27q-63 0 -127.5 -35t-138.5 -101v-522z" />
+<glyph unicode="&#xff;" horiz-adv-x="956" d="M25 995h174l202 -551q23 -66 48.5 -138.5t48.5 -141.5h8q23 68 43 141.5t41 138.5l178 551h164l-375 -1077q-27 -74 -59.5 -137.5t-77.5 -109.5t-102.5 -72.5t-133.5 -26.5q-35 0 -63.5 5t-52.5 15l32 134q16 -4 37 -9.5t39 -5.5q86 0 140.5 60.5t84.5 152.5l23 74z M220 1305q0 43 27.5 71.5t72.5 28.5q43 0 71.5 -28.5t28.5 -71.5t-28.5 -72t-71.5 -29q-45 0 -72.5 29t-27.5 72zM572 1305q0 43 28.5 71.5t71.5 28.5q45 0 72.5 -28.5t27.5 -71.5t-27.5 -72t-72.5 -29q-43 0 -71.5 29t-28.5 72z" />
+<glyph unicode="&#x152;" horiz-adv-x="1724" d="M100 678q0 322 172 493.5t486 171.5h852v-143h-570v-422h476v-145h-476v-488h590v-145h-880q-154 0 -274 46t-204 133t-128 213t-44 286zM276 678q0 -258 125 -398.5t369 -140.5h98v1065h-98q-244 0 -369 -135t-125 -391z" />
+<glyph unicode="&#x153;" horiz-adv-x="1718" d="M94 496q0 125 37 222t98.5 164.5t143.5 102.5t172 35q115 0 211 -63.5t149 -186.5q57 117 148.5 183.5t201.5 66.5q92 0 164 -33t121 -94.5t74.5 -148.5t25.5 -193q0 -57 -6 -94h-653q2 -78 27.5 -141.5t67.5 -108.5t98.5 -69.5t119.5 -24.5q72 0 131.5 23.5t114.5 58.5 l62 -117q-66 -41 -146 -72t-182 -31q-117 0 -213 65.5t-154 182.5q-117 -248 -366 -248q-90 0 -171 35t-142.5 101.5t-97.5 164t-36 220.5zM266 496q0 -86 20.5 -156t57.5 -120t88 -77.5t113 -27.5q61 0 112.5 27.5t88 77.5t57 120t20.5 156t-20.5 156.5t-57 121.5t-88 79 t-112.5 28t-112.5 -28t-88.5 -79t-57.5 -121.5t-20.5 -156.5zM981 569h512q0 154 -63.5 236t-178.5 82q-104 0 -180 -85t-90 -233z" />
+<glyph unicode="&#x178;" horiz-adv-x="964" d="M-8 1343h184l172 -378q33 -74 64.5 -145.5t66.5 -147.5h8q35 76 69 147.5t65 145.5l174 378h176l-404 -823v-520h-170v520zM205 1565q0 45 27.5 72.5t72.5 27.5q43 0 71.5 -27.5t28.5 -72.5q0 -43 -28.5 -72t-71.5 -29q-45 0 -72.5 29t-27.5 72zM557 1565q0 45 28.5 72.5 t71.5 27.5q45 0 72.5 -27.5t27.5 -72.5q0 -43 -27.5 -72t-72.5 -29q-43 0 -71.5 29t-28.5 72z" />
+<glyph unicode="&#x2c6;" horiz-adv-x="1110" d="M291 1174l194 288h140l194 -288h-123l-137 186h-8l-137 -186h-123z" />
+<glyph unicode="&#x2dc;" horiz-adv-x="1110" d="M270 1186q8 92 49 154.5t117 62.5q39 0 72 -16.5t60.5 -36t52 -36t49.5 -16.5q57 0 75 105h95q-8 -92 -49 -154.5t-117 -62.5q-39 0 -71 16.5t-59.5 35.5t-52 35.5t-51.5 16.5q-57 0 -75 -104h-95z" />
+<glyph unicode="&#x2000;" horiz-adv-x="896" />
+<glyph unicode="&#x2001;" horiz-adv-x="1792" />
+<glyph unicode="&#x2002;" horiz-adv-x="896" />
+<glyph unicode="&#x2003;" horiz-adv-x="1792" />
+<glyph unicode="&#x2004;" horiz-adv-x="597" />
+<glyph unicode="&#x2005;" horiz-adv-x="448" />
+<glyph unicode="&#x2006;" horiz-adv-x="298" />
+<glyph unicode="&#x2007;" horiz-adv-x="298" />
+<glyph unicode="&#x2008;" horiz-adv-x="224" />
+<glyph unicode="&#x2009;" horiz-adv-x="358" />
+<glyph unicode="&#x200a;" horiz-adv-x="99" />
+<glyph unicode="&#x2010;" horiz-adv-x="636" d="M84 449v129h471v-129h-471z" />
+<glyph unicode="&#x2011;" horiz-adv-x="636" d="M84 449v129h471v-129h-471z" />
+<glyph unicode="&#x2012;" horiz-adv-x="636" d="M84 449v129h471v-129h-471z" />
+<glyph unicode="&#x2013;" horiz-adv-x="983" d="M84 457v116h815v-116h-815z" />
+<glyph unicode="&#x2014;" horiz-adv-x="1638" d="M84 457v116h1470v-116h-1470z" />
+<glyph unicode="&#x2018;" horiz-adv-x="509" d="M117 1061q0 123 55 213t162 151l49 -79q-78 -51 -117 -108.5t-39 -145.5q6 2 19 2q41 0 74.5 -27t33.5 -78q0 -53 -30.5 -82.5t-77.5 -29.5q-61 0 -95 47t-34 137z" />
+<glyph unicode="&#x2019;" horiz-adv-x="509" d="M129 961q78 51 116 108t38 148q-6 -2 -17 -3q-43 0 -75.5 27t-32.5 76q0 53 30.5 84t77.5 31q59 0 94 -48.5t35 -138.5q0 -123 -56 -212t-163 -150z" />
+<glyph unicode="&#x201a;" horiz-adv-x="509" d="M129 -217q78 51 116 108t38 148q-6 -2 -17 -3q-43 0 -75.5 27t-32.5 76q0 53 30.5 84t77.5 31q59 0 94 -48.5t35 -138.5q0 -123 -56 -212t-163 -150z" />
+<glyph unicode="&#x201c;" horiz-adv-x="870" d="M117 1061q0 123 55 213t162 151l49 -79q-78 -51 -117 -108.5t-39 -145.5q6 2 19 2q41 0 74.5 -27t33.5 -78q0 -53 -30.5 -82.5t-77.5 -29.5q-61 0 -95 47t-34 137zM477 1061q0 123 55 213t162 151l49 -79q-78 -51 -117 -108.5t-39 -145.5q6 2 19 2q41 0 74.5 -27 t33.5 -78q0 -53 -30.5 -82.5t-77.5 -29.5q-61 0 -95 47t-34 137z" />
+<glyph unicode="&#x201d;" horiz-adv-x="870" d="M129 961q78 51 116 108t38 148q-6 -2 -17 -3q-43 0 -75.5 27t-32.5 76q0 53 30.5 84t77.5 31q59 0 94 -48.5t35 -138.5q0 -123 -56 -212t-163 -150zM489 961q78 51 116 108t38 148q-6 -2 -17 -3q-43 0 -75.5 27t-32.5 76q0 53 30.5 84t77.5 31q59 0 94 -48.5t35 -138.5 q0 -123 -56 -212t-163 -150z" />
+<glyph unicode="&#x201e;" horiz-adv-x="870" d="M129 -217q78 51 116 108t38 148q-6 -2 -17 -3q-43 0 -75.5 27t-32.5 76q0 53 30.5 84t77.5 31q59 0 94 -48.5t35 -138.5q0 -123 -56 -212t-163 -150zM489 -217q78 51 116 108t38 148q-6 -2 -17 -3q-43 0 -75.5 27t-32.5 76q0 53 30.5 84t77.5 31q59 0 94 -48.5t35 -138.5 q0 -123 -56 -212t-163 -150z" />
+<glyph unicode="&#x2022;" horiz-adv-x="622" d="M82 539q0 55 18.5 101t50 78t72.5 50t88 18q45 0 87 -18t74 -50t50.5 -78t18.5 -101t-18.5 -100.5t-50.5 -78t-74 -50t-87 -17.5q-47 0 -88 17.5t-72.5 50t-50 77.5t-18.5 101z" />
+<glyph unicode="&#x2026;" horiz-adv-x="1941" d="M192 102q0 59 36 95t87 36q49 0 85 -35.5t36 -95.5q0 -55 -36 -91t-85 -36q-51 0 -87 36t-36 91zM878 102q0 59 36 95t87 36q49 0 85 -35.5t36 -95.5q0 -55 -36 -91t-85 -36q-51 0 -87 36t-36 91zM1565 102q0 59 36 95t87 36q49 0 85 -35.5t36 -95.5q0 -55 -36 -91 t-85 -36q-51 0 -87 36t-36 91z" />
+<glyph unicode="&#x202f;" horiz-adv-x="358" />
+<glyph unicode="&#x2039;" horiz-adv-x="555" d="M92 453v127l279 317l73 -61l-241 -320l241 -323l-73 -58z" />
+<glyph unicode="&#x203a;" horiz-adv-x="555" d="M111 193l241 323l-241 320l71 61l281 -317v-127l-281 -318z" />
+<glyph unicode="&#x205f;" horiz-adv-x="448" />
+<glyph unicode="&#x20ac;" d="M47 481v88l121 9q-2 18 -2 36.5v36.5v32.5t2 33.5h-121v90l131 10q18 121 61.5 216t108 162t149.5 101.5t185 34.5q92 0 172 -46t133 -114l-100 -96q-43 53 -94.5 87t-116.5 34q-135 0 -218 -100.5t-108 -278.5h520v-100h-528q-2 -14 -2 -28.5v-31.5v-39.5t2 -37.5h446 v-99h-436q27 -174 106 -272t206 -98q76 0 132 36.5t109 108.5l101 -90q-68 -90 -154 -140.5t-199 -50.5q-92 0 -171 34t-140 99.5t-103 158.5t-61 214h-131z" />
+<glyph unicode="&#x2122;" horiz-adv-x="1304" d="M6 1274v110h531v-110h-205v-524h-123v524h-203zM635 750v634h153l95 -229l55 -162h8l55 162l93 229h151v-634h-117v280l13 215h-8l-146 -397h-92l-147 397h-9l15 -215v-280h-119z" />
+<glyph unicode="&#xe000;" horiz-adv-x="993" d="M0 0v993h993v-993h-993z" />
+<glyph unicode="&#xfb01;" horiz-adv-x="1138" d="M61 858v127l136 10v158q0 154 70.5 242t219.5 88q47 0 89 -9.5t77 -23.5l-37 -129q-55 25 -112 25q-139 0 -139 -193v-158h210v-137h-210v-858h-168v858h-136zM772 1309q0 49 34 78.5t83 29.5t83 -29.5t34 -78.5q0 -47 -34 -78t-83 -31t-83 31t-34 78zM803 0v995h168 v-995h-168z" />
+<glyph unicode="&#xfb02;" horiz-adv-x="1120" d="M61 858v127l136 10v158q0 154 70.5 242t219.5 88q47 0 89 -9.5t77 -23.5l-37 -129q-55 25 -112 25q-139 0 -139 -193v-158h210v-137h-210v-858h-168v858h-136zM766 201v1257h168v-1270q0 -41 14.5 -57t32.5 -16h15.5t21.5 4l22 -127q-16 -8 -38.5 -12.5t-57.5 -4.5 q-96 0 -137 57.5t-41 168.5z" />
+</font>
+</defs></svg> 
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-400-normal-webfont.ttf b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-400-normal-webfont.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..fe5d758dce70b7b25183b7dd064ffd52ca60fc88
Binary files /dev/null and b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-400-normal-webfont.ttf differ
diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-400-normal-webfont.woff b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-400-normal-webfont.woff
new file mode 100644
index 0000000000000000000000000000000000000000..9799be38b24ef0223e78cf7cfaf0b5af9a895049
Binary files /dev/null and b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-400-normal-webfont.woff differ
diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-600-normal-webfont.eot b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-600-normal-webfont.eot
new file mode 100644
index 0000000000000000000000000000000000000000..1f11e3af0d468258e96734126358b5f84c825ebc
Binary files /dev/null and b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-600-normal-webfont.eot differ
diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-600-normal-webfont.svg b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-600-normal-webfont.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ca699f72cc446609e7fbb03d114993fbc5bd87e4
--- /dev/null
+++ b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-600-normal-webfont.svg
@@ -0,0 +1,245 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata></metadata>
+<defs>
+<font id="source_sans_prosemibold" horiz-adv-x="1050" >
+<font-face units-per-em="2048" ascent="1536" descent="-512" />
+<missing-glyph horiz-adv-x="419" />
+<glyph horiz-adv-x="0" />
+<glyph horiz-adv-x="682" />
+<glyph horiz-adv-x="0" />
+<glyph horiz-adv-x="0" />
+<glyph unicode="&#xd;" horiz-adv-x="419" />
+<glyph unicode=" "  horiz-adv-x="419" />
+<glyph unicode="&#x09;" horiz-adv-x="419" />
+<glyph unicode="&#xa0;" horiz-adv-x="419" />
+<glyph unicode="!" horiz-adv-x="645" d="M170 135q0 70 44 115t110 45t108.5 -45t42.5 -115t-43 -115t-108 -45q-66 0 -110 45t-44 115zM205 1372h237l-8 -233l-33 -699h-157l-33 699z" />
+<glyph unicode="&#x22;" horiz-adv-x="987" d="M160 1409h241l-6 -231l-47 -375h-135l-45 375zM584 1409h241l-6 -231l-47 -375h-135l-45 375z" />
+<glyph unicode="#" d="M72 399v156h174l33 264h-166v156h186l45 356h141l-43 -356h240l47 356h139l-43 -356h164v-156h-182l-33 -264h174v-156h-192l-47 -399h-144l47 399h-239l-49 -399h-144l49 399h-157zM389 555h242l33 264h-242z" />
+<glyph unicode="$" d="M92 135l107 160q72 -57 145.5 -92t157.5 -35q100 0 149 46t49 130q0 68 -41 113t-103 81.5t-134 70.5t-134.5 80t-103.5 110.5t-41 161.5q0 143 82 238t221 120v209h164v-205q98 -12 169 -56t128 -104l-121 -137q-57 53 -110 81t-127 28q-84 0 -131 -42t-47 -122 q0 -61 41 -101.5t103.5 -74t134 -67.5t134 -81t103.5 -115.5t41 -171.5q0 -147 -82 -246.5t-236 -127.5v-211h-164v205q-94 10 -189 50t-165 105z" />
+<glyph unicode="%" horiz-adv-x="1722" d="M61 942q0 203 89.5 312.5t230.5 109.5t230 -109.5t89 -312.5t-89 -314.5t-230 -111.5t-230.5 112t-89.5 314zM231 942q0 -152 42 -220t108 -68t107.5 68.5t41.5 219.5q0 152 -42 218.5t-107 66.5q-66 0 -108 -66.5t-42 -218.5zM422 -25l731 1389h143l-729 -1389h-145z M1022 401q0 203 89.5 312.5t230.5 109.5t230 -109.5t89 -312.5t-89 -314.5t-230 -111.5t-230.5 112t-89.5 314zM1192 401q0 -152 42 -220t108 -68t107.5 68.5t41.5 219.5q0 152 -42 218.5t-107 66.5q-66 0 -108 -66.5t-42 -218.5z" />
+<glyph unicode="&#x26;" horiz-adv-x="1308" d="M57 352q0 70 20.5 125t56.5 101.5t82 84t97 72.5q-41 78 -63.5 152t-22.5 143q0 70 23.5 130.5t69 105.5t106.5 71.5t139 26.5q137 0 216 -78t79 -207q0 -66 -24.5 -121t-65.5 -101t-93 -87t-108 -80q61 -84 140 -162.5t165 -144.5q55 74 98.5 163t71.5 193h218 q-37 -127 -94.5 -243.5t-135.5 -221.5q66 -41 127.5 -68.5t114.5 -37.5l-60 -193q-78 18 -159.5 54.5t-165.5 89.5q-80 -66 -180.5 -105t-223.5 -39q-100 0 -179 30t-134 80t-85 118.5t-30 148.5zM283 367q0 -94 65.5 -151.5t165.5 -57.5q55 0 109.5 21.5t105.5 58.5 q-90 76 -171 160.5t-146 176.5q-57 -47 -93 -97t-36 -111zM424 1032q0 -47 14.5 -95t38.5 -101q84 53 141.5 108t57.5 133q0 53 -24.5 90t-84.5 37q-63 0 -103 -47t-40 -125z" />
+<glyph unicode="'" horiz-adv-x="563" d="M160 1409h241l-6 -231l-47 -375h-135l-45 375z" />
+<glyph unicode="(" horiz-adv-x="663" d="M158 569q0 272 70.5 497.5t199.5 436.5l147 -65q-117 -199 -171 -420t-54 -449q0 -227 54.5 -448t170.5 -420l-147 -66q-129 211 -199.5 436.5t-70.5 497.5z" />
+<glyph unicode=")" horiz-adv-x="663" d="M88 -299q117 199 171 420t54 448t-54 448.5t-171 420.5l148 65q129 -211 199.5 -436t70.5 -498q0 -272 -70.5 -497.5t-199.5 -436.5z" />
+<glyph unicode="*" horiz-adv-x="897" d="M98 1155l39 123l223 -51l23 231h129l23 -231l225 51l39 -123l-211 -92l119 -201l-105 -76l-153 179l-156 -179l-105 76l119 201z" />
+<glyph unicode="+" d="M70 590v172h366v387h178v-387h367v-172h-367v-387h-178v387h-366z" />
+<glyph unicode="," horiz-adv-x="563" d="M96 -244q98 39 152.5 104.5t54.5 143.5h-18q-59 0 -105.5 38t-46.5 108q0 66 46 105.5t112 39.5q84 0 130 -63.5t46 -178.5q0 -152 -83 -262t-237 -164z" />
+<glyph unicode="-" horiz-adv-x="659" d="M86 430v172h487v-172h-487z" />
+<glyph unicode="." horiz-adv-x="563" d="M129 135q0 70 44 115t110 45t108.5 -45t42.5 -115t-43 -115t-108 -45q-66 0 -110 45t-44 115z" />
+<glyph unicode="/" horiz-adv-x="704" d="M25 -328l477 1782h160l-478 -1782h-159z" />
+<glyph unicode="0" d="M82 657q0 332 118.5 501t323.5 169t324 -170t119 -500q0 -332 -119 -507t-324 -175t-323.5 175.5t-118.5 506.5zM307 657q0 -139 16.5 -233t45 -153.5t68.5 -85t87 -25.5t87 25.5t69 85t45 153.5t16 233q0 137 -16 230.5t-45 151t-69 81t-87 23.5t-87 -23.5t-68.5 -81 t-45 -150.5t-16.5 -231z" />
+<glyph unicode="1" d="M152 0v193h290v856h-239v147q98 18 168.5 44t132.5 63h176v-1110h256v-193h-784z" />
+<glyph unicode="2" d="M68 1126q90 96 185 148.5t230 52.5q94 0 170 -28.5t129.5 -81t83 -126t29.5 -163.5q0 -86 -38 -175t-102.5 -180.5t-150.5 -187.5t-182 -199q51 4 110.5 9.5t106.5 5.5h319v-201h-880v137q135 131 244.5 241.5t186.5 205t118 176.5t41 155q0 104 -55.5 165t-159.5 61 q-76 0 -138.5 -43t-115.5 -103z" />
+<glyph unicode="3" d="M49 160l113 151q59 -59 135 -101t174 -42q106 0 173 52t67 145q0 51 -18.5 92t-62.5 69.5t-118 44t-184 15.5v172q96 0 160.5 15t104.5 43t57.5 67t17.5 84q0 82 -51.5 128t-141.5 46q-78 0 -140.5 -34t-121.5 -89l-121 145q84 74 179.5 119t211.5 45q94 0 172 -22.5 t133.5 -66.5t86 -108.5t30.5 -146.5q0 -111 -60.5 -184.5t-166.5 -114.5v-8q117 -31 193.5 -113t76.5 -211q0 -90 -35.5 -159.5t-98 -117.5t-145.5 -74t-177 -26q-160 0 -266.5 53.5t-176.5 131.5z" />
+<glyph unicode="4" d="M37 336v160l516 807h281v-785h163v-182h-163v-336h-222v336h-575zM270 518h342v295q0 57 3 135t8 135h-9q-25 -51 -51 -100t-55 -102z" />
+<glyph unicode="5" d="M49 156l109 151q59 -55 133 -97t172 -42q111 0 181.5 65.5t70.5 184.5q0 117 -65.5 180.5t-174.5 63.5q-63 0 -106 -17.5t-103 -56.5l-112 71l39 644h696v-199h-492l-26 -316q41 20 81 31.5t91 11.5q84 0 158.5 -24.5t130 -74.5t88 -127t32.5 -181q0 -106 -37.5 -190 t-101 -141.5t-146.5 -87.5t-173 -30q-158 0 -265.5 54.5t-179.5 126.5z" />
+<glyph unicode="6" d="M90 612q0 190 43 325.5t113.5 221.5t163 127t192.5 41q119 0 204 -43t144 -104l-127 -144q-35 43 -91 71t-116 28q-61 0 -115.5 -25t-95 -81t-66.5 -148.5t-30 -227.5q57 72 134 113t149 41q84 0 154.5 -24.5t121 -75t78 -126t27.5 -178.5q0 -98 -33 -177t-88 -134 t-130 -86t-159 -31q-96 0 -182 38t-150.5 116t-102.5 199t-38 284zM315 485q18 -174 83 -251.5t161 -77.5q82 0 138.5 63.5t56.5 183.5q0 117 -53.5 174.5t-151.5 57.5q-55 0 -116.5 -34t-117.5 -116z" />
+<glyph unicode="7" d="M90 1104v199h875v-144q-115 -141 -185.5 -269t-111.5 -262t-58.5 -286t-25.5 -342h-240q8 174 30.5 318.5t64.5 275.5t107.5 255t160.5 255h-617z" />
+<glyph unicode="8" d="M84 334q0 61 19.5 111.5t52 91.5t74.5 73.5t89 57.5v8q-76 53 -128 127t-52 178q0 80 30 143.5t82 108.5t125 69.5t156 24.5q88 0 159 -25.5t121 -71.5t76.5 -110.5t26.5 -144.5q0 -49 -15 -93t-39.5 -82t-56.5 -70t-63 -54v-8q45 -25 86 -56.5t72 -72.5t49.5 -92.5 t18.5 -116.5q0 -76 -32 -140.5t-89.5 -112.5t-139 -75t-180.5 -27q-96 0 -177 27t-139 74t-92 112.5t-34 145.5zM291 358q0 -98 69.5 -156.5t169.5 -58.5q94 0 154.5 51.5t60.5 143.5q0 53 -24.5 91t-66.5 67.5t-99 54t-123 51.5q-61 -45 -101 -106.5t-40 -137.5zM350 981 q0 -49 20.5 -86t56.5 -64.5t83 -51.5t102 -44q53 53 81 108.5t28 117.5q0 86 -50 142t-143 56q-76 0 -127 -46t-51 -132z" />
+<glyph unicode="9" d="M76 901q0 98 32.5 177t88 134.5t130 85t158.5 29.5q94 0 180.5 -38t151 -115.5t102 -197.5t37.5 -284q0 -190 -42 -325.5t-112.5 -222.5t-163.5 -128t-194 -41q-117 0 -202.5 43t-145.5 105l127 143q37 -43 93.5 -70.5t115.5 -27.5q61 0 115.5 24.5t95.5 81t66.5 148.5 t29.5 227q-57 -72 -135 -111.5t-149 -39.5q-84 0 -154 24.5t-120 74.5t-77.5 126t-27.5 178zM293 901q0 -117 54.5 -175t152.5 -58q55 0 117.5 34.5t115.5 116.5q-18 172 -84.5 250t-161.5 78q-80 0 -137 -63.5t-57 -182.5z" />
+<glyph unicode=":" horiz-adv-x="563" d="M129 135q0 70 44 115t110 45t108.5 -45t42.5 -115t-43 -115t-108 -45q-66 0 -110 45t-44 115zM129 835q0 70 44 115t110 45t108.5 -45t42.5 -115t-43 -115t-108 -45q-66 0 -110 45t-44 115z" />
+<glyph unicode=";" horiz-adv-x="563" d="M96 -244q98 39 152.5 104.5t54.5 143.5h-18q-59 0 -105.5 38t-46.5 108q0 66 46 105.5t112 39.5q84 0 130 -63.5t46 -178.5q0 -152 -83 -262t-237 -164zM129 835q0 70 44 115t110 45t108.5 -45t42.5 -115t-43 -115t-108 -45q-66 0 -110 45t-44 115z" />
+<glyph unicode="&#x3c;" d="M70 594v172l911 354v-198l-395 -140l-277 -98v-8l277 -98l395 -140v-198z" />
+<glyph unicode="=" d="M70 363v172h911v-172h-911zM70 819v172h911v-172h-911z" />
+<glyph unicode="&#x3e;" d="M70 240v198l395 140l276 98v8l-276 98l-395 140v198l911 -354v-172z" />
+<glyph unicode="?" horiz-adv-x="909" d="M82 1219q66 78 156 128t202 50q82 0 152 -21.5t121 -64.5t78.5 -106.5t27.5 -147.5q0 -66 -23.5 -118t-58.5 -99t-74.5 -90t-71.5 -90.5t-51.5 -100.5t-11.5 -119h-206q-10 74 5 135.5t44.5 112.5t67.5 95t72 86t56.5 83t22.5 88q0 74 -44 119t-122 45 q-63 0 -114.5 -28.5t-96.5 -77.5zM274 135q0 70 43 115t109 45t110 -45t44 -115t-44 -115t-110 -45t-109 45t-43 115z" />
+<glyph unicode="@" horiz-adv-x="1792" d="M102 418q0 211 72 382t192.5 292.5t282.5 188.5t342 67q160 0 290 -51.5t221 -144.5t140.5 -223t49.5 -286q0 -137 -40 -240.5t-103.5 -173t-141.5 -104.5t-154 -35q-88 0 -149.5 39t-75.5 117h-4q-47 -61 -114.5 -100.5t-133.5 -39.5q-113 0 -185.5 79t-72.5 221 q0 88 30 175t83 156.5t126.5 113.5t164.5 44q106 0 159 -100h4l27 84h150l-88 -433q-51 -207 102 -206q47 0 94 27.5t84 78.5t59.5 124t22.5 165q0 117 -34 219t-102.5 179t-175 122t-251.5 45q-135 0 -262 -55t-225.5 -156.5t-159 -244t-60.5 -318.5q0 -152 47 -266.5 t129 -191.5t192.5 -115.5t235.5 -38.5q86 0 170 23.5t152 60.5l55 -131q-180 -102 -395 -103q-152 0 -288 47t-238.5 142.5t-163 236t-60.5 328.5zM700 420q0 -84 34 -122t91 -38q37 0 76 24.5t86 82.5l53 301q-45 72 -112 71q-53 0 -95 -30.5t-72 -77.5t-45.5 -103.5 t-15.5 -107.5z" />
+<glyph unicode="A" horiz-adv-x="1136" d="M-8 0l438 1339h279l436 -1339h-252l-105 362h-448l-104 -362h-244zM393 549h342l-47 164q-31 106 -61.5 218.5t-59.5 223.5h-8q-29 -113 -57.5 -224.5t-61.5 -217.5z" />
+<glyph unicode="B" horiz-adv-x="1216" d="M168 0v1339h428q102 0 190 -17t151.5 -55t99.5 -101.5t36 -155.5q0 -96 -55 -178t-174 -113v-8q145 -25 223 -104t78 -214q0 -100 -39 -174t-107.5 -123t-163 -72.5t-204.5 -23.5h-463zM406 184h200q147 0 226 55.5t79 170.5q0 104 -77.5 154t-227.5 50h-200v-430z M406 784h167q141 0 204 51.5t63 145.5q0 92 -64.5 133t-195.5 41h-174v-371z" />
+<glyph unicode="C" horiz-adv-x="1173" d="M96 666q0 164 48.5 294t132 220t196.5 137t242 47q123 0 220 -51t161 -119l-131 -147q-53 51 -111.5 80.5t-136.5 29.5q-82 0 -151.5 -33.5t-120 -96t-78 -153t-27.5 -202.5q0 -229 100.5 -359.5t268.5 -130.5q90 0 157.5 35t124.5 98l131 -145q-82 -94 -185 -144.5 t-232 -50.5q-127 0 -239 45.5t-194 133.5t-129 217t-47 295z" />
+<glyph unicode="D" horiz-adv-x="1275" d="M168 0v1339h356q307 0 480.5 -165.5t173.5 -497.5q0 -166 -44 -293t-127 -212t-202 -128t-268 -43h-369zM406 193h102q205 0 315.5 117.5t110.5 365.5q0 246 -111.5 358.5t-314.5 112.5h-102v-954z" />
+<glyph unicode="E" horiz-adv-x="1093" d="M168 0v1339h805v-200h-567v-342h481v-201h-481v-395h587v-201h-825z" />
+<glyph unicode="F" horiz-adv-x="1036" d="M168 0v1339h809v-200h-571v-379h485v-201h-485v-559h-238z" />
+<glyph unicode="G" horiz-adv-x="1277" d="M96 666q0 164 49.5 294t135.5 220t202.5 137t251.5 47q70 0 129.5 -14.5t108.5 -38t90 -54t72 -63.5l-131 -147q-51 49 -112 79.5t-155 30.5q-90 0 -162.5 -33.5t-125 -96t-81 -153t-28.5 -202.5q0 -229 104.5 -359.5t307.5 -130.5q55 0 106 15.5t84 44.5v288h-252v195 h465v-590q-70 -66 -182.5 -113t-249.5 -47q-133 0 -248 45.5t-198.5 133.5t-132 217t-48.5 295z" />
+<glyph unicode="H" horiz-adv-x="1351" d="M168 0v1339h238v-538h540v538h238v-1339h-238v594h-540v-594h-238z" />
+<glyph unicode="I" horiz-adv-x="571" d="M168 0v1339h238v-1339h-238z" />
+<glyph unicode="J" horiz-adv-x="1005" d="M45 203l164 121q41 -74 94 -108t115 -34q94 0 142 57.5t48 200.5v899h238v-919q0 -92 -23.5 -173t-72 -141.5t-124 -95.5t-180.5 -35q-141 0 -238 57.5t-163 170.5z" />
+<glyph unicode="K" horiz-adv-x="1216" d="M168 0v1339h238v-608h6l477 608h262l-412 -522l482 -817h-263l-360 631l-192 -240v-391h-238z" />
+<glyph unicode="L" horiz-adv-x="1021" d="M168 0v1339h238v-1138h555v-201h-793z" />
+<glyph unicode="M" horiz-adv-x="1519" d="M168 0v1339h260l242 -659l88 -254h8l88 254l236 659h262v-1339h-224v612q0 47 3.5 102.5t7.5 112t10 110.5t10 101h-8l-109 -305l-231 -608h-109l-231 608l-106 305h-9q4 -47 9.5 -101t9.5 -110.5t7 -112t3 -102.5v-612h-217z" />
+<glyph unicode="N" horiz-adv-x="1337" d="M168 0v1339h244l415 -753l140 -285h8q-10 104 -20.5 224t-10.5 233v581h225v-1339h-243l-416 754l-139 284h-9q10 -106 20.5 -223t10.5 -229v-586h-225z" />
+<glyph unicode="O" horiz-adv-x="1374" d="M96 676q0 162 43 290t122 216t187.5 135t239.5 47t239.5 -47t186.5 -135t121 -216t43 -290q0 -164 -43 -293t-121 -220t-186.5 -139.5t-239.5 -48.5t-239.5 48.5t-187.5 139.5t-122 220t-43 293zM340 676q0 -113 24.5 -204t70.5 -155.5t109.5 -99.5t143.5 -35 q78 0 142.5 35t109.5 99.5t69.5 155.5t24.5 204q0 225 -94 353t-252 128q-160 0 -254 -128t-94 -353z" />
+<glyph unicode="P" horiz-adv-x="1204" d="M168 0v1339h450q111 0 204 -20.5t161 -69.5t105.5 -128t37.5 -195q0 -111 -38.5 -193t-107.5 -136t-162 -79.5t-200 -25.5h-212v-492h-238zM406 682h192q152 0 223.5 60.5t71.5 183.5q0 127 -74 175t-221 48h-192v-467z" />
+<glyph unicode="Q" horiz-adv-x="1374" d="M92 676q0 162 43 290t121 216t186.5 135t239.5 47t239.5 -47t187.5 -135t122 -216t43 -290q0 -139 -32 -255t-91 -204t-142 -145.5t-186 -79.5q47 -80 130 -115t182 -35q45 0 80.5 6.5t64.5 16.5l43 -178q-35 -16 -90 -26.5t-125 -10.5q-201 0 -336 94t-201 242 q-109 18 -196.5 74.5t-151 144.5t-97.5 206.5t-34 264.5zM336 676q0 -113 24.5 -204t69.5 -155.5t108.5 -99.5t143.5 -35t143.5 35t108.5 99.5t69.5 155.5t24.5 204q0 225 -93 353t-253 128t-253 -128t-93 -353z" />
+<glyph unicode="R" horiz-adv-x="1220" d="M168 0v1339h450q104 0 194.5 -20.5t157 -66.5t104.5 -121.5t38 -188.5q0 -154 -72.5 -248t-195.5 -135l319 -559h-266l-289 524h-202v-524h-238zM406 713h188q139 0 211 57t72 172q0 117 -72 162t-211 45h-188v-436z" />
+<glyph unicode="S" horiz-adv-x="1110" d="M76 172l137 162q72 -68 164 -110t186 -42q113 0 173.5 47t60.5 125q0 41 -15.5 70t-43 50.5t-66.5 39.5t-84 37l-182 80q-49 20 -98.5 51t-87.5 74t-61.5 100t-23.5 131q0 80 34 148.5t93.5 120t141 80t180.5 28.5q119 0 227.5 -46t185.5 -124l-123 -152 q-63 53 -133.5 84t-156.5 31q-96 0 -152.5 -42t-56.5 -116q0 -39 17.5 -66.5t47 -49t68.5 -39t80 -33.5l180 -76q59 -25 109.5 -57.5t86 -75.5t55 -99.5t19.5 -129.5q0 -82 -32.5 -154t-95 -126t-151.5 -86t-202 -32q-135 0 -260 51.5t-221 145.5z" />
+<glyph unicode="T" horiz-adv-x="1112" d="M51 1139v200h1010v-200h-385v-1139h-238v1139h-387z" />
+<glyph unicode="U" horiz-adv-x="1335" d="M160 588v751h237v-770q0 -109 19.5 -183.5t55.5 -119.5t86 -64.5t112 -19.5q61 0 112.5 19.5t87 64.5t56 120t20.5 183v770h230v-751q0 -166 -36 -282t-101.5 -189.5t-159 -107.5t-209.5 -34q-117 0 -211 34t-161 107.5t-102.5 189.5t-35.5 282z" />
+<glyph unicode="V" horiz-adv-x="1091" d="M-10 1339h252l188 -673q33 -115 57.5 -217.5t59.5 -219.5h8q35 117 60.5 219.5t58.5 217.5l186 673h242l-414 -1339h-282z" />
+<glyph unicode="W" horiz-adv-x="1632" d="M33 1339h246l114 -675q16 -109 33.5 -215.5t34.5 -212.5h8q20 106 41.5 213.5t44.5 214.5l166 675h205l166 -675q23 -104 44 -212t44 -216h8q16 109 32.5 215t32.5 213l115 675h229l-258 -1339h-295l-165 705q-16 78 -30.5 154.5t-29.5 154.5h-8q-14 -78 -28.5 -155 t-30.5 -154l-162 -705h-291z" />
+<glyph unicode="X" horiz-adv-x="1101" d="M25 0l378 690l-356 649h264l150 -297q23 -47 46 -96t54 -108h8q25 59 46.5 108t43.5 96l142 297h252l-357 -659l381 -680h-264l-164 315q-27 53 -52.5 105.5t-53.5 114.5h-8q-27 -61 -51.5 -113.5t-49.5 -106.5l-158 -315h-251z" />
+<glyph unicode="Y" horiz-adv-x="1019" d="M-12 1339h254l145 -342q29 -76 58.5 -146.5t60.5 -148.5h8q33 78 64.5 149t60.5 146l145 342h248l-403 -841v-498h-238v498z" />
+<glyph unicode="Z" horiz-adv-x="1099" d="M78 0v143l649 996h-588v200h881v-143l-647 -995h653v-201h-948z" />
+<glyph unicode="[" horiz-adv-x="663" d="M184 -311v1761h402v-131h-224v-1501h224v-129h-402z" />
+<glyph unicode="\" horiz-adv-x="704" d="M43 1454h160l479 -1782h-162z" />
+<glyph unicode="]" horiz-adv-x="663" d="M78 -182h223v1501h-223v131h401v-1761h-401v129z" />
+<glyph unicode="^" d="M113 571l313 801h197l315 -801h-199l-112 310l-99 276h-8l-96 -276l-113 -310h-198z" />
+<glyph unicode="_" horiz-adv-x="1024" d="M25 -131h974v-141h-974v141z" />
+<glyph unicode="`" horiz-adv-x="1124" d="M295 1473h233l185 -299h-177z" />
+<glyph unicode="a" horiz-adv-x="1071" d="M106 270q0 162 141.5 250t450.5 123q0 39 -10 75t-31.5 63.5t-55.5 43t-85 15.5q-76 0 -146.5 -29t-136.5 -70l-86 158q84 53 187.5 92t224.5 39q190 0 282.5 -111.5t92.5 -322.5v-596h-193l-18 111h-6q-68 -57 -144.5 -96.5t-166.5 -39.5q-133 0 -216.5 81t-83.5 214z M336 289q0 -68 40 -98.5t103 -30.5q61 0 112.5 28.5t106.5 81.5v226q-102 -12 -171.5 -33t-111.5 -46.5t-60.5 -58t-18.5 -69.5z" />
+<glyph unicode="b" horiz-adv-x="1155" d="M150 0v1446h235v-373l-6 -168q63 55 138 90t153 35q94 0 167.5 -36t125 -102.5t78 -160.5t26.5 -211q0 -129 -36 -230.5t-95 -171t-137 -106.5t-162 -37q-70 0 -140.5 33t-134.5 94h-6l-20 -102h-186zM385 254q53 -47 105.5 -65.5t97.5 -18.5q100 0 167.5 87t67.5 259 q0 152 -51 236t-166 84q-106 0 -221 -113v-469z" />
+<glyph unicode="c" horiz-adv-x="946" d="M84 502q0 125 41 223t110.5 165.5t160.5 103.5t192 36q98 0 170.5 -33.5t124.5 -83.5l-113 -149q-41 35 -82 54.5t-88 19.5q-123 0 -198.5 -91.5t-75.5 -244.5q0 -152 74.5 -243t193.5 -91q61 0 113.5 25.5t93.5 60.5l98 -150q-72 -63 -158 -96t-172 -33q-102 0 -191 35 t-154.5 102.5t-102.5 166t-37 223.5z" />
+<glyph unicode="d" horiz-adv-x="1155" d="M88 502q0 123 36 221t95.5 165.5t136 104.5t158.5 37q86 0 145.5 -29.5t118.5 -80.5l-8 161v365h236v-1446h-195l-16 109h-9q-55 -55 -128.5 -94.5t-155.5 -39.5q-190 0 -302 138.5t-112 388.5zM332 504q0 -164 58.5 -249t168.5 -85q113 0 211 113v469 q-53 47 -103.5 65.5t-101.5 18.5q-98 0 -165.5 -86t-67.5 -246z" />
+<glyph unicode="e" horiz-adv-x="1038" d="M84 502q0 123 39 221t103.5 165.5t148.5 104.5t172 37q102 0 180 -34.5t130 -98t79 -152t27 -192.5q0 -70 -11 -111h-639q16 -137 95 -210.5t202 -73.5q66 0 122 19.5t112 53.5l80 -147q-72 -47 -160 -78t-184 -31q-104 0 -194.5 36t-158 103.5t-105.5 165t-38 222.5z M311 592h447q0 121 -50.5 188.5t-154.5 67.5q-90 0 -157.5 -64.5t-84.5 -191.5z" />
+<glyph unicode="f" horiz-adv-x="649" d="M55 819v176l135 11v104q0 78 18.5 144.5t59.5 114.5t103.5 74.5t152.5 26.5q53 0 101.5 -10t83.5 -24l-45 -176q-53 24 -107 24h-4q-127 0 -127 -170v-108h197v-187h-197v-819h-236v819h-135z" />
+<glyph unicode="g" horiz-adv-x="1064" d="M82 -182q0 63 37 117.5t106 97.5v8q-39 25 -64.5 65.5t-25.5 102.5q0 59 34 107.5t77 78.5v8q-51 39 -91 108t-40 159q0 86 32.5 153.5t87 113.5t126 69.5t151.5 23.5q41 0 79 -7t68 -17h361v-175h-184q25 -29 41 -72.5t16 -96.5q0 -84 -29.5 -147.5t-81 -106.5t-121 -66 t-149.5 -23q-33 0 -67.5 6.5t-69.5 20.5q-23 -20 -36 -40.5t-13 -55.5q0 -43 35.5 -67.5t127.5 -24.5h179q182 0 275 -58.5t93 -189.5q0 -74 -37.5 -139.5t-107.5 -112.5t-169 -74.5t-222 -27.5q-90 0 -167 16t-132.5 49t-87 82t-31.5 115zM279 -147q0 -68 68.5 -106 t189.5 -38q123 0 197.5 48t74.5 114q0 59 -46 79.5t-132 20.5h-137q-82 0 -138 15q-77 -59 -77 -133zM336 670q0 -98 51 -150.5t125 -52.5q72 0 123 52t51 151q0 94 -50 146t-124 52t-125 -51t-51 -147z" />
+<glyph unicode="h" horiz-adv-x="1142" d="M150 0v1446h235v-373l-8 -194q63 59 140 105t181 46q162 0 236 -103.5t74 -295.5v-631h-236v600q0 125 -37 176t-121 51q-66 0 -115.5 -31.5t-113.5 -93.5v-702h-235z" />
+<glyph unicode="i" horiz-adv-x="536" d="M123 1315q0 59 41 97t104 38t104.5 -38t41.5 -97t-41.5 -96t-104.5 -37t-104 36.5t-41 96.5zM150 0v1006h235v-1006h-235z" />
+<glyph unicode="j" horiz-adv-x="538" d="M-94 -395l45 176q20 -6 41.5 -11.5t44.5 -5.5q68 0 91.5 46.5t23.5 134.5v1061h237v-1057q0 -80 -16.5 -147.5t-54 -118t-99 -78t-149.5 -27.5q-55 0 -95.5 8t-68.5 19zM125 1315q0 59 42 97t103 38q63 0 105.5 -38t42.5 -97t-42.5 -96t-105.5 -37q-61 0 -103 36.5 t-42 96.5z" />
+<glyph unicode="k" horiz-adv-x="1069" d="M150 0v1446h231v-903h6l373 463h258l-344 -410l379 -596h-256l-258 436l-158 -180v-256h-231z" />
+<glyph unicode="l" horiz-adv-x="555" d="M150 258v1188h235v-1200q0 -43 16.5 -60.5t34.5 -17.5h15.5t21.5 4l31 -176q-47 -20 -125 -21q-127 0 -178 76t-51 207z" />
+<glyph unicode="m" horiz-adv-x="1726" d="M150 0v1006h194l16 -138h9q63 68 138 115t169 47q111 0 177.5 -47t100.5 -133q72 78 150 129t174 51q160 0 235.5 -103.5t75.5 -295.5v-631h-237v600q0 125 -38 176t-116 51q-94 0 -211 -125v-702h-235v600q0 125 -38 176t-118 51q-94 0 -211 -125v-702h-235z" />
+<glyph unicode="n" horiz-adv-x="1146" d="M150 0v1006h194l16 -136h9q68 66 146.5 113t182.5 47q162 0 236 -103.5t74 -295.5v-631h-236v600q0 125 -37 176t-121 51q-66 0 -115.5 -31.5t-113.5 -93.5v-702h-235z" />
+<glyph unicode="o" horiz-adv-x="1124" d="M84 502q0 125 39 223t105.5 165.5t152.5 103.5t180 36t181 -36t153 -103.5t105.5 -165.5t39.5 -223t-39.5 -223.5t-105.5 -166t-153 -102.5t-181 -35t-180 35t-152.5 102.5t-105.5 166t-39 223.5zM326 502q0 -152 62.5 -243t172.5 -91q111 0 174.5 91t63.5 243 q0 154 -63.5 245t-174.5 91t-173 -91t-62 -245z" />
+<glyph unicode="p" horiz-adv-x="1155" d="M150 -397v1403h194l16 -107h9q63 53 141 92t162 39q94 0 166.5 -36t124 -103.5t78 -161.5t26.5 -211q0 -129 -36 -230.5t-95 -170t-137 -105.5t-162 -37q-66 0 -131.5 29t-126.5 82l6 -168v-315h-235zM385 254q55 -47 106.5 -65.5t96.5 -18.5q100 0 167.5 87t67.5 259 q0 152 -51 236t-166 84q-106 0 -221 -113v-469z" />
+<glyph unicode="q" horiz-adv-x="1148" d="M88 502q0 123 36 221t95.5 165.5t136 104.5t158.5 37q86 0 150.5 -29.5t128.5 -91.5h6l20 97h187v-1403h-236v329l8 166q-55 -53 -126.5 -88t-149.5 -35q-190 0 -302 138.5t-112 388.5zM332 504q0 -164 58.5 -249t168.5 -85q113 0 211 113v469q-53 47 -103.5 65.5 t-101.5 18.5q-98 0 -165.5 -86t-67.5 -246z" />
+<glyph unicode="r" horiz-adv-x="763" d="M150 0v1006h194l16 -179h9q53 98 128.5 150.5t155.5 52.5q72 0 115 -20l-41 -205q-27 8 -49.5 12t-54.5 4q-59 0 -125 -46t-113 -161v-614h-235z" />
+<glyph unicode="s" horiz-adv-x="882" d="M49 115l111 151q68 -53 134 -82.5t144 -29.5q82 0 121 33.5t39 86.5q0 31 -18.5 54.5t-49 42t-69.5 34t-78 31.5q-49 18 -100.5 43t-91 59.5t-65.5 81t-26 109.5q0 133 98.5 217t268.5 84q104 0 188 -37t146 -84l-109 -143q-53 39 -107.5 62.5t-113.5 23.5 q-76 0 -111.5 -32t-35.5 -79q0 -29 17 -50t46 -38.5t67 -32t78 -28.5q51 -18 102.5 -42t93.5 -58.5t67.5 -85t25.5 -119.5q0 -66 -25.5 -122t-74.5 -98t-123 -67t-168 -25q-104 0 -205.5 40t-175.5 100z" />
+<glyph unicode="t" horiz-adv-x="739" d="M41 819v176l156 11l28 274h197v-274h256v-187h-256v-479q0 -176 141 -176q27 0 54.5 6t50.5 16l41 -174q-41 -14 -93.5 -25.5t-111.5 -11.5q-88 0 -148.5 27t-98.5 75t-55.5 114.5t-17.5 148.5v479h-143z" />
+<glyph unicode="u" horiz-adv-x="1138" d="M139 375v631h236v-600q0 -125 37 -176.5t118 -51.5q66 0 116 33t108 106v689h235v-1006h-192l-19 147h-6q-66 -78 -142.5 -125t-180.5 -47q-162 0 -236 103.5t-74 296.5z" />
+<glyph unicode="v" horiz-adv-x="1013" d="M25 1006h239l160 -523q20 -74 41.5 -149.5t42.5 -153.5h8q23 78 43.5 154t42.5 149l160 523h227l-342 -1006h-272z" />
+<glyph unicode="w" horiz-adv-x="1531" d="M49 1006h238l121 -523q16 -72 27 -143.5t26 -144.5h8q14 74 29.5 145.5t33.5 142.5l132 523h215l133 -523q18 -72 34.5 -143.5t32.5 -144.5h8q14 74 26.5 145.5t27.5 142.5l121 523h221l-256 -1006h-281l-117 469q-16 72 -30.5 142.5t-30.5 150.5h-8 q-14 -80 -28.5 -151.5t-31.5 -143.5l-114 -467h-271z" />
+<glyph unicode="x" horiz-adv-x="985" d="M29 0l319 524l-299 482h254l113 -191q23 -41 46 -85t46 -85h8q18 41 38.5 85t39.5 85l96 191h244l-297 -508l319 -498h-254l-122 199q-25 45 -50.5 90t-52.5 88h-8q-23 -43 -44.5 -87t-43.5 -91l-107 -199h-245z" />
+<glyph unicode="y" horiz-adv-x="1013" d="M25 1006h239l174 -494q23 -66 44.5 -138.5t43.5 -144.5h9q18 70 37.5 142.5t37.5 140.5l152 494h227l-364 -1051q-31 -86 -68 -153.5t-85 -115.5t-110.5 -74t-144.5 -26q-41 0 -71.5 5.5t-59.5 15.5l43 184q14 -4 33.5 -9t38.5 -5q80 0 128 48t72 124l19 63z" />
+<glyph unicode="z" horiz-adv-x="907" d="M70 0v127l475 692h-422v187h717v-125l-473 -693h489v-188h-786z" />
+<glyph unicode="{" horiz-adv-x="663" d="M66 498v143q51 0 84.5 14.5t54 36t29 48t8.5 55.5q0 96 -9.5 181t-9.5 191q0 162 60.5 222.5t189.5 60.5h113v-131h-49q-72 0 -97.5 -35t-25.5 -127q0 -86 5 -173t5 -179q0 -111 -33 -162t-104 -70v-8q72 -18 104.5 -70.5t32.5 -160.5q0 -98 -5 -181t-5 -171 q0 -92 25.5 -128t97.5 -36h49v-129h-113q-63 0 -110.5 13t-78 46t-46 87t-15.5 136q0 55 3 101.5t6.5 89.5t6.5 87t3 93q0 29 -8.5 56.5t-29 49t-54 36t-84.5 14.5z" />
+<glyph unicode="|" horiz-adv-x="522" d="M182 -512v2048h158v-2048h-158z" />
+<glyph unicode="}" horiz-adv-x="663" d="M78 -182h47q74 0 99.5 35.5t25.5 128.5q0 88 -5 171t-5 181q0 109 32.5 161t104.5 70v8q-72 18 -104.5 69.5t-32.5 162.5q0 92 5 179t5 173q0 92 -25.5 127t-99.5 35h-47v131h110q63 0 111.5 -14.5t79.5 -47t46 -87t15 -134.5q0 -106 -9 -191t-9 -181q0 -29 8 -55.5 t28.5 -48t54.5 -36t85 -14.5v-143q-51 0 -85 -14.5t-54.5 -36t-28.5 -49t-8 -56.5q0 -49 3 -93t6 -87t6 -89t3 -102q0 -82 -15 -136t-46 -87t-79 -46t-112 -13h-110v129z" />
+<glyph unicode="~" d="M66 645q66 106 138 152.5t144 46.5q61 0 109.5 -25.5t89.5 -56.5t79 -56.5t81 -25.5q86 0 151 121l125 -96q-66 -104 -137.5 -150.5t-143.5 -46.5q-61 0 -109 25.5t-89 56.5t-79 56.5t-81 25.5q-86 0 -151 -121z" />
+<glyph unicode="&#xa1;" horiz-adv-x="645" d="M170 872q0 68 44 113t110 45t108.5 -45t42.5 -113q0 -72 -43 -116.5t-108 -44.5q-66 0 -110 45t-44 116zM205 -367l6 234l33 698h157l33 -698l8 -234h-237z" />
+<glyph unicode="&#xa2;" d="M125 631q0 106 32.5 193t89 150.5t134.5 103.5t170 55v206h135v-200q86 -4 150.5 -37t111.5 -80l-110 -145q-72 63 -152 71v-631q53 4 98 29t82 55l99 -149q-59 -53 -132 -85t-147 -42v-201h-135v203q-193 25 -309.5 154t-116.5 350zM354 631q0 -115 51.5 -193 t145.5 -106v600q-94 -31 -145.5 -109t-51.5 -192z" />
+<glyph unicode="&#xa3;" d="M104 0v145q98 49 158 138.5t60 201.5q0 23 -2.5 42.5t-6.5 41.5h-204v142l137 10h24q-16 53 -29.5 105.5t-13.5 103.5q0 92 30 165.5t84 125t130 79t166 27.5q113 0 193.5 -43t142.5 -117l-131 -129q-39 45 -82 71t-103 26q-96 0 -149 -56.5t-53 -160.5q0 -51 10 -99.5 t24 -97.5h316v-152h-281q6 -43 6 -86q0 -92 -26.5 -153.5t-81.5 -120.5v-8h553v-201h-871z" />
+<glyph unicode="&#xa4;" d="M47 313l127 129q-35 47 -53.5 105.5t-18.5 126.5q0 70 18.5 128t53.5 105l-127 129l121 123l139 -143q98 63 217 63t217 -63l142 143l121 -123l-130 -129q35 -47 53.5 -105.5t18.5 -127.5q0 -68 -18.5 -126.5t-53.5 -105.5l130 -129l-121 -123l-142 144 q-47 -33 -103 -48.5t-114 -15.5q-57 0 -112.5 15.5t-102.5 48.5l-141 -144zM315 674q0 -106 61.5 -171t147.5 -65q88 0 148.5 64.5t60.5 171.5q0 109 -60.5 173t-148.5 64q-86 0 -147.5 -64t-61.5 -173z" />
+<glyph unicode="&#xa5;" d="M37 1303h244l131 -310q29 -68 55.5 -135t56.5 -137h8q29 70 56.5 137.5t56.5 134.5l131 310h238l-318 -627h271v-121h-324v-121h324v-123h-324v-311h-237v311h-322v123h322v121h-322v121h268z" />
+<glyph unicode="&#xa6;" horiz-adv-x="522" d="M182 428h158v-940h-158v940zM182 618v918h158v-918h-158z" />
+<glyph unicode="&#xa7;" d="M84 684q0 84 46 151.5t124 112.5q-61 68 -61 168q0 61 21.5 114.5t64.5 92.5t105 61.5t144 22.5q109 0 196 -39t148 -86l-110 -149q-47 41 -103.5 68.5t-117.5 27.5q-72 0 -103.5 -29t-31.5 -74q0 -47 41.5 -78.5t103 -61.5t135.5 -61.5t135.5 -76.5t103.5 -109.5 t42 -156.5q0 -94 -45 -158t-125 -111q25 -33 39 -72.5t14 -90.5q0 -66 -24.5 -120.5t-71.5 -95t-115 -63.5t-152 -23q-111 0 -211 41t-165 119l139 123q51 -51 108.5 -78.5t128.5 -27.5q72 0 110 32.5t38 81.5t-41 82t-102.5 61.5t-132 59.5t-132 75t-102.5 107.5t-41 159.5 zM287 700q0 -57 36.5 -95t93 -68.5t124 -58t129.5 -62.5q47 25 70.5 59.5t23.5 87.5q0 57 -36 97t-92 71t-124 57.5t-129 61.5q-47 -29 -71.5 -64t-24.5 -86z" />
+<glyph unicode="&#xa8;" horiz-adv-x="1124" d="M250 1309q0 51 33.5 86t87.5 35q53 0 87.5 -35t34.5 -86q0 -53 -34.5 -88t-87.5 -35t-87 34.5t-34 88.5zM629 1309q0 51 34.5 86t87.5 35t87 -35t34 -86q0 -53 -34 -88t-87 -35t-87.5 34.5t-34.5 88.5z" />
+<glyph unicode="&#xa9;" horiz-adv-x="1529" d="M96 664q0 158 54.5 282.5t145.5 212.5t213 134t257 46t256 -46t212 -134t145.5 -213t54.5 -282q0 -158 -54.5 -284t-145.5 -215t-212 -137t-256 -48t-257 48t-213 137t-145.5 215t-54.5 284zM215 664q0 -129 43 -235.5t118 -182.5t175 -118t215 -42t215 42t174 118 t117 182.5t43 235.5t-43 234.5t-117 180t-174 115.5t-215 41t-215 -41t-175 -115.5t-118 -180t-43 -234.5zM401 662q0 90 32 162.5t86 122.5t124 78t145 28q92 0 154 -35t111 -84l-92 -103q-39 37 -76 56.5t-84 19.5q-104 0 -163.5 -69.5t-59.5 -175.5q0 -119 58 -189 t157 -70q59 0 102 23t84 57l80 -114q-57 -47 -122 -79t-151 -32q-82 0 -152.5 27.5t-121.5 80t-81 127.5t-30 169z" />
+<glyph unicode="&#xaa;" horiz-adv-x="720" d="M68 715q0 109 93 167t302 76q-4 55 -28.5 88t-86.5 33q-47 0 -97 -19.5t-97 -45.5l-62 112q59 37 132 64t153 27q256 0 256 -291v-394h-137l-17 72h-8q-41 -37 -90.5 -62.5t-108.5 -25.5q-94 0 -149 56.5t-55 142.5zM233 729q1 -82 95 -82q35 0 67.5 17.5t67.5 50.5v143 q-129 -14 -179.5 -48t-50.5 -81z" />
+<glyph unicode="&#xab;" horiz-adv-x="933" d="M96 430v172l277 305l94 -76l-236 -315l236 -317l-94 -74zM452 430v172l277 305l94 -76l-236 -315l236 -317l-94 -74z" />
+<glyph unicode="&#xac;" d="M70 590v172h911v-559h-178v387h-733z" />
+<glyph unicode="&#xad;" horiz-adv-x="659" d="M86 430v172h487v-172h-487z" />
+<glyph unicode="&#xae;" horiz-adv-x="907" d="M57 1053q0 90 31 165.5t85 130t126 84t154 29.5t153.5 -29.5t125.5 -84t85 -130t31 -165.5t-31 -165t-85 -129t-125.5 -84t-153.5 -30t-154 30t-126 84t-85 129t-31 165zM154 1053q0 -72 22.5 -130.5t62.5 -100.5t94 -65.5t120 -23.5q63 0 118.5 23.5t95.5 65.5 t62.5 100.5t22.5 130.5t-22.5 131t-62.5 102t-95.5 66.5t-118.5 23.5q-66 0 -120 -23.5t-94 -66.5t-62.5 -102.5t-22.5 -130.5zM295 854v408h170q68 0 116 -31t48 -103q0 -35 -19.5 -65.5t-56.5 -46.5l90 -162h-108l-68 133h-70v-133h-102zM397 1061h47q35 0 55.5 16.5 t20.5 44.5q0 27 -17.5 44.5t-56.5 17.5h-49v-123z" />
+<glyph unicode="&#xaf;" horiz-adv-x="1124" d="M295 1221v155h532v-155h-532z" />
+<glyph unicode="&#xb0;" horiz-adv-x="712" d="M82 1124q0 61 21.5 112.5t59.5 88.5t88 57.5t107 20.5t107.5 -20.5t88.5 -57.5t59.5 -88t21.5 -113q0 -61 -21.5 -112t-59.5 -88t-88.5 -57.5t-107.5 -20.5t-107 20.5t-88 57.5t-59.5 88t-21.5 112zM213 1124q0 -70 39.5 -113.5t105.5 -43.5t106 44t40 113q0 72 -40 116 t-106 44t-105.5 -44t-39.5 -116z" />
+<glyph unicode="&#xb1;" d="M70 0v170h911v-170h-911zM70 612v170h366v367h178v-367h367v-170h-367v-319h-178v319h-366z" />
+<glyph unicode="&#xb2;" horiz-adv-x="761" d="M68 1565q53 76 126.5 117.5t159.5 41.5q127 0 204 -67.5t77 -196.5q0 -53 -19.5 -102t-54.5 -99.5t-81 -101.5t-99 -106h289v-150h-572v98q172 147 268.5 247.5t96.5 184.5q0 68 -36 107t-99 39q-45 0 -84 -30t-74 -77z" />
+<glyph unicode="&#xb3;" horiz-adv-x="761" d="M63 1036l111 86q74 -109 186 -108q57 0 97.5 30.5t40.5 87.5q0 59 -56.5 91t-162.5 32v105q88 0 138 32.5t50 90.5q0 47 -33 75.5t-88 28.5q-41 0 -79 -24.5t-68 -63.5l-103 90q59 66 124 100.5t155 34.5q53 0 101 -15t85 -43t58.5 -69t21.5 -92q0 -68 -34 -114t-93 -76 q66 -23 112 -71t46 -124q0 -55 -23.5 -100t-64.5 -77t-95.5 -49.5t-113.5 -17.5q-102 0 -182 43t-130 117z" />
+<glyph unicode="&#xb4;" horiz-adv-x="1124" d="M409 1174l185 299h233l-241 -299h-177z" />
+<glyph unicode="&#xb5;" horiz-adv-x="1150" d="M150 -410v1416h235v-600q0 -125 38 -176.5t120 -51.5q66 0 115 33t108 106v689h235v-1006h-194l-16 147h-9q-47 -78 -111.5 -118.5t-142.5 -40.5q-49 0 -88 12t-67 53l12 -184v-279h-235z" />
+<glyph unicode="&#xb6;" horiz-adv-x="1226" d="M82 893q0 125 39 210t107.5 137t161.5 75.5t200 23.5h90v-905h-76q-111 0 -206 27.5t-165.5 85t-110.5 143.5t-40 203zM793 -164v1503h237v-1503h-237z" />
+<glyph unicode="&#xb7;" horiz-adv-x="563" d="M129 657q0 70 44 115t110 45t108.5 -45t42.5 -115t-43 -115t-108 -45q-66 0 -110 45t-44 115z" />
+<glyph unicode="&#xb8;" horiz-adv-x="1124" d="M376 -342q78 10 127.5 31.5t49.5 62.5q0 33 -30 55.5t-95 38.5l82 160h143l-47 -100q51 -18 86 -52t35 -98q0 -49 -27 -83.5t-73 -59.5t-105 -39t-125 -18z" />
+<glyph unicode="&#xb9;" horiz-adv-x="761" d="M168 1503v111q76 12 121 31.5t92 54.5h141v-799h-178v602h-176z" />
+<glyph unicode="&#xba;" horiz-adv-x="755" d="M55 864q0 84 25.5 149.5t71 110.5t102.5 69t123 24q63 0 121.5 -24t103.5 -69t70.5 -110.5t25.5 -149.5q0 -82 -25.5 -146.5t-70.5 -109.5t-103.5 -68.5t-121.5 -23.5q-66 0 -123 23.5t-102.5 68.5t-71 109.5t-25.5 146.5zM229 864q0 -94 38 -152.5t110 -58.5t109.5 58.5 t37.5 152.5q0 98 -37.5 156.5t-109.5 58.5t-110 -58t-38 -157z" />
+<glyph unicode="&#xbb;" horiz-adv-x="933" d="M111 199l233 317l-233 315l92 76l278 -305v-172l-278 -305zM467 199l233 317l-233 315l92 76l278 -305v-172l-278 -305z" />
+<glyph unicode="&#xbc;" horiz-adv-x="1628" d="M115 1143v111q76 12 121 31.5t92 54.5h141v-799h-178v602h-176zM375 -25l731 1389h143l-729 -1389h-145zM944 195v90l311 514h213v-484h119v-120h-119v-195h-158v195h-366zM1116 315h194v113l11 231h-9l-92 -161z" />
+<glyph unicode="&#xbd;" horiz-adv-x="1693" d="M115 1143v111q76 12 121 31.5t92 54.5h141v-799h-178v602h-176zM338 -25l731 1389h143l-729 -1389h-145zM1000 664q53 76 126.5 117.5t159.5 41.5q127 0 204 -67.5t77 -196.5q0 -53 -19.5 -102t-54.5 -99.5t-81 -101.5t-99 -106h289v-150h-572v98q172 147 268.5 247.5 t96.5 184.5q0 68 -36 107t-99 39q-45 0 -84 -30t-74 -77z" />
+<glyph unicode="&#xbe;" horiz-adv-x="1652" d="M61 676l111 86q74 -109 186 -108q57 0 97.5 30.5t40.5 87.5q0 59 -56.5 91t-162.5 32v105q88 0 138 32.5t50 90.5q0 47 -33 75.5t-88 28.5q-41 0 -79 -24.5t-68 -63.5l-103 90q59 66 124 100.5t155 34.5q53 0 101 -15t85 -43t58.5 -69t21.5 -92q0 -68 -34 -114t-93 -76 q66 -23 112 -71t46 -124q0 -55 -23.5 -100t-64.5 -77t-95.5 -49.5t-113.5 -17.5q-102 0 -182 43t-130 117zM434 -25l731 1389h143l-729 -1389h-145zM969 195v90l311 514h213v-484h119v-120h-119v-195h-158v195h-366zM1141 315h194v113l11 231h-9l-92 -161z" />
+<glyph unicode="&#xbf;" horiz-adv-x="909" d="M92 -51q0 66 23.5 118t58.5 99t74 90t70.5 90t50 100.5t12.5 118.5h209q10 -76 -6.5 -136t-46 -111.5t-67.5 -95.5t-71.5 -86t-56.5 -84t-23 -87q0 -72 44.5 -118t123.5 -46q61 0 112.5 30t96.5 77l133 -121q-68 -78 -157.5 -128t-200.5 -50q-84 0 -152.5 21.5t-120 64.5 t-79 106.5t-27.5 147.5zM332 872q0 68 43 113t108 45q66 0 109 -45t43 -113q0 -72 -43 -116.5t-109 -44.5t-108.5 45t-42.5 116z" />
+<glyph unicode="&#xc0;" horiz-adv-x="1136" d="M-8 0l438 1339h279l436 -1339h-252l-105 362h-448l-104 -362h-244zM262 1679h258l172 -237h-190zM393 549h342l-47 164q-31 106 -61.5 218.5t-59.5 223.5h-8q-29 -113 -57.5 -224.5t-61.5 -217.5z" />
+<glyph unicode="&#xc1;" horiz-adv-x="1136" d="M-8 0l438 1339h279l436 -1339h-252l-105 362h-448l-104 -362h-244zM393 549h342l-47 164q-31 106 -61.5 218.5t-59.5 223.5h-8q-29 -113 -57.5 -224.5t-61.5 -217.5zM434 1442l172 237h258l-240 -237h-190z" />
+<glyph unicode="&#xc2;" horiz-adv-x="1136" d="M-8 0l438 1339h279l436 -1339h-252l-105 362h-448l-104 -362h-244zM252 1442l196 237h230l196 -237h-184l-123 131h-8l-123 -131h-184zM393 549h342l-47 164q-31 106 -61.5 218.5t-59.5 223.5h-8q-29 -113 -57.5 -224.5t-61.5 -217.5z" />
+<glyph unicode="&#xc3;" horiz-adv-x="1136" d="M-8 0l438 1339h279l436 -1339h-252l-105 362h-448l-104 -362h-244zM239 1448q12 119 65.5 184.5t131.5 65.5q41 0 75 -15.5t63.5 -34t55 -34t52.5 -15.5q29 0 49 24t31 75h125q-12 -117 -65.5 -183.5t-131.5 -66.5q-41 0 -75 15.5t-63.5 35t-55 34.5t-52.5 15 q-29 0 -49 -24.5t-31 -75.5h-125zM393 549h342l-47 164q-31 106 -61.5 218.5t-59.5 223.5h-8q-29 -113 -57.5 -224.5t-61.5 -217.5z" />
+<glyph unicode="&#xc4;" horiz-adv-x="1136" d="M-8 0l438 1339h279l436 -1339h-252l-105 362h-448l-104 -362h-244zM252 1571q0 53 33.5 88t87.5 35q53 0 87.5 -35t34.5 -88t-34.5 -87t-87.5 -34t-87 34t-34 87zM393 549h342l-47 164q-31 106 -61.5 218.5t-59.5 223.5h-8q-29 -113 -57.5 -224.5t-61.5 -217.5zM631 1571 q0 53 34.5 88t87.5 35t87 -35t34 -88t-34 -87t-87 -34t-87.5 34t-34.5 87z" />
+<glyph unicode="&#xc5;" horiz-adv-x="1136" d="M-8 0l438 1339h279l436 -1339h-252l-105 362h-448l-104 -362h-244zM352 1620q0 86 58.5 138t152.5 52q92 0 151.5 -52t59.5 -138q0 -88 -59.5 -139t-151.5 -51q-94 0 -152.5 51t-58.5 139zM393 549h342l-47 164q-31 106 -61.5 218.5t-59.5 223.5h-8 q-29 -113 -57.5 -224.5t-61.5 -217.5zM473 1620q0 -47 25.5 -71.5t64.5 -24.5q37 0 63.5 24.5t26.5 71.5q0 45 -26.5 70.5t-63.5 25.5q-39 0 -64.5 -25.5t-25.5 -70.5z" />
+<glyph unicode="&#xc6;" horiz-adv-x="1701" d="M-8 0l667 1339h922v-200h-541v-342h453v-201h-453v-395h562v-201h-799v348h-395l-170 -348h-246zM498 535h305v622h-8q-47 -104 -96.5 -206.5t-96.5 -200.5z" />
+<glyph unicode="&#xc7;" horiz-adv-x="1173" d="M96 666q0 164 48.5 294t132 220t196.5 137t242 47q123 0 220 -51t161 -119l-131 -147q-53 51 -111.5 80.5t-136.5 29.5q-82 0 -151.5 -33.5t-120 -96t-78 -153t-27.5 -202.5q0 -229 100.5 -359.5t268.5 -130.5q90 0 157.5 35t124.5 98l131 -145q-82 -94 -185 -144.5 t-232 -50.5q-127 0 -239 45.5t-194 133.5t-129 217t-47 295zM512 -342q78 10 127.5 31.5t49.5 62.5q0 33 -30 55.5t-95 38.5l82 160h143l-47 -100q51 -18 86 -52t35 -98q0 -49 -27 -83.5t-73 -59.5t-105 -39t-125 -18z" />
+<glyph unicode="&#xc8;" horiz-adv-x="1093" d="M168 0v1339h805v-200h-567v-342h481v-201h-481v-395h587v-201h-825zM283 1679h258l172 -237h-190z" />
+<glyph unicode="&#xc9;" horiz-adv-x="1093" d="M168 0v1339h805v-200h-567v-342h481v-201h-481v-395h587v-201h-825zM455 1442l172 237h258l-240 -237h-190z" />
+<glyph unicode="&#xca;" horiz-adv-x="1093" d="M168 0v1339h805v-200h-567v-342h481v-201h-481v-395h587v-201h-825zM273 1442l196 237h230l196 -237h-184l-123 131h-8l-123 -131h-184z" />
+<glyph unicode="&#xcb;" horiz-adv-x="1093" d="M168 0v1339h805v-200h-567v-342h481v-201h-481v-395h587v-201h-825zM273 1571q0 53 33.5 88t87.5 35q53 0 87.5 -35t34.5 -88t-34.5 -87t-87.5 -34t-87 34t-34 87zM652 1571q0 53 34.5 88t87.5 35t87 -35t34 -88t-34 -87t-87 -34t-87.5 34t-34.5 87z" />
+<glyph unicode="&#xcc;" horiz-adv-x="571" d="M-16 1679h258l172 -237h-190zM168 0v1339h238v-1339h-238z" />
+<glyph unicode="&#xcd;" horiz-adv-x="571" d="M156 1442l172 237h258l-240 -237h-190zM168 0v1339h238v-1339h-238z" />
+<glyph unicode="&#xce;" horiz-adv-x="571" d="M-26 1442l196 237h230l196 -237h-184l-123 131h-8l-123 -131h-184zM168 0v1339h238v-1339h-238z" />
+<glyph unicode="&#xcf;" horiz-adv-x="571" d="M-26 1571q0 53 33.5 88t87.5 35q53 0 87.5 -35t34.5 -88t-34.5 -87t-87.5 -34t-87 34t-34 87zM168 0v1339h238v-1339h-238zM353 1571q0 53 34.5 88t87.5 35t87 -35t34 -88t-34 -87t-87 -34t-87.5 34t-34.5 87z" />
+<glyph unicode="&#xd0;" horiz-adv-x="1320" d="M57 637v113l156 8v581h356q307 0 480.5 -165.5t173.5 -497.5q0 -166 -44 -293t-127 -212t-202 -128t-268 -43h-369v637h-156zM451 193h102q205 0 315.5 117.5t110.5 365.5q0 246 -111.5 358.5t-314.5 112.5h-102v-389h282v-121h-282v-444z" />
+<glyph unicode="&#xd1;" horiz-adv-x="1337" d="M168 0v1339h244l415 -753l140 -285h8q-10 104 -20.5 224t-10.5 233v581h225v-1339h-243l-416 754l-139 284h-9q10 -106 20.5 -223t10.5 -229v-586h-225zM348 1448q12 119 65.5 184.5t131.5 65.5q41 0 75 -15.5t63.5 -34t55 -34t52.5 -15.5q29 0 49 24t31 75h125 q-12 -117 -65.5 -183.5t-131.5 -66.5q-41 0 -75 15.5t-63.5 35t-55 34.5t-52.5 15q-29 0 -49 -24.5t-31 -75.5h-125z" />
+<glyph unicode="&#xd2;" horiz-adv-x="1374" d="M96 676q0 162 43 290t122 216t187.5 135t239.5 47t239.5 -47t186.5 -135t121 -216t43 -290q0 -164 -43 -293t-121 -220t-186.5 -139.5t-239.5 -48.5t-239.5 48.5t-187.5 139.5t-122 220t-43 293zM340 676q0 -113 24.5 -204t70.5 -155.5t109.5 -99.5t143.5 -35 q78 0 142.5 35t109.5 99.5t69.5 155.5t24.5 204q0 225 -94 353t-252 128q-160 0 -254 -128t-94 -353zM385 1679h258l172 -237h-190z" />
+<glyph unicode="&#xd3;" horiz-adv-x="1374" d="M96 676q0 162 43 290t122 216t187.5 135t239.5 47t239.5 -47t186.5 -135t121 -216t43 -290q0 -164 -43 -293t-121 -220t-186.5 -139.5t-239.5 -48.5t-239.5 48.5t-187.5 139.5t-122 220t-43 293zM340 676q0 -113 24.5 -204t70.5 -155.5t109.5 -99.5t143.5 -35 q78 0 142.5 35t109.5 99.5t69.5 155.5t24.5 204q0 225 -94 353t-252 128q-160 0 -254 -128t-94 -353zM557 1442l172 237h258l-240 -237h-190z" />
+<glyph unicode="&#xd4;" horiz-adv-x="1374" d="M96 676q0 162 43 290t122 216t187.5 135t239.5 47t239.5 -47t186.5 -135t121 -216t43 -290q0 -164 -43 -293t-121 -220t-186.5 -139.5t-239.5 -48.5t-239.5 48.5t-187.5 139.5t-122 220t-43 293zM340 676q0 -113 24.5 -204t70.5 -155.5t109.5 -99.5t143.5 -35 q78 0 142.5 35t109.5 99.5t69.5 155.5t24.5 204q0 225 -94 353t-252 128q-160 0 -254 -128t-94 -353zM375 1442l196 237h230l196 -237h-184l-123 131h-8l-123 -131h-184z" />
+<glyph unicode="&#xd5;" horiz-adv-x="1374" d="M96 676q0 162 43 290t122 216t187.5 135t239.5 47t239.5 -47t186.5 -135t121 -216t43 -290q0 -164 -43 -293t-121 -220t-186.5 -139.5t-239.5 -48.5t-239.5 48.5t-187.5 139.5t-122 220t-43 293zM340 676q0 -113 24.5 -204t70.5 -155.5t109.5 -99.5t143.5 -35 q78 0 142.5 35t109.5 99.5t69.5 155.5t24.5 204q0 225 -94 353t-252 128q-160 0 -254 -128t-94 -353zM362 1448q12 119 65.5 184.5t131.5 65.5q41 0 75 -15.5t63.5 -34t55 -34t52.5 -15.5q29 0 49 24t31 75h125q-12 -117 -65.5 -183.5t-131.5 -66.5q-41 0 -75 15.5t-63.5 35 t-55 34.5t-52.5 15q-29 0 -49 -24.5t-31 -75.5h-125z" />
+<glyph unicode="&#xd6;" horiz-adv-x="1374" d="M96 676q0 162 43 290t122 216t187.5 135t239.5 47t239.5 -47t186.5 -135t121 -216t43 -290q0 -164 -43 -293t-121 -220t-186.5 -139.5t-239.5 -48.5t-239.5 48.5t-187.5 139.5t-122 220t-43 293zM340 676q0 -113 24.5 -204t70.5 -155.5t109.5 -99.5t143.5 -35 q78 0 142.5 35t109.5 99.5t69.5 155.5t24.5 204q0 225 -94 353t-252 128q-160 0 -254 -128t-94 -353zM375 1571q0 53 33.5 88t87.5 35q53 0 87.5 -35t34.5 -88t-34.5 -87t-87.5 -34t-87 34t-34 87zM754 1571q0 53 34.5 88t87.5 35t87 -35t34 -88t-34 -87t-87 -34t-87.5 34 t-34.5 87z" />
+<glyph unicode="&#xd7;" d="M100 367l303 307l-303 309l121 123l303 -311l305 311l121 -123l-305 -309l305 -307l-121 -123l-305 309l-303 -309z" />
+<glyph unicode="&#xd8;" horiz-adv-x="1374" d="M88 25l141 178q-63 90 -98 207.5t-35 265.5q0 162 43 290t122 216t187.5 135t239.5 47q213 0 361 -119l133 168l125 -98l-150 -191q59 -86 90 -197.5t31 -250.5q0 -164 -43 -293t-121 -220t-186.5 -139.5t-239.5 -48.5q-201 0 -346 111l-127 -160zM340 676 q0 -156 47 -273l520 662q-88 92 -219 92q-160 0 -254 -128t-94 -353zM481 264q86 -82 207 -82q78 0 142.5 35t109.5 99.5t69.5 155.5t24.5 204q0 137 -39 244z" />
+<glyph unicode="&#xd9;" horiz-adv-x="1335" d="M160 588v751h237v-770q0 -109 19.5 -183.5t55.5 -119.5t86 -64.5t112 -19.5q61 0 112.5 19.5t87 64.5t56 120t20.5 183v770h230v-751q0 -166 -36 -282t-101.5 -189.5t-159 -107.5t-209.5 -34q-117 0 -211 34t-161 107.5t-102.5 189.5t-35.5 282zM367 1679h258l172 -237 h-190z" />
+<glyph unicode="&#xda;" horiz-adv-x="1335" d="M160 588v751h237v-770q0 -109 19.5 -183.5t55.5 -119.5t86 -64.5t112 -19.5q61 0 112.5 19.5t87 64.5t56 120t20.5 183v770h230v-751q0 -166 -36 -282t-101.5 -189.5t-159 -107.5t-209.5 -34q-117 0 -211 34t-161 107.5t-102.5 189.5t-35.5 282zM539 1442l172 237h258 l-240 -237h-190z" />
+<glyph unicode="&#xdb;" horiz-adv-x="1335" d="M160 588v751h237v-770q0 -109 19.5 -183.5t55.5 -119.5t86 -64.5t112 -19.5q61 0 112.5 19.5t87 64.5t56 120t20.5 183v770h230v-751q0 -166 -36 -282t-101.5 -189.5t-159 -107.5t-209.5 -34q-117 0 -211 34t-161 107.5t-102.5 189.5t-35.5 282zM357 1442l196 237h230 l196 -237h-184l-123 131h-8l-123 -131h-184z" />
+<glyph unicode="&#xdc;" horiz-adv-x="1335" d="M160 588v751h237v-770q0 -109 19.5 -183.5t55.5 -119.5t86 -64.5t112 -19.5q61 0 112.5 19.5t87 64.5t56 120t20.5 183v770h230v-751q0 -166 -36 -282t-101.5 -189.5t-159 -107.5t-209.5 -34q-117 0 -211 34t-161 107.5t-102.5 189.5t-35.5 282zM357 1571q0 53 33.5 88 t87.5 35q53 0 87.5 -35t34.5 -88t-34.5 -87t-87.5 -34t-87 34t-34 87zM736 1571q0 53 34.5 88t87.5 35t87 -35t34 -88t-34 -87t-87 -34t-87.5 34t-34.5 87z" />
+<glyph unicode="&#xdd;" horiz-adv-x="1019" d="M-12 1339h254l145 -342q29 -76 58.5 -146.5t60.5 -148.5h8q33 78 64.5 149t60.5 146l145 342h248l-403 -841v-498h-238v498zM381 1442l172 237h258l-240 -237h-190z" />
+<glyph unicode="&#xde;" horiz-adv-x="1232" d="M172 0v1339h238v-213h213q111 0 204 -21.5t160.5 -69.5t106.5 -127t39 -195q0 -113 -39 -195t-107.5 -135t-162 -78.5t-201.5 -25.5h-213v-279h-238zM410 469h192q152 0 223.5 60.5t71.5 183.5q0 125 -73.5 174t-221.5 49h-192v-467z" />
+<glyph unicode="&#xdf;" horiz-adv-x="1236" d="M150 0v1026q0 98 28.5 179t83.5 139.5t138 90t194 31.5q92 0 162.5 -26.5t119 -70.5t72 -101.5t23.5 -120.5q0 -76 -26.5 -128t-59.5 -94t-59.5 -81t-26.5 -84q0 -41 28.5 -69.5t70.5 -53.5t92 -50.5t92 -63.5t71 -93t29 -135q0 -68 -23.5 -126t-69 -101t-112 -68 t-150.5 -25q-86 0 -157.5 26t-141.5 71l86 161q104 -80 207 -79q68 0 105 38.5t37 92.5q0 49 -29 81.5t-71 59.5t-91 51.5t-91 58t-70.5 80t-28.5 115.5q0 63 25.5 109.5t55 88.5t55 86t25.5 105q0 70 -37.5 115t-111.5 45q-102 0 -156.5 -73.5t-54.5 -215.5v-991h-233z" />
+<glyph unicode="&#xe0;" horiz-adv-x="1071" d="M106 270q0 162 141.5 250t450.5 123q0 39 -10 75t-31.5 63.5t-55.5 43t-85 15.5q-76 0 -146.5 -29t-136.5 -70l-86 158q84 53 187.5 92t224.5 39q190 0 282.5 -111.5t92.5 -322.5v-596h-193l-18 111h-6q-68 -57 -144.5 -96.5t-166.5 -39.5q-133 0 -216.5 81t-83.5 214z M297 1473h233l185 -299h-177zM336 289q0 -68 40 -98.5t103 -30.5q61 0 112.5 28.5t106.5 81.5v226q-102 -12 -171.5 -33t-111.5 -46.5t-60.5 -58t-18.5 -69.5z" />
+<glyph unicode="&#xe1;" horiz-adv-x="1071" d="M106 270q0 162 141.5 250t450.5 123q0 39 -10 75t-31.5 63.5t-55.5 43t-85 15.5q-76 0 -146.5 -29t-136.5 -70l-86 158q84 53 187.5 92t224.5 39q190 0 282.5 -111.5t92.5 -322.5v-596h-193l-18 111h-6q-68 -57 -144.5 -96.5t-166.5 -39.5q-133 0 -216.5 81t-83.5 214z M336 289q0 -68 40 -98.5t103 -30.5q61 0 112.5 28.5t106.5 81.5v226q-102 -12 -171.5 -33t-111.5 -46.5t-60.5 -58t-18.5 -69.5zM411 1174l185 299h233l-241 -299h-177z" />
+<glyph unicode="&#xe2;" horiz-adv-x="1071" d="M106 270q0 162 141.5 250t450.5 123q0 39 -10 75t-31.5 63.5t-55.5 43t-85 15.5q-76 0 -146.5 -29t-136.5 -70l-86 158q84 53 187.5 92t224.5 39q190 0 282.5 -111.5t92.5 -322.5v-596h-193l-18 111h-6q-68 -57 -144.5 -96.5t-166.5 -39.5q-133 0 -216.5 81t-83.5 214z M272 1174l197 299h188l197 -299h-164l-123 174h-8l-123 -174h-164zM336 289q0 -68 40 -98.5t103 -30.5q61 0 112.5 28.5t106.5 81.5v226q-102 -12 -171.5 -33t-111.5 -46.5t-60.5 -58t-18.5 -69.5z" />
+<glyph unicode="&#xe3;" horiz-adv-x="1071" d="M106 270q0 162 141.5 250t450.5 123q0 39 -10 75t-31.5 63.5t-55.5 43t-85 15.5q-76 0 -146.5 -29t-136.5 -70l-86 158q84 53 187.5 92t224.5 39q190 0 282.5 -111.5t92.5 -322.5v-596h-193l-18 111h-6q-68 -57 -144.5 -96.5t-166.5 -39.5q-133 0 -216.5 81t-83.5 214z M250 1182q12 117 62 182.5t128 65.5q39 0 73 -15.5t62.5 -34t53 -34t49.5 -15.5q53 0 73 99h125q-12 -117 -62 -182.5t-128 -65.5q-41 0 -74 15t-60.5 33.5t-53 34t-50.5 15.5q-53 0 -73 -98h-125zM336 289q0 -68 40 -98.5t103 -30.5q61 0 112.5 28.5t106.5 81.5v226 q-102 -12 -171.5 -33t-111.5 -46.5t-60.5 -58t-18.5 -69.5z" />
+<glyph unicode="&#xe4;" horiz-adv-x="1071" d="M106 270q0 162 141.5 250t450.5 123q0 39 -10 75t-31.5 63.5t-55.5 43t-85 15.5q-76 0 -146.5 -29t-136.5 -70l-86 158q84 53 187.5 92t224.5 39q190 0 282.5 -111.5t92.5 -322.5v-596h-193l-18 111h-6q-68 -57 -144.5 -96.5t-166.5 -39.5q-133 0 -216.5 81t-83.5 214z M252 1309q0 51 33.5 86t87.5 35q53 0 87.5 -35t34.5 -86q0 -53 -34.5 -88t-87.5 -35t-87 34.5t-34 88.5zM336 289q0 -68 40 -98.5t103 -30.5q61 0 112.5 28.5t106.5 81.5v226q-102 -12 -171.5 -33t-111.5 -46.5t-60.5 -58t-18.5 -69.5zM631 1309q0 51 34.5 86t87.5 35 t87 -35t34 -86q0 -53 -34 -88t-87 -35t-87.5 34.5t-34.5 88.5z" />
+<glyph unicode="&#xe5;" horiz-adv-x="1071" d="M106 270q0 162 141.5 250t450.5 123q0 39 -10 75t-31.5 63.5t-55.5 43t-85 15.5q-76 0 -146.5 -29t-136.5 -70l-86 158q84 53 187.5 92t224.5 39q190 0 282.5 -111.5t92.5 -322.5v-596h-193l-18 111h-6q-68 -57 -144.5 -96.5t-166.5 -39.5q-133 0 -216.5 81t-83.5 214z M336 289q0 -68 40 -98.5t103 -30.5q61 0 112.5 28.5t106.5 81.5v226q-102 -12 -171.5 -33t-111.5 -46.5t-60.5 -58t-18.5 -69.5zM352 1315q0 92 58.5 146.5t152.5 54.5t152.5 -54.5t58.5 -146.5q0 -90 -58.5 -144.5t-152.5 -54.5t-152.5 54.5t-58.5 144.5zM473 1315 q0 -47 25.5 -76t64.5 -29t64.5 29t25.5 76t-25.5 76.5t-64.5 29.5t-64.5 -29.5t-25.5 -76.5z" />
+<glyph unicode="&#xe6;" horiz-adv-x="1607" d="M106 270q0 162 140.5 251t445.5 122q-2 39 -11 75t-29.5 63.5t-54.5 43t-85 15.5q-72 0 -142.5 -29t-136.5 -70l-86 158q84 53 184.5 92t211.5 39q104 0 174.5 -48t109.5 -134q61 86 138 134t176 48q96 0 168.5 -36t122 -99.5t75 -152.5t25.5 -193q0 -70 -10 -111h-615 q12 -131 89 -202.5t188 -71.5q66 0 119 21.5t108 56.5l84 -158q-72 -47 -159 -78t-183 -31q-119 0 -205 50.5t-145 121.5q-104 -90 -201.5 -131t-195.5 -41q-133 0 -216.5 81t-83.5 214zM336 289q0 -68 40 -98.5t103 -30.5q59 0 125 31.5t121 87.5q-16 35 -23.5 79.5 t-9.5 90.5l-4 47q-193 -27 -272.5 -78t-79.5 -129zM907 588h422q0 123 -49 191.5t-147 68.5q-86 0 -148.5 -67.5t-77.5 -192.5z" />
+<glyph unicode="&#xe7;" horiz-adv-x="946" d="M84 502q0 125 41 223t110.5 165.5t160.5 103.5t192 36q98 0 170.5 -33.5t124.5 -83.5l-113 -149q-41 35 -82 54.5t-88 19.5q-123 0 -198.5 -91.5t-75.5 -244.5q0 -152 74.5 -243t193.5 -91q61 0 113.5 25.5t93.5 60.5l98 -150q-72 -63 -158 -96t-172 -33q-102 0 -191 35 t-154.5 102.5t-102.5 166t-37 223.5zM376 -342q78 10 127.5 31.5t49.5 62.5q0 33 -30 55.5t-95 38.5l82 160h143l-47 -100q51 -18 86 -52t35 -98q0 -49 -27 -83.5t-73 -59.5t-105 -39t-125 -18z" />
+<glyph unicode="&#xe8;" horiz-adv-x="1038" d="M84 502q0 123 39 221t103.5 165.5t148.5 104.5t172 37q102 0 180 -34.5t130 -98t79 -152t27 -192.5q0 -70 -11 -111h-639q16 -137 95 -210.5t202 -73.5q66 0 122 19.5t112 53.5l80 -147q-72 -47 -160 -78t-184 -31q-104 0 -194.5 36t-158 103.5t-105.5 165t-38 222.5z M281 1473h233l185 -299h-177zM311 592h447q0 121 -50.5 188.5t-154.5 67.5q-90 0 -157.5 -64.5t-84.5 -191.5z" />
+<glyph unicode="&#xe9;" horiz-adv-x="1038" d="M84 502q0 123 39 221t103.5 165.5t148.5 104.5t172 37q102 0 180 -34.5t130 -98t79 -152t27 -192.5q0 -70 -11 -111h-639q16 -137 95 -210.5t202 -73.5q66 0 122 19.5t112 53.5l80 -147q-72 -47 -160 -78t-184 -31q-104 0 -194.5 36t-158 103.5t-105.5 165t-38 222.5z M311 592h447q0 121 -50.5 188.5t-154.5 67.5q-90 0 -157.5 -64.5t-84.5 -191.5zM395 1174l185 299h233l-241 -299h-177z" />
+<glyph unicode="&#xea;" horiz-adv-x="1038" d="M84 502q0 123 39 221t103.5 165.5t148.5 104.5t172 37q102 0 180 -34.5t130 -98t79 -152t27 -192.5q0 -70 -11 -111h-639q16 -137 95 -210.5t202 -73.5q66 0 122 19.5t112 53.5l80 -147q-72 -47 -160 -78t-184 -31q-104 0 -194.5 36t-158 103.5t-105.5 165t-38 222.5z M256 1174l197 299h188l197 -299h-164l-123 174h-8l-123 -174h-164zM311 592h447q0 121 -50.5 188.5t-154.5 67.5q-90 0 -157.5 -64.5t-84.5 -191.5z" />
+<glyph unicode="&#xeb;" horiz-adv-x="1038" d="M84 502q0 123 39 221t103.5 165.5t148.5 104.5t172 37q102 0 180 -34.5t130 -98t79 -152t27 -192.5q0 -70 -11 -111h-639q16 -137 95 -210.5t202 -73.5q66 0 122 19.5t112 53.5l80 -147q-72 -47 -160 -78t-184 -31q-104 0 -194.5 36t-158 103.5t-105.5 165t-38 222.5z M236 1309q0 51 33.5 86t87.5 35q53 0 87.5 -35t34.5 -86q0 -53 -34.5 -88t-87.5 -35t-87 34.5t-34 88.5zM311 592h447q0 121 -50.5 188.5t-154.5 67.5q-90 0 -157.5 -64.5t-84.5 -191.5zM615 1309q0 51 34.5 86t87.5 35t87 -35t34 -86q0 -53 -34 -88t-87 -35t-87.5 34.5 t-34.5 88.5z" />
+<glyph unicode="&#xec;" horiz-adv-x="536" d="M2 1473h233l185 -299h-177zM150 0v1006h235v-1006h-235z" />
+<glyph unicode="&#xed;" horiz-adv-x="536" d="M116 1174l185 299h233l-241 -299h-177zM150 0v1006h235v-1006h-235z" />
+<glyph unicode="&#xee;" horiz-adv-x="536" d="M-23 1174l197 299h188l197 -299h-164l-123 174h-8l-123 -174h-164zM150 0v1006h235v-1006h-235z" />
+<glyph unicode="&#xef;" horiz-adv-x="536" d="M-43 1309q0 51 33.5 86t87.5 35q53 0 87.5 -35t34.5 -86q0 -53 -34.5 -88t-87.5 -35t-87 34.5t-34 88.5zM150 0v1006h235v-1006h-235zM336 1309q0 51 34.5 86t87.5 35t87 -35t34 -86q0 -53 -34 -88t-87 -35t-87.5 34.5t-34.5 88.5z" />
+<glyph unicode="&#xf0;" horiz-adv-x="1130" d="M98 461q0 106 34 192t91.5 146.5t133 92.5t159.5 32q70 0 134.5 -26t111.5 -85q-29 104 -78 184t-119 148l-291 -148l-63 109l250 127q-47 35 -98.5 65.5t-108.5 61.5l104 145q74 -39 145.5 -83t137.5 -97l293 150l63 -111l-254 -129q121 -123 199 -293t78 -405 q0 -123 -33 -226.5t-93 -178.5t-146 -116t-193 -41q-92 0 -174 34t-145.5 96.5t-100.5 152.5t-37 203zM315 461q0 -68 19.5 -122t53.5 -92t79 -58.5t94 -20.5q113 0 174.5 93t61.5 263q0 27 -1 52.5t-3 50.5q-55 70 -113.5 94t-120.5 24q-113 0 -178.5 -75.5t-65.5 -208.5z " />
+<glyph unicode="&#xf1;" horiz-adv-x="1146" d="M150 0v1006h194l16 -136h9q68 66 146.5 113t182.5 47q162 0 236 -103.5t74 -295.5v-631h-236v600q0 125 -37 176t-121 51q-66 0 -115.5 -31.5t-113.5 -93.5v-702h-235zM301 1182q12 117 62 182.5t128 65.5q39 0 73 -15.5t62.5 -34t53 -34t49.5 -15.5q53 0 73 99h125 q-12 -117 -62 -182.5t-128 -65.5q-41 0 -74 15t-60.5 33.5t-53 34t-50.5 15.5q-53 0 -73 -98h-125z" />
+<glyph unicode="&#xf2;" horiz-adv-x="1124" d="M84 502q0 125 39 223t105.5 165.5t152.5 103.5t180 36t181 -36t153 -103.5t105.5 -165.5t39.5 -223t-39.5 -223.5t-105.5 -166t-153 -102.5t-181 -35t-180 35t-152.5 102.5t-105.5 166t-39 223.5zM295 1473h233l185 -299h-177zM326 502q0 -152 62.5 -243t172.5 -91 q111 0 174.5 91t63.5 243q0 154 -63.5 245t-174.5 91t-173 -91t-62 -245z" />
+<glyph unicode="&#xf3;" horiz-adv-x="1124" d="M84 502q0 125 39 223t105.5 165.5t152.5 103.5t180 36t181 -36t153 -103.5t105.5 -165.5t39.5 -223t-39.5 -223.5t-105.5 -166t-153 -102.5t-181 -35t-180 35t-152.5 102.5t-105.5 166t-39 223.5zM326 502q0 -152 62.5 -243t172.5 -91q111 0 174.5 91t63.5 243 q0 154 -63.5 245t-174.5 91t-173 -91t-62 -245zM409 1174l185 299h233l-241 -299h-177z" />
+<glyph unicode="&#xf4;" horiz-adv-x="1124" d="M84 502q0 125 39 223t105.5 165.5t152.5 103.5t180 36t181 -36t153 -103.5t105.5 -165.5t39.5 -223t-39.5 -223.5t-105.5 -166t-153 -102.5t-181 -35t-180 35t-152.5 102.5t-105.5 166t-39 223.5zM270 1174l197 299h188l197 -299h-164l-123 174h-8l-123 -174h-164z M326 502q0 -152 62.5 -243t172.5 -91q111 0 174.5 91t63.5 243q0 154 -63.5 245t-174.5 91t-173 -91t-62 -245z" />
+<glyph unicode="&#xf5;" horiz-adv-x="1124" d="M84 502q0 125 39 223t105.5 165.5t152.5 103.5t180 36t181 -36t153 -103.5t105.5 -165.5t39.5 -223t-39.5 -223.5t-105.5 -166t-153 -102.5t-181 -35t-180 35t-152.5 102.5t-105.5 166t-39 223.5zM248 1182q12 117 62 182.5t128 65.5q39 0 73 -15.5t62.5 -34t53 -34 t49.5 -15.5q53 0 73 99h125q-12 -117 -62 -182.5t-128 -65.5q-41 0 -74 15t-60.5 33.5t-53 34t-50.5 15.5q-53 0 -73 -98h-125zM326 502q0 -152 62.5 -243t172.5 -91q111 0 174.5 91t63.5 243q0 154 -63.5 245t-174.5 91t-173 -91t-62 -245z" />
+<glyph unicode="&#xf6;" horiz-adv-x="1124" d="M84 502q0 125 39 223t105.5 165.5t152.5 103.5t180 36t181 -36t153 -103.5t105.5 -165.5t39.5 -223t-39.5 -223.5t-105.5 -166t-153 -102.5t-181 -35t-180 35t-152.5 102.5t-105.5 166t-39 223.5zM250 1309q0 51 33.5 86t87.5 35q53 0 87.5 -35t34.5 -86q0 -53 -34.5 -88 t-87.5 -35t-87 34.5t-34 88.5zM326 502q0 -152 62.5 -243t172.5 -91q111 0 174.5 91t63.5 243q0 154 -63.5 245t-174.5 91t-173 -91t-62 -245zM629 1309q0 51 34.5 86t87.5 35t87 -35t34 -86q0 -53 -34 -88t-87 -35t-87.5 34.5t-34.5 88.5z" />
+<glyph unicode="&#xf7;" d="M70 590v172h911v-172h-911zM385 307q0 59 40 96t99 37t99.5 -36.5t40.5 -96.5q0 -59 -40 -97t-100 -38q-59 0 -99 38t-40 97zM385 1044q0 59 40 96.5t99 37.5t99.5 -37t40.5 -97q0 -59 -40.5 -97t-99.5 -38t-99 38t-40 97z" />
+<glyph unicode="&#xf8;" horiz-adv-x="1124" d="M84 502q0 125 39 223t105.5 165.5t152.5 103.5t180 36q158 0 279 -90l96 117l94 -74l-102 -127q53 -66 82.5 -155t29.5 -199q0 -125 -39.5 -223.5t-105.5 -166t-153 -102.5t-181 -35q-76 0 -147.5 22.5t-130.5 68.5l-95 -115l-94 74l103 125q-53 66 -83 153.5t-30 198.5z M313 514q0 -106 29 -186l373 458q-63 59 -154 60q-111 0 -179.5 -92t-68.5 -240zM408 221q61 -61 153 -61q111 0 180.5 91t69.5 238q0 109 -29 189z" />
+<glyph unicode="&#xf9;" horiz-adv-x="1138" d="M139 375v631h236v-600q0 -125 37 -176.5t118 -51.5q66 0 116 33t108 106v689h235v-1006h-192l-19 147h-6q-66 -78 -142.5 -125t-180.5 -47q-162 0 -236 103.5t-74 296.5zM305 1473h233l185 -299h-177z" />
+<glyph unicode="&#xfa;" horiz-adv-x="1138" d="M139 375v631h236v-600q0 -125 37 -176.5t118 -51.5q66 0 116 33t108 106v689h235v-1006h-192l-19 147h-6q-66 -78 -142.5 -125t-180.5 -47q-162 0 -236 103.5t-74 296.5zM419 1174l185 299h233l-241 -299h-177z" />
+<glyph unicode="&#xfb;" horiz-adv-x="1138" d="M139 375v631h236v-600q0 -125 37 -176.5t118 -51.5q66 0 116 33t108 106v689h235v-1006h-192l-19 147h-6q-66 -78 -142.5 -125t-180.5 -47q-162 0 -236 103.5t-74 296.5zM280 1174l197 299h188l197 -299h-164l-123 174h-8l-123 -174h-164z" />
+<glyph unicode="&#xfc;" horiz-adv-x="1138" d="M139 375v631h236v-600q0 -125 37 -176.5t118 -51.5q66 0 116 33t108 106v689h235v-1006h-192l-19 147h-6q-66 -78 -142.5 -125t-180.5 -47q-162 0 -236 103.5t-74 296.5zM260 1309q0 51 33.5 86t87.5 35q53 0 87.5 -35t34.5 -86q0 -53 -34.5 -88t-87.5 -35t-87 34.5 t-34 88.5zM639 1309q0 51 34.5 86t87.5 35t87 -35t34 -86q0 -53 -34 -88t-87 -35t-87.5 34.5t-34.5 88.5z" />
+<glyph unicode="&#xfd;" horiz-adv-x="1013" d="M25 1006h239l174 -494q23 -66 44.5 -138.5t43.5 -144.5h9q18 70 37.5 142.5t37.5 140.5l152 494h227l-364 -1051q-31 -86 -68 -153.5t-85 -115.5t-110.5 -74t-144.5 -26q-41 0 -71.5 5.5t-59.5 15.5l43 184q14 -4 33.5 -9t38.5 -5q80 0 128 48t72 124l19 63zM370 1174 l185 299h233l-241 -299h-177z" />
+<glyph unicode="&#xfe;" horiz-adv-x="1155" d="M150 -397v1843h235v-373l-4 -158q59 49 130 82t148 33q96 0 172 -36t128.5 -103.5t80 -161.5t27.5 -211q0 -129 -36 -230.5t-95 -170t-137 -105.5t-162 -37q-72 0 -134.5 27t-121.5 76l4 -160v-315h-235zM385 254q55 -47 106.5 -65.5t96.5 -18.5q100 0 167.5 87t67.5 259 q0 152 -51 236t-166 84q-106 0 -221 -113v-469z" />
+<glyph unicode="&#xff;" horiz-adv-x="1013" d="M25 1006h239l174 -494q23 -66 44.5 -138.5t43.5 -144.5h9q18 70 37.5 142.5t37.5 140.5l152 494h227l-364 -1051q-31 -86 -68 -153.5t-85 -115.5t-110.5 -74t-144.5 -26q-41 0 -71.5 5.5t-59.5 15.5l43 184q14 -4 33.5 -9t38.5 -5q80 0 128 48t72 124l19 63zM211 1309 q0 51 33.5 86t87.5 35q53 0 87.5 -35t34.5 -86q0 -53 -34.5 -88t-87.5 -35t-87 34.5t-34 88.5zM590 1309q0 51 34.5 86t87.5 35t87 -35t34 -86q0 -53 -34 -88t-87 -35t-87.5 34.5t-34.5 88.5z" />
+<glyph unicode="&#x152;" horiz-adv-x="1753" d="M96 676q0 166 48.5 290t136.5 206.5t211.5 124.5t275.5 42h864v-200h-538v-342h450v-201h-450v-395h559v-201h-897q-147 0 -269 43t-208 128t-134.5 212t-48.5 293zM340 676q0 -250 116.5 -366.5t327.5 -116.5h72v954h-72q-209 0 -326.5 -111.5t-117.5 -359.5z" />
+<glyph unicode="&#x153;" horiz-adv-x="1699" d="M84 502q0 125 38 223t101.5 165.5t147.5 103.5t178 36q111 0 200 -55t144 -158q59 100 147 156.5t189 56.5q96 0 171 -36t125 -99.5t75.5 -152.5t25.5 -193q0 -35 -3 -63.5t-7 -47.5h-621q12 -131 90 -202.5t189 -71.5q66 0 120 21.5t109 56.5l84 -158q-72 -47 -160 -78 t-186 -31q-104 0 -194.5 56.5t-149.5 156.5q-61 -104 -148 -158.5t-204 -54.5q-94 0 -178 35t-146.5 102.5t-99.5 166t-37 223.5zM324 502q0 -152 61 -243t164 -91q104 0 165.5 91t61.5 243q0 154 -61.5 245t-165.5 91q-102 0 -163.5 -91t-61.5 -245zM995 588h426 q0 123 -50 191.5t-148 68.5q-88 0 -150.5 -67.5t-77.5 -192.5z" />
+<glyph unicode="&#x178;" horiz-adv-x="1019" d="M-12 1339h254l145 -342q29 -76 58.5 -146.5t60.5 -148.5h8q33 78 64.5 149t60.5 146l145 342h248l-403 -841v-498h-238v498zM199 1571q0 53 33.5 88t87.5 35q53 0 87.5 -35t34.5 -88t-34.5 -87t-87.5 -34t-87 34t-34 87zM578 1571q0 53 34.5 88t87.5 35t87 -35t34 -88 t-34 -87t-87 -34t-87.5 34t-34.5 87z" />
+<glyph unicode="&#x2c6;" horiz-adv-x="1124" d="M270 1174l197 299h188l197 -299h-164l-123 174h-8l-123 -174h-164z" />
+<glyph unicode="&#x2dc;" horiz-adv-x="1124" d="M248 1182q12 117 62 182.5t128 65.5q39 0 73 -15.5t62.5 -34t53 -34t49.5 -15.5q53 0 73 99h125q-12 -117 -62 -182.5t-128 -65.5q-41 0 -74 15t-60.5 33.5t-53 34t-50.5 15.5q-53 0 -73 -98h-125z" />
+<glyph unicode="&#x2000;" horiz-adv-x="905" />
+<glyph unicode="&#x2001;" horiz-adv-x="1810" />
+<glyph unicode="&#x2002;" horiz-adv-x="905" />
+<glyph unicode="&#x2003;" horiz-adv-x="1810" />
+<glyph unicode="&#x2004;" horiz-adv-x="603" />
+<glyph unicode="&#x2005;" horiz-adv-x="452" />
+<glyph unicode="&#x2006;" horiz-adv-x="301" />
+<glyph unicode="&#x2007;" horiz-adv-x="301" />
+<glyph unicode="&#x2008;" horiz-adv-x="226" />
+<glyph unicode="&#x2009;" horiz-adv-x="362" />
+<glyph unicode="&#x200a;" horiz-adv-x="100" />
+<glyph unicode="&#x2010;" horiz-adv-x="659" d="M86 430v172h487v-172h-487z" />
+<glyph unicode="&#x2011;" horiz-adv-x="659" d="M86 430v172h487v-172h-487z" />
+<glyph unicode="&#x2012;" horiz-adv-x="659" d="M86 430v172h487v-172h-487z" />
+<glyph unicode="&#x2013;" horiz-adv-x="983" d="M86 438v156h811v-156h-811z" />
+<glyph unicode="&#x2014;" horiz-adv-x="1638" d="M86 438v156h1466v-156h-1466z" />
+<glyph unicode="&#x2018;" horiz-adv-x="563" d="M115 1010q0 268 254 401l57 -104q-86 -49 -128 -107.5t-42 -150.5q6 2 18 2q55 0 95.5 -34t40.5 -93q0 -66 -38 -104t-98 -38q-78 0 -118.5 59.5t-40.5 168.5z" />
+<glyph unicode="&#x2019;" horiz-adv-x="563" d="M137 905q86 49 128 107.5t42 150.5q-6 -2 -18 -2q-53 0 -93 34t-40 93q0 66 36.5 104t96.5 38q78 0 120 -59.5t42 -168.5q0 -268 -256 -401z" />
+<glyph unicode="&#x201a;" horiz-adv-x="563" d="M137 -215q86 49 128 107.5t42 150.5q-6 -2 -18 -2q-53 0 -93 34t-40 93q0 66 36.5 104t96.5 38q78 0 120 -59.5t42 -168.5q0 -268 -256 -401z" />
+<glyph unicode="&#x201c;" horiz-adv-x="987" d="M115 1010q0 268 254 401l57 -104q-86 -49 -128 -107.5t-42 -150.5q6 2 18 2q55 0 95.5 -34t40.5 -93q0 -66 -38 -104t-98 -38q-78 0 -118.5 59.5t-40.5 168.5zM539 1010q0 268 254 401l57 -104q-86 -49 -128 -107.5t-42 -150.5q6 2 18 2q55 0 95.5 -34t40.5 -93 q0 -66 -38 -104t-98 -38q-78 0 -118.5 59.5t-40.5 168.5z" />
+<glyph unicode="&#x201d;" horiz-adv-x="987" d="M137 905q86 49 128 107.5t42 150.5q-6 -2 -18 -2q-53 0 -93 34t-40 93q0 66 36.5 104t96.5 38q78 0 120 -59.5t42 -168.5q0 -268 -256 -401zM561 905q86 49 128 107.5t42 150.5q-6 -2 -18 -2q-53 0 -93 34t-40 93q0 66 36.5 104t96.5 38q78 0 120 -59.5t42 -168.5 q0 -268 -256 -401z" />
+<glyph unicode="&#x201e;" horiz-adv-x="987" d="M137 -215q86 49 128 107.5t42 150.5q-6 -2 -18 -2q-53 0 -93 34t-40 93q0 66 36.5 104t96.5 38q78 0 120 -59.5t42 -168.5q0 -268 -256 -401zM561 -215q86 49 128 107.5t42 150.5q-6 -2 -18 -2q-53 0 -93 34t-40 93q0 66 36.5 104t96.5 38q78 0 120 -59.5t42 -168.5 q0 -268 -256 -401z" />
+<glyph unicode="&#x2022;" horiz-adv-x="665" d="M82 539q0 57 19.5 106t53 84t80 55.5t97.5 20.5t97 -20.5t81 -55.5t54.5 -84t19.5 -106q0 -59 -19.5 -107.5t-54.5 -84.5t-81 -55.5t-97 -19.5t-97.5 19.5t-80 55.5t-53 84t-19.5 108z" />
+<glyph unicode="&#x2026;" horiz-adv-x="1972" d="M174 135q0 70 44 115t110 45t108.5 -45t42.5 -115t-43 -115t-108 -45q-66 0 -110 45t-44 115zM856 135q0 70 44 115t110 45t108.5 -45t42.5 -115t-43 -115t-108 -45q-66 0 -110 45t-44 115zM1538 135q0 70 44 115t110 45t108.5 -45t42.5 -115t-43 -115t-108 -45 q-66 0 -110 45t-44 115z" />
+<glyph unicode="&#x202f;" horiz-adv-x="362" />
+<glyph unicode="&#x2039;" horiz-adv-x="577" d="M96 430v172l277 305l94 -76l-236 -315l236 -317l-94 -74z" />
+<glyph unicode="&#x203a;" horiz-adv-x="577" d="M111 199l233 317l-233 315l92 76l278 -305v-172l-278 -305z" />
+<glyph unicode="&#x205f;" horiz-adv-x="452" />
+<glyph unicode="&#x20ac;" d="M45 461v114l117 9q-2 16 -2 31.5v31.5v30.5t2 29.5h-117v114l129 8q20 119 66.5 211.5t114 156t153.5 97t188 33.5q92 0 176 -43t144 -117l-133 -129q-41 47 -87 76t-106 29q-111 0 -182.5 -82t-95.5 -230h479v-124h-492q-2 -12 -2 -24.5v-27.5v-35.5t2 -33.5h410v-125 h-395q29 -143 98.5 -222t173.5 -79q66 0 117 32.5t98 96.5l133 -123q-72 -92 -161 -141.5t-201 -49.5q-188 0 -322.5 125t-175.5 361h-129z" />
+<glyph unicode="&#x2122;" horiz-adv-x="1351" d="M6 1239v145h543v-145h-193v-494h-159v494h-191zM641 745v639h190l87 -206l49 -150h8l49 150l84 206h190v-639h-155v238l18 225h-8l-127 -366h-113l-127 366h-8l19 -225v-238h-156z" />
+<glyph unicode="&#xe000;" horiz-adv-x="1003" d="M0 0v1004h1004v-1004h-1004z" />
+<glyph unicode="&#xfb01;" horiz-adv-x="1222" d="M55 819v176l135 11v104q0 78 18.5 144.5t59.5 114.5t103.5 74.5t152.5 26.5q53 0 101.5 -10t83.5 -24l-45 -176q-55 25 -111 24q-127 0 -127 -170v-108h197v-187h-197v-819h-236v819h-135zM809 1315q0 59 41 97t104 38t104.5 -38t41.5 -97t-41.5 -96t-104.5 -37 t-104 36.5t-41 96.5zM836 0v1006h235v-1006h-235z" />
+<glyph unicode="&#xfb02;" horiz-adv-x="1204" d="M55 819v176l135 11v104q0 78 18.5 144.5t59.5 114.5t103.5 74.5t152.5 26.5q53 0 101.5 -10t83.5 -24l-45 -176q-55 25 -111 24q-127 0 -127 -170v-108h197v-187h-197v-819h-236v819h-135zM799 258v1188h235v-1200q0 -43 16.5 -60.5t34.5 -17.5h15.5t21.5 4l31 -176 q-47 -20 -125 -21q-127 0 -178 76t-51 207z" />
+</font>
+</defs></svg> 
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-600-normal-webfont.ttf b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-600-normal-webfont.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..680103c671287a1a1feecc46cec6cc5295e7131c
Binary files /dev/null and b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-600-normal-webfont.ttf differ
diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-600-normal-webfont.woff b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-600-normal-webfont.woff
new file mode 100644
index 0000000000000000000000000000000000000000..56e335d010688e27340f16f8f78c343e848f6a0b
Binary files /dev/null and b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-600-normal-webfont.woff differ
diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-700-normal-webfont.eot b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-700-normal-webfont.eot
new file mode 100644
index 0000000000000000000000000000000000000000..d0743324939c117b1e014f7e4be16affd4032b83
Binary files /dev/null and b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-700-normal-webfont.eot differ
diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-700-normal-webfont.svg b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-700-normal-webfont.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fcd05c3683a41e972344c1fbf1daf0a47c7b1460
--- /dev/null
+++ b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-700-normal-webfont.svg
@@ -0,0 +1,245 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata></metadata>
+<defs>
+<font id="source_sans_probold" horiz-adv-x="1081" >
+<font-face units-per-em="2048" ascent="1536" descent="-512" />
+<missing-glyph horiz-adv-x="425" />
+<glyph horiz-adv-x="0" />
+<glyph horiz-adv-x="682" />
+<glyph horiz-adv-x="0" />
+<glyph horiz-adv-x="0" />
+<glyph unicode="&#xd;" horiz-adv-x="425" />
+<glyph unicode=" "  horiz-adv-x="425" />
+<glyph unicode="&#x09;" horiz-adv-x="425" />
+<glyph unicode="&#xa0;" horiz-adv-x="425" />
+<glyph unicode="!" horiz-adv-x="696" d="M166 164q0 82 52 136t130 54t130 -54t52 -136q0 -80 -52 -134.5t-130 -54.5t-130 54.5t-52 134.5zM197 1372h303l-11 -272l-43 -627h-196l-43 627z" />
+<glyph unicode="&#x22;" horiz-adv-x="1097" d="M156 1405h303l-10 -272l-60 -408h-164l-59 408zM639 1405h303l-10 -272l-60 -408h-164l-59 408z" />
+<glyph unicode="#" d="M70 383v192h174l28 226h-161v192h186l43 338h172l-41 -338h213l43 338h172l-41 -338h162v-192h-186l-27 -226h172v-192h-195l-47 -383h-174l45 383h-211l-47 -383h-174l45 383h-151zM420 575h211l28 226h-213z" />
+<glyph unicode="$" d="M80 135l131 203q78 -59 148.5 -89t144.5 -30q86 0 126 35t40 106q0 53 -40 90t-100.5 71t-130 68t-130 81t-100.5 110.5t-40 155.5q0 152 83 251t228 128v211h199v-207q98 -14 172 -59.5t133 -108.5l-151 -172q-55 51 -106.5 76.5t-117.5 25.5q-74 0 -112.5 -30.5 t-38.5 -100.5q0 -49 40 -82.5t100 -64.5t130 -63.5t130.5 -80t100 -114t39.5 -164.5q0 -147 -79.5 -252.5t-239.5 -140.5v-213h-199v205q-90 10 -189 50t-171 105z" />
+<glyph unicode="%" horiz-adv-x="1755" d="M53 938q0 100 24.5 178t68.5 132.5t105.5 83t133.5 28.5t133.5 -28.5t105.5 -83t69.5 -132t25.5 -178.5q0 -100 -25.5 -179t-69.5 -134t-105.5 -84t-133.5 -29t-133.5 29t-105.5 84t-68.5 134t-24.5 179zM262 938q0 -143 36 -200.5t87 -57.5t87 57.5t36 200.5t-36 198.5 t-87 55.5t-87 -55t-36 -199zM430 -25l721 1385h174l-721 -1385h-174zM1038 401q0 100 24.5 178t68.5 132.5t105.5 83t133.5 28.5t133.5 -28.5t105.5 -83t69.5 -132t25.5 -178.5q0 -100 -25.5 -179t-69.5 -134t-105.5 -84t-133.5 -29t-133.5 29t-105.5 84t-68.5 134 t-24.5 179zM1247 401q0 -143 36 -200.5t87 -57.5t87 57.5t36 200.5t-36 198.5t-87 55.5t-87 -55t-36 -199z" />
+<glyph unicode="&#x26;" horiz-adv-x="1366" d="M51 356q0 70 19.5 126.5t53.5 101.5t78 81.5t93 67.5q-39 72 -60.5 142.5t-21.5 134.5q0 72 25.5 135t72.5 111.5t114 76t150 27.5q152 0 240 -82t88 -221q0 -66 -23.5 -120t-63.5 -100t-90 -85t-101 -74q57 -66 125.5 -128.5t142.5 -115.5q51 66 90 145.5t64 174.5h274 q-37 -123 -91 -234.5t-132 -216.5q63 -33 121.5 -54.5t109.5 -29.5l-72 -244q-84 16 -170 51t-172 85q-86 -63 -189 -99.5t-230 -36.5q-109 0 -192 31t-139 83t-85 121t-29 146zM336 375q0 -76 54 -123t145 -47q82 0 170 53q-78 63 -149 133t-130 144q-41 -35 -65.5 -74 t-24.5 -86zM461 1012q0 -37 11 -78t32 -82q72 43 121 90t49 115q0 47 -22.5 75.5t-69.5 28.5q-51 0 -86 -39.5t-35 -109.5z" />
+<glyph unicode="'" horiz-adv-x="614" d="M156 1405h303l-10 -272l-60 -408h-164l-59 408z" />
+<glyph unicode="(" horiz-adv-x="704" d="M147 569q0 270 71 497.5t200 438.5l188 -78q-113 -201 -164 -420t-51 -438t51.5 -438t163.5 -420l-188 -78q-129 211 -200 438.5t-71 497.5z" />
+<glyph unicode=")" horiz-adv-x="704" d="M98 -289q115 201 166 420t51 438t-51 438.5t-166 419.5l189 78q129 -211 199.5 -438t70.5 -498q0 -270 -70.5 -497.5t-199.5 -438.5z" />
+<glyph unicode="*" horiz-adv-x="935" d="M78 1118l47 148l237 -49l27 241h158l26 -244l236 52l49 -148l-221 -100l121 -213l-125 -90l-164 182l-166 -182l-125 90l121 213z" />
+<glyph unicode="+" d="M70 569v213h360v377h221v-377h361v-213h-361v-376h-221v376h-360z" />
+<glyph unicode="," horiz-adv-x="614" d="M94 -238q113 41 172.5 106.5t59.5 143.5h-17q-72 0 -127 44t-55 126q0 78 55.5 125t132.5 47q102 0 155.5 -74.5t53.5 -209.5q0 -170 -94 -292t-274 -175z" />
+<glyph unicode="-" horiz-adv-x="679" d="M88 412v213h504v-213h-504z" />
+<glyph unicode="." horiz-adv-x="614" d="M125 164q0 82 52 136t130 54t130 -54t52 -136q0 -80 -52 -134.5t-130 -54.5t-130 54.5t-52 134.5z" />
+<glyph unicode="/" horiz-adv-x="694" d="M27 -328l411 1782h197l-412 -1782h-196z" />
+<glyph unicode="0" d="M76 655q0 166 33.5 291t94 210t146.5 127t191 42q104 0 190 -42t146.5 -127t94.5 -210t34 -291t-34 -292.5t-94.5 -213t-146.5 -130.5t-190 -44t-190.5 44t-147 130.5t-94 213t-33.5 292.5zM360 655q0 -133 14.5 -219t39 -137t57.5 -70.5t70 -19.5q39 0 71.5 19.5 t57 70.5t38 137t13.5 219t-13.5 218t-38 133.5t-57 67t-71.5 18.5q-37 0 -70 -18.5t-57.5 -67t-39 -133.5t-14.5 -218z" />
+<glyph unicode="1" d="M143 0v244h283v751h-244v187q106 20 180 49t144 69h221v-1056h244v-244h-828z" />
+<glyph unicode="2" d="M61 1118q96 102 196.5 154.5t240.5 52.5q96 0 175 -29.5t136 -84t88 -130t31 -170.5q0 -82 -35 -167t-93.5 -170t-133 -170t-154.5 -166q49 6 109.5 11t107.5 5h262v-254h-915v172q125 117 228.5 218.5t178 190.5t116.5 165.5t42 146.5q0 96 -49 146.5t-135 50.5 q-72 0 -127.5 -40t-104.5 -94z" />
+<glyph unicode="3" d="M45 160l139 190q59 -57 130 -94t155 -37q96 0 153.5 40t57.5 114q0 43 -15.5 77.5t-54.5 58t-106.5 37t-173.5 13.5v213q88 0 146.5 12.5t94 36t51 55t15.5 70.5q0 68 -41 106t-119 38q-70 0 -126 -31t-118 -84l-151 184q90 78 189.5 122t220.5 44q100 0 183 -23.5 t141 -69.5t91 -111.5t33 -151.5q0 -102 -56.5 -173t-160.5 -116v-8q113 -33 185.5 -112t72.5 -206q0 -90 -39 -160.5t-104.5 -118.5t-153.5 -74t-186 -26q-160 0 -270.5 50.5t-182.5 134.5z" />
+<glyph unicode="4" d="M39 311v207l475 782h369v-759h149v-230h-149v-311h-281v311h-563zM328 541h274v211q0 63 4 146t8 144h-8q-25 -53 -51.5 -108t-54.5 -111z" />
+<glyph unicode="5" d="M47 158l135 190q59 -53 128 -91t153 -38q100 0 159.5 51.5t59.5 151.5q0 98 -56.5 149.5t-148.5 51.5q-29 0 -51.5 -3.5t-44 -11.5t-45 -20.5t-51.5 -30.5l-135 86l36 657h738v-253h-478l-22 -244q37 16 70.5 23.5t74.5 7.5q84 0 159 -25t132.5 -74t90 -124.5 t32.5 -180.5q0 -109 -39 -192.5t-104.5 -142t-152.5 -89.5t-181 -31q-160 0 -270.5 52.5t-188.5 130.5z" />
+<glyph unicode="6" d="M84 621q0 182 44 315t116.5 219t168 128t197.5 42q129 0 223.5 -46t155.5 -110l-158 -180q-35 37 -90 64.5t-112 27.5q-53 0 -100.5 -20.5t-83 -68.5t-58 -126t-27.5 -190q25 33 58 58.5t67.5 43t69.5 26.5t66 9q84 0 154.5 -24.5t122.5 -73.5t81 -125t29 -178t-35 -182 t-93.5 -137.5t-137 -87.5t-167.5 -30q-94 0 -183 37t-157.5 115t-109.5 200t-41 294zM367 471q10 -78 30.5 -129t47 -83t58 -45t66.5 -13q68 0 116 50t48 161q0 104 -48 146t-122 42q-49 0 -100 -28.5t-96 -100.5z" />
+<glyph unicode="7" d="M90 1047v253h905v-184q-113 -137 -181.5 -257t-106 -248t-54 -274.5t-24.5 -336.5h-303q8 162 29.5 298t61.5 260t102.5 243t154.5 246h-584z" />
+<glyph unicode="8" d="M86 332q0 119 64.5 194.5t156.5 124.5v8q-76 57 -125 130t-49 178q0 82 31 148.5t86 113.5t132 71.5t167 24.5q88 0 161.5 -25.5t125 -71.5t80 -112.5t28.5 -146.5q0 -94 -51 -167t-119 -118v-8q94 -51 159.5 -131t65.5 -209q0 -78 -32.5 -143.5t-93 -113.5t-145.5 -76 t-189 -28q-98 0 -181.5 26t-143.5 73t-94 112.5t-34 145.5zM344 367q0 -86 59.5 -134.5t141.5 -48.5q76 0 125 40t49 122q0 43 -19.5 74t-56.5 56.5t-87 48t-112 48.5q-43 -41 -71.5 -94t-28.5 -112zM397 967q0 -80 62 -125t162 -84q80 92 79 190q0 76 -42 122t-115 46 q-59 0 -102.5 -37t-43.5 -112z" />
+<glyph unicode="9" d="M70 889q0 100 34.5 181t93 138.5t137.5 87t167 29.5q94 0 183 -37t157.5 -114.5t110.5 -199.5t42 -294q0 -182 -44 -315.5t-116.5 -219.5t-168 -128t-197.5 -42q-129 0 -224 47.5t-157 108.5l160 180q33 -37 88 -64.5t113 -27.5q55 0 102 20.5t83 68.5t57.5 125t25.5 192 q-25 -33 -57.5 -58.5t-67.5 -43t-70 -27t-65 -9.5q-84 0 -155 25t-122 74t-80.5 124.5t-29.5 178.5zM344 889q0 -104 49 -146.5t123 -42.5q49 0 100.5 29t94.5 100q-20 154 -76.5 212.5t-126.5 58.5q-66 0 -115 -50.5t-49 -160.5z" />
+<glyph unicode=":" horiz-adv-x="614" d="M125 164q0 82 52 136t130 54t130 -54t52 -136q0 -80 -52 -134.5t-130 -54.5t-130 54.5t-52 134.5zM125 828q0 82 52 136t130 54t130 -54t52 -136q0 -80 -52 -134.5t-130 -54.5t-130 54.5t-52 134.5z" />
+<glyph unicode=";" horiz-adv-x="614" d="M94 -238q113 41 172.5 106.5t59.5 143.5h-17q-72 0 -127 44t-55 126q0 78 55.5 125t132.5 47q102 0 155.5 -74.5t53.5 -209.5q0 -170 -94 -292t-274 -175zM125 828q0 82 52 136t130 54t130 -54t52 -136q0 -80 -52 -134.5t-130 -54.5t-130 54.5t-52 134.5z" />
+<glyph unicode="&#x3c;" d="M70 575v209l942 363v-248l-361 -119l-276 -96v-8l276 -96l361 -119v-248z" />
+<glyph unicode="=" d="M70 333v213h942v-213h-942zM70 807v213h942v-213h-942z" />
+<glyph unicode="&#x3e;" d="M70 213v248l360 119l277 96v8l-277 96l-360 119v248l942 -363v-209z" />
+<glyph unicode="?" horiz-adv-x="948" d="M84 1210q70 84 164 135.5t209 51.5q86 0 160.5 -20.5t129 -63.5t85 -109.5t30.5 -156.5q0 -63 -22.5 -113.5t-56 -93.5t-71.5 -83t-70 -83t-50.5 -91t-11.5 -110h-265q-10 70 5.5 127t44 106.5t64.5 90.5t68.5 78.5t54 73.5t21.5 75q0 63 -37.5 96t-99.5 33 q-57 0 -101 -26.5t-85 -67.5zM266 164q0 82 51.5 136t128.5 54q78 0 130.5 -54t52.5 -136q0 -80 -52.5 -134.5t-130.5 -54.5t-129 54.5t-51 134.5z" />
+<glyph unicode="@" horiz-adv-x="1849" d="M100 420q0 215 74 390t200 300t294 192.5t356 67.5q166 0 300 -53t228.5 -150.5t145.5 -231.5t51 -294q0 -141 -43 -246.5t-110.5 -176.5t-150.5 -105.5t-163 -34.5q-88 0 -153.5 41t-81.5 114h-5q-43 -59 -112.5 -97t-132.5 -38q-123 0 -197 83t-74 225q0 94 32 184 t87 160.5t131 113.5t164 43q51 0 90 -23.5t66 -78.5h4l28 86h187l-94 -451q-43 -176 94 -176q45 0 89 25.5t79 74t55.5 117t20.5 152.5q0 111 -31 211t-98.5 177t-174 122t-256.5 45q-131 0 -256 -54.5t-223 -153.5t-157.5 -239.5t-59.5 -312.5q0 -152 48 -264.5t131 -186 t190.5 -110.5t228.5 -37q80 0 163 22.5t148 57.5l66 -164q-94 -51 -192.5 -74.5t-208.5 -23.5q-154 0 -294.5 47t-248 143t-171 240.5t-63.5 341.5zM754 424q0 -137 106 -137q33 0 64.5 20.5t70.5 71.5l49 276q-31 59 -94 60q-47 0 -83 -29t-61.5 -72t-38.5 -94t-13 -96z " />
+<glyph unicode="A" horiz-adv-x="1169" d="M-14 0l420 1335h360l420 -1335h-320l-82 317h-409l-82 -317h-307zM436 553h287l-33 123q-29 100 -54.5 212.5t-53.5 217.5h-9q-23 -106 -49 -218t-55 -212z" />
+<glyph unicode="B" horiz-adv-x="1236" d="M156 0v1335h456q104 0 194.5 -15t157 -54t104.5 -102.5t38 -159.5q0 -45 -13.5 -90.5t-41 -84t-70.5 -69.5t-100 -45v-8q143 -27 216.5 -103t73.5 -211q0 -102 -39.5 -176t-110.5 -122t-166 -71.5t-204 -23.5h-495zM459 233h168q250 0 250 183q0 88 -62.5 128t-187.5 40 h-168v-351zM459 797h139q111 0 162 44t51 120t-52 108.5t-157 32.5h-143v-305z" />
+<glyph unicode="C" horiz-adv-x="1187" d="M92 659q0 166 51.5 296t138.5 220.5t202.5 137.5t244.5 47q125 0 226.5 -52.5t168.5 -121.5l-166 -187q-51 47 -102 74t-123 27q-70 0 -130 -30t-105 -85t-71 -135t-26 -180q0 -207 88.5 -320.5t235.5 -113.5q84 0 144.5 32.5t109.5 85.5l166 -182q-84 -98 -191.5 -147.5 t-232.5 -49.5q-129 0 -244 44t-201 130.5t-135 214t-49 295.5z" />
+<glyph unicode="D" horiz-adv-x="1298" d="M156 0v1335h376q154 0 278 -39t212 -119.5t135 -205.5t47 -297t-47 -299t-133 -210t-206 -124t-267 -41h-395zM459 244h57q84 0 153.5 22.5t120 72.5t78 132t27.5 203q0 119 -27.5 199.5t-78 129t-120 69t-153.5 20.5h-57v-848z" />
+<glyph unicode="E" horiz-adv-x="1118" d="M156 0v1335h837v-254h-534v-268h454v-252h-454v-307h555v-254h-858z" />
+<glyph unicode="F" horiz-adv-x="1071" d="M156 0v1335h843v-254h-540v-309h461v-254h-461v-518h-303z" />
+<glyph unicode="G" horiz-adv-x="1302" d="M92 659q0 166 52.5 296t141.5 220.5t208.5 137.5t255.5 47q141 0 244.5 -53.5t170.5 -120.5l-166 -187q-51 47 -105 74t-140 27q-78 0 -142.5 -30t-110.5 -85t-73 -135t-27 -180q0 -207 93.5 -320.5t283.5 -113.5q41 0 79 10t63 30v230h-222v246h490v-615 q-37 -31 -85 -60.5t-105.5 -52t-123 -36t-135.5 -13.5q-135 0 -252.5 44t-205.5 130.5t-138.5 214t-50.5 295.5z" />
+<glyph unicode="H" horiz-adv-x="1376" d="M156 0v1335h303v-514h461v514h301v-1335h-301v557h-461v-557h-303z" />
+<glyph unicode="I" horiz-adv-x="614" d="M156 0v1335h303v-1335h-303z" />
+<glyph unicode="J" horiz-adv-x="1038" d="M31 217l205 152q39 -68 87 -100.5t99 -32.5q82 0 124 50t42 183v866h303v-891q0 -96 -25.5 -182t-78 -149.5t-133.5 -100.5t-191 -37q-154 0 -258.5 59.5t-173.5 182.5z" />
+<glyph unicode="K" horiz-adv-x="1255" d="M156 0v1335h303v-547h6l399 547h330l-403 -532l479 -803h-332l-324 563l-155 -205v-358h-303z" />
+<glyph unicode="L" horiz-adv-x="1056" d="M156 0v1335h303v-1081h526v-254h-829z" />
+<glyph unicode="M" horiz-adv-x="1558" d="M156 0v1335h319l223 -600l80 -233h8l80 233l217 600h320v-1335h-283v489q0 49 4 108.5t10.5 120t12.5 119t12 107.5h-8l-109 -309l-206 -518h-121l-205 518l-107 309h-8q6 -49 12.5 -107.5t12.5 -119t10 -119.5t4 -109v-489h-278z" />
+<glyph unicode="N" horiz-adv-x="1359" d="M156 0v1335h309l348 -663l133 -295h8q-10 106 -24.5 237t-14.5 250v471h287v-1335h-309l-348 666l-131 290h-8q10 -111 24 -237.5t14 -245.5v-473h-288z" />
+<glyph unicode="O" horiz-adv-x="1398" d="M92 674q0 164 44 292t124 215t191.5 133t246.5 46t247 -46t192 -134t124 -216t44 -290q0 -164 -44 -293t-124 -219t-192 -138.5t-247 -48.5t-246.5 48.5t-191.5 138.5t-124 219t-44 293zM401 674q0 -100 21.5 -181t59.5 -138.5t93 -88t123 -30.5q137 0 217 117.5 t80 320.5q0 201 -79.5 313.5t-217.5 112.5q-135 0 -216 -113t-81 -313z" />
+<glyph unicode="P" horiz-adv-x="1239" d="M156 0v1335h487q109 0 204 -21.5t165.5 -71.5t111.5 -133t41 -204q0 -117 -42 -203t-113.5 -141t-165.5 -81.5t-201 -26.5h-184v-453h-303zM459 692h166q245 0 245 211q0 106 -62.5 149.5t-182.5 43.5h-166v-404z" />
+<glyph unicode="Q" horiz-adv-x="1398" d="M86 674q0 164 44 292t124 215t191.5 133t246.5 46t247 -46t191.5 -134t123.5 -216t44 -290q0 -270 -114.5 -444.5t-309.5 -229.5q47 -70 127 -97.5t166 -27.5q43 0 81 7t67 18l53 -222q-37 -18 -97.5 -30.5t-137.5 -12.5q-213 0 -359.5 98.5t-218.5 256.5 q-106 23 -193.5 79t-148.5 144t-94 203.5t-33 257.5zM395 674q0 -203 80 -320.5t217 -117.5t217 117.5t80 320.5q0 201 -80 313.5t-217 112.5t-217 -112.5t-80 -313.5z" />
+<glyph unicode="R" horiz-adv-x="1259" d="M156 0v1335h481q106 0 199.5 -20.5t164 -68.5t111.5 -128t41 -198q0 -147 -65.5 -242.5t-172.5 -142.5l302 -535h-338l-256 481h-164v-481h-303zM459 721h153q119 0 181.5 50t62.5 149q0 98 -62.5 137t-181.5 39h-153v-375z" />
+<glyph unicode="S" horiz-adv-x="1134" d="M70 168l174 207q72 -61 157.5 -100t169.5 -39q94 0 140.5 34.5t46.5 94.5q0 31 -13.5 53t-39 39.5t-61.5 33t-79 33.5l-172 74q-53 20 -101 53t-86 77t-60.5 102.5t-22.5 132.5q0 82 36 154.5t98 126.5t149.5 85t191.5 31q117 0 230.5 -45t199.5 -131l-151 -191 q-66 51 -132.5 79t-146.5 28q-78 0 -124 -32t-46 -89q0 -31 15.5 -52.5t43 -39t65.5 -32.5t81 -34l170 -69q123 -49 193.5 -135.5t70.5 -227.5q0 -84 -34 -158.5t-98.5 -131t-157.5 -90.5t-212 -34q-131 0 -261 48.5t-234 144.5z" />
+<glyph unicode="T" horiz-adv-x="1136" d="M49 1081v254h1036v-254h-366v-1081h-301v1081h-369z" />
+<glyph unicode="U" horiz-adv-x="1357" d="M150 618v717h301v-747q0 -197 59 -274.5t172 -77.5t175.5 77.5t62.5 274.5v747h290v-717q0 -336 -134 -489.5t-394 -153.5t-396 154t-136 489z" />
+<glyph unicode="V" horiz-adv-x="1136" d="M-16 1335h319l162 -622q29 -111 52.5 -214.5t53.5 -213.5h9q31 111 54 214t52 214l158 622h309l-403 -1335h-363z" />
+<glyph unicode="W" horiz-adv-x="1662" d="M27 1335h309l92 -624q14 -104 27.5 -210t27.5 -212h9q18 106 37.5 211.5t39.5 210.5l144 624h256l145 -624q20 -102 40 -208t40 -214h8q12 109 25.5 213t27.5 209l93 624h288l-237 -1335h-379l-131 606q-16 78 -29.5 157t-23.5 152h-9q-12 -74 -24 -152.5t-29 -156.5 l-127 -606h-373z" />
+<glyph unicode="X" horiz-adv-x="1159" d="M23 0l368 686l-348 649h338l115 -252q23 -47 46 -99t52 -116h8q23 63 43.5 115.5t40.5 99.5l107 252h321l-346 -663l369 -672h-336l-131 272q-27 53 -50.5 105.5t-50.5 114.5h-8q-25 -61 -47 -113.5t-45 -106.5l-125 -272h-321z" />
+<glyph unicode="Y" horiz-adv-x="1073" d="M-16 1335h321l121 -307q27 -76 53.5 -146.5t55.5 -148.5h8q29 78 56.5 148.5t55.5 146.5l119 307h316l-404 -860v-475h-301v475z" />
+<glyph unicode="Z" horiz-adv-x="1105" d="M72 0v182l590 899h-535v254h907v-182l-590 -899h594v-254h-966z" />
+<glyph unicode="[" horiz-adv-x="704" d="M178 -311v1761h432v-160h-207v-1442h207v-159h-432z" />
+<glyph unicode="\" horiz-adv-x="694" d="M57 1454h197l414 -1782h-199z" />
+<glyph unicode="]" horiz-adv-x="704" d="M94 -152h209v1442h-209v160h432v-1761h-432v159z" />
+<glyph unicode="^" d="M102 561l318 811h242l317 -811h-248l-94 262l-92 277h-8l-93 -277l-94 -262h-248z" />
+<glyph unicode="_" horiz-adv-x="1024" d="M25 -117h974v-170h-974v170z" />
+<glyph unicode="`" horiz-adv-x="1136" d="M264 1483h291l182 -307h-219z" />
+<glyph unicode="a" horiz-adv-x="1093" d="M96 283q0 160 135.5 250t436.5 120q-4 68 -41 108t-119 40q-66 0 -131.5 -24.5t-138.5 -67.5l-107 198q98 59 205.5 96t228.5 37q197 0 300.5 -111.5t103.5 -346.5v-582h-246l-23 104h-6q-66 -57 -138.5 -93t-158.5 -36q-70 0 -125 24t-94 65.5t-60.5 97t-21.5 121.5z M383 305q0 -49 31.5 -72.5t85.5 -23.5q53 0 90 22.5t78 63.5v178q-162 -23 -223.5 -66t-61.5 -102z" />
+<glyph unicode="b" horiz-adv-x="1173" d="M133 0v1436h301v-353l-8 -155q59 53 128 82.5t140 29.5q92 0 166 -36.5t126 -103t80 -162t28 -212.5q0 -131 -36 -233.5t-96.5 -173t-137 -107.5t-158.5 -37q-68 0 -136.5 33t-128.5 98h-8l-24 -106h-236zM434 287q41 -37 82 -51.5t80 -14.5q78 0 133 70.5t55 228.5 q0 274 -176 275q-90 0 -174 -93v-415z" />
+<glyph unicode="c" horiz-adv-x="956" d="M74 508q0 127 43 226.5t115.5 167t169 103t200.5 35.5q94 0 170 -31.5t127 -84.5l-137 -187q-72 59 -141 60q-111 0 -174.5 -78t-63.5 -211t64.5 -211t162.5 -78q55 0 100.5 22.5t82.5 51.5l120 -191q-74 -66 -164 -96.5t-174 -30.5q-106 0 -197 36t-158.5 103.5 t-106.5 167t-39 226.5z" />
+<glyph unicode="d" horiz-adv-x="1173" d="M80 508q0 125 36 223t94 167t135 105.5t157 36.5q86 0 141 -28.5t109 -77.5l-13 156v346h301v-1436h-245l-21 100h-8q-53 -53 -125 -89t-145 -36q-94 0 -171 37t-131.5 105.5t-84 167t-29.5 223.5zM389 512q0 -152 48 -221.5t136 -69.5q49 0 89 20.5t77 71.5v416 q-41 37 -84 51.5t-84 14.5q-72 0 -127 -69t-55 -214z" />
+<glyph unicode="e" horiz-adv-x="1060" d="M74 508q0 123 41 222t107.5 168t152.5 105.5t178 36.5q109 0 189.5 -36.5t135 -102t81 -155t26.5 -193.5q0 -41 -4 -75t-8 -52h-608q20 -117 90.5 -169t173.5 -52q109 0 219 67l100 -182q-78 -53 -173 -84t-187 -31q-109 0 -203 36t-163.5 104.5t-108.5 167t-39 225.5z M362 612h367q0 88 -39 143.5t-131 55.5q-72 0 -126 -48t-71 -151z" />
+<glyph unicode="f" horiz-adv-x="698" d="M49 780v224l135 10v55q0 80 19.5 151.5t64.5 125t117 84t174 30.5q63 0 115.5 -12t87.5 -25l-55 -221q-57 20 -105 21q-55 0 -86 -34t-31 -112v-61h183v-236h-183v-780h-301v780h-135z" />
+<glyph unicode="g" horiz-adv-x="1093" d="M70 -174q0 123 145 205v8q-41 27 -67.5 67.5t-26.5 104.5q0 55 32.5 105.5t82.5 84.5v9q-53 37 -95.5 105.5t-42.5 158.5q0 92 35 160.5t93.5 114.5t134 68.5t157.5 22.5q90 0 158 -24h371v-219h-162q14 -23 23.5 -57.5t9.5 -75.5q0 -88 -31 -153t-85 -107t-127 -62 t-157 -20q-59 0 -123 20q-20 -16 -28.5 -32.5t-8.5 -43.5q0 -39 34 -57.5t120 -18.5h164q188 0 287.5 -60t99.5 -198q0 -80 -40 -146.5t-113.5 -114.5t-178 -75.5t-235.5 -27.5q-90 0 -167 15.5t-135.5 46t-91 79.5t-32.5 117zM317 -127q0 -57 61.5 -87t164.5 -30 q102 0 167.5 36t65.5 89q0 47 -40 63.5t-115 16.5h-105q-53 0 -86 3t-57 9q-56 -49 -56 -100zM379 674q0 -86 40 -128t99 -42t99 42t40 128q0 80 -39.5 122t-99.5 42q-59 0 -99 -41t-40 -123z" />
+<glyph unicode="h" horiz-adv-x="1169" d="M133 0v1436h301v-353l-14 -182q57 51 133 95t180 44q166 0 241 -108.5t75 -300.5v-631h-301v592q0 111 -30 151.5t-95 40.5q-57 0 -98.5 -25.5t-90.5 -72.5v-686h-301z" />
+<glyph unicode="i" horiz-adv-x="565" d="M109 1323q0 70 49 113t125 43q78 0 126 -43t48 -113t-48 -114t-126 -44q-76 0 -125 44t-49 114zM133 0v1016h301v-1016h-301z" />
+<glyph unicode="j" horiz-adv-x="569" d="M-104 -373l53 221q20 -6 38.5 -10t41.5 -4q59 0 82.5 39t23.5 125v1018h301v-1010q0 -84 -17.5 -157.5t-59.5 -129t-111.5 -88t-173.5 -32.5q-63 0 -105.5 8t-72.5 20zM113 1323q0 70 49 113t125 43t125 -43t49 -113t-49 -114t-125 -44t-125 44t-49 114z" />
+<glyph unicode="k" horiz-adv-x="1122" d="M133 0v1436h293v-824h8l322 404h327l-356 -418l383 -598h-326l-229 395l-129 -145v-250h-293z" />
+<glyph unicode="l" horiz-adv-x="585" d="M133 315v1121h301v-1133q0 -47 17.5 -65.5t35.5 -18.5h17.5t19.5 4l37 -223q-25 -10 -62.5 -17.5t-88.5 -7.5q-78 0 -131.5 25t-85 69t-46 106.5t-14.5 139.5z" />
+<glyph unicode="m" horiz-adv-x="1755" d="M133 0v1016h246l20 -131h9q63 63 134.5 109t172.5 46q109 0 175 -44t105 -126q68 70 142.5 120t177.5 50q164 0 240.5 -109.5t76.5 -299.5v-631h-301v592q0 111 -29.5 151.5t-95.5 40.5q-76 0 -174 -98v-686h-301v592q0 111 -29.5 151.5t-95.5 40.5q-78 0 -172 -98v-686 h-301z" />
+<glyph unicode="n" horiz-adv-x="1171" d="M133 0v1016h246l20 -129h9q66 61 143.5 107t181.5 46q166 0 241 -108.5t75 -300.5v-631h-301v592q0 111 -30 151.5t-95 40.5q-57 0 -98.5 -25.5t-90.5 -72.5v-686h-301z" />
+<glyph unicode="o" horiz-adv-x="1136" d="M74 508q0 127 41 226.5t109.5 167t158.5 103t186 35.5t185.5 -35.5t158 -103t109.5 -167t41 -226.5t-41 -226.5t-109.5 -167t-157.5 -103.5t-186 -36q-96 0 -186 36t-158.5 103.5t-109.5 167t-41 226.5zM383 508q0 -133 46 -211t140 -78q92 0 139.5 78t47.5 211t-47 211 t-140 78q-94 0 -140 -78t-46 -211z" />
+<glyph unicode="p" horiz-adv-x="1173" d="M133 -377v1393h246l20 -101h9q59 53 133.5 89t154.5 36q92 0 166 -36.5t125 -104.5t79 -163t28 -212q0 -131 -36 -232.5t-96.5 -172t-137 -107.5t-158.5 -37q-66 0 -127.5 28t-114.5 79l10 -162v-297h-301zM434 287q41 -37 82 -51.5t80 -14.5q78 0 133 70.5t55 228.5 q0 274 -176 275q-88 0 -174 -93v-415z" />
+<glyph unicode="q" horiz-adv-x="1171" d="M80 508q0 125 36 223t94 167t135 105.5t157 36.5q84 0 147.5 -29.5t122.5 -95.5h8l25 101h235v-1393h-301v309l13 156q-51 -49 -119 -81t-137 -32q-94 0 -171 37t-131.5 105.5t-84 167t-29.5 223.5zM389 512q0 -152 48 -221.5t136 -69.5q49 0 89 20.5t77 71.5v416 q-41 37 -84 51.5t-84 14.5q-72 0 -127 -69t-55 -214z" />
+<glyph unicode="r" horiz-adv-x="815" d="M133 0v1016h246l20 -178h9q55 104 132.5 153t155.5 49q43 0 71 -5t50 -15l-49 -260q-29 8 -53.5 12t-57.5 4q-57 0 -119.5 -41t-103.5 -145v-590h-301z" />
+<glyph unicode="s" horiz-adv-x="907" d="M43 117l135 188q70 -53 133.5 -79.5t128.5 -26.5q68 0 98.5 22.5t30.5 63.5q0 25 -17 44t-47 35.5t-67 30t-76 29.5q-47 18 -94 43t-86 60.5t-63.5 83.5t-24.5 112q0 70 28 129t79 100t122.5 64.5t159.5 23.5q117 0 205 -39.5t154 -89.5l-135 -180q-55 41 -108.5 63.5 t-106.5 22.5q-115 0 -115 -80q0 -25 16.5 -42t44 -31.5t63.5 -27.5t74 -28q49 -18 97.5 -41.5t88.5 -58.5t64.5 -85t24.5 -120t-26.5 -129t-80 -103t-131 -70t-180.5 -26q-100 0 -205.5 39t-183.5 103z" />
+<glyph unicode="t" horiz-adv-x="784" d="M35 780v224l155 12l35 270h250v-270h244v-236h-244v-407q0 -86 36 -124t95 -38q25 0 50.5 6t45.5 14l48 -219q-41 -12 -96.5 -24.5t-129.5 -12.5q-94 0 -160.5 29t-108.5 80t-61.5 124t-19.5 161v411h-139z" />
+<glyph unicode="u" horiz-adv-x="1163" d="M123 385v631h301v-592q0 -111 30.5 -152t96.5 -41q57 0 96 27t84 86v672h301v-1016h-246l-22 141h-6q-66 -78 -140.5 -122t-179.5 -44q-166 0 -240.5 109t-74.5 301z" />
+<glyph unicode="v" horiz-adv-x="1071" d="M25 1016h303l131 -479q20 -76 39.5 -155t40.5 -159h8q18 80 37.5 159t40.5 155l133 479h289l-332 -1016h-348z" />
+<glyph unicode="w" horiz-adv-x="1589" d="M49 1016h299l98 -471q12 -76 22.5 -149.5t23.5 -151.5h8q14 78 27.5 153.5t31.5 147.5l113 471h260l115 -471q18 -76 32.5 -149.5t30.5 -151.5h8q14 78 23.5 151.5t23.5 149.5l97 471h278l-244 -1016h-352l-92 406q-16 72 -28.5 143.5t-26.5 152.5h-9q-14 -82 -25 -153.5 t-26 -142.5l-90 -406h-344z" />
+<glyph unicode="x" horiz-adv-x="1052" d="M29 0l311 528l-293 488h324l90 -164q20 -43 41.5 -87t44.5 -87h8q16 43 34.5 87t35.5 87l69 164h312l-295 -522l313 -494h-324l-98 168q-25 43 -48.5 88t-47.5 88h-8q-18 -43 -39 -87t-39 -89l-80 -168h-311z" />
+<glyph unicode="y" horiz-adv-x="1067" d="M25 1016h303l145 -436q23 -70 41 -141.5t39 -147.5h8q16 72 33.5 144.5t36.5 144.5l123 436h288l-352 -1026q-37 -96 -77 -169t-92 -121t-118.5 -72.5t-156.5 -24.5q-47 0 -80 5t-64 15l54 230q14 -4 32.5 -8.5t34.5 -4.5q76 0 117 37t61 96l15 54z" />
+<glyph unicode="z" horiz-adv-x="942" d="M78 0v162l426 618h-379v236h754v-160l-426 -620h440v-236h-815z" />
+<glyph unicode="{" horiz-adv-x="704" d="M63 481v176q49 2 83 15.5t54.5 35t30 48t9.5 53.5q0 47 -3.5 88t-7.5 81t-7 84t-3 97q0 164 63.5 227.5t198.5 63.5h129v-160h-39q-63 0 -85.5 -29.5t-22.5 -113.5q0 -82 4 -162t4 -172q0 -117 -37 -169t-115 -71v-8q78 -18 115 -70.5t37 -168.5q0 -94 -4 -172t-4 -162 t22.5 -114t85.5 -30h39v-159h-129q-135 0 -198.5 62.5t-63.5 228.5q0 55 3 98t7 83t7.5 80t3.5 89q0 27 -9.5 53.5t-30 48t-54 34.5t-83.5 15z" />
+<glyph unicode="|" horiz-adv-x="548" d="M176 -512v2048h197v-2048h-197z" />
+<glyph unicode="}" horiz-adv-x="704" d="M94 -152h39q63 0 86 30t23 114t-4.5 161.5t-4.5 172.5q0 117 37 169t115 70v8q-78 18 -115 70.5t-37 169.5q0 92 4.5 172t4.5 162q0 84 -22.5 113.5t-86.5 29.5h-39v160h129q135 0 198.5 -63.5t63.5 -227.5q0 -53 -3 -97t-7 -84t-7 -81t-3 -88q0 -27 9 -53.5t29.5 -48 t54.5 -35t83 -15.5v-176q-49 -2 -83 -15t-54.5 -34.5t-29.5 -48.5t-9 -53q0 -49 3 -89t7 -80t7 -83t3 -98q0 -166 -63.5 -228.5t-198.5 -62.5h-129v159z" />
+<glyph unicode="~" d="M59 649q76 117 153 164t155 47q63 0 110 -24.5t87 -53t76 -53t79 -24.5t79 30.5t68 87.5l156 -121q-76 -117 -152.5 -163.5t-154.5 -46.5q-63 0 -110.5 24.5t-87.5 53t-75.5 53t-79.5 24.5q-41 0 -77.5 -30.5t-69.5 -88.5z" />
+<glyph unicode="&#xa1;" horiz-adv-x="696" d="M166 852q0 80 52 134t130 54t130 -54t52 -134q0 -82 -52 -136t-130 -54t-130 54t-52 136zM197 -356l10 272l43 627h196l43 -627l11 -272h-303z" />
+<glyph unicode="&#xa2;" d="M123 629q0 109 32.5 196.5t92 152t139.5 106.5t176 59v198h166v-190q80 -8 144.5 -38t109.5 -77l-137 -184q-61 49 -117 55v-557q43 8 80 27.5t68 44.5l120 -191q-59 -51 -128.5 -80.5t-139.5 -39.5v-195h-166v195q-100 12 -181 53t-138.5 107.5t-89 156.5t-31.5 201z M416 629q0 -92 38 -159t109 -97v512q-74 -33 -110.5 -98.5t-36.5 -157.5z" />
+<glyph unicode="&#xa3;" d="M98 0v186q92 41 154.5 122t62.5 192q0 14 -1 27.5t-3 27.5h-205v176l140 10h12q-14 41 -23.5 82t-9.5 82q0 96 33 174t91.5 132.5t138 84t176.5 29.5q115 0 199.5 -43t154.5 -123l-164 -164q-35 43 -74 64.5t-88 21.5q-82 0 -130 -47t-48 -145q0 -37 6 -74t17 -74h303 v-186h-265q2 -14 3.5 -28.5t1.5 -28.5q0 -74 -21.5 -127.5t-71.5 -108.5v-8h531v-254h-920z" />
+<glyph unicode="&#xa4;" d="M41 322l125 127q-70 94 -70 227q0 66 17.5 122t50.5 101l-123 127l149 152l142 -144q98 51 209 51q106 0 209 -51l141 144l149 -152l-125 -127q70 -92 70 -223q0 -68 -18.5 -124t-51.5 -103l125 -127l-149 -152l-143 145q-47 -25 -100.5 -37t-106.5 -12q-113 0 -207 49 l-144 -145zM365 676q0 -92 51 -146.5t125 -54.5t125 54.5t51 146.5t-51.5 146.5t-124.5 54.5q-74 0 -125 -54.5t-51 -146.5z" />
+<glyph unicode="&#xa5;" d="M25 1300h309l104 -272q25 -68 49.5 -135.5t53.5 -132.5h8q27 68 51.5 135.5t50.5 132.5l103 272h303l-301 -600h250v-143h-316v-113h316v-143h-316v-301h-301v301h-313v143h313v113h-313v143h250z" />
+<glyph unicode="&#xa6;" horiz-adv-x="548" d="M176 418h197v-930h-197v930zM176 639v897h197v-897h-197z" />
+<glyph unicode="&#xa7;" d="M76 668q0 78 44 146.5t120 115.5q-29 33 -44.5 75t-15.5 95q0 139 95.5 226t269.5 87q119 0 212 -42t156 -91l-137 -188q-47 41 -104.5 69.5t-110.5 28.5q-111 0 -110 -80q0 -37 40.5 -64.5t102 -55t134.5 -60.5t134.5 -79t102.5 -111.5t41 -157.5q0 -90 -44 -157 t-124 -116q23 -33 35 -71.5t12 -85.5q0 -70 -25.5 -129.5t-75 -102.5t-123 -67.5t-169.5 -24.5q-113 0 -220.5 42t-177.5 130l174 154q100 -104 224 -105q63 0 92.5 24.5t29.5 63.5t-39.5 67.5t-99 55.5t-130.5 57.5t-130 76.5t-99 111.5t-40 162.5zM330 690q0 -49 32.5 -83 t84 -61.5t114 -53t121.5 -56.5q70 43 70 121q0 49 -33 83t-83 61.5t-112.5 52t-122.5 55.5q-71 -47 -71 -119z" />
+<glyph unicode="&#xa8;" horiz-adv-x="1136" d="M223 1313q0 59 40 100t103 41t103.5 -41t40.5 -100q0 -61 -40.5 -102.5t-103.5 -41.5t-103 41t-40 103zM628 1313q0 59 40 100t104 41q63 0 103 -41t40 -100q0 -61 -40 -102.5t-103 -41.5t-103.5 41t-40.5 103z" />
+<glyph unicode="&#xa9;" horiz-adv-x="1536" d="M92 666q0 160 54.5 284.5t147.5 211.5t216 133t258 46t258 -46t215 -133t146.5 -213t54.5 -283q0 -160 -54.5 -286t-146.5 -215t-215 -136t-258 -47t-258 47t-216 136t-147.5 215t-54.5 286zM231 666q0 -127 42 -229.5t114 -176.5t170 -114t211 -40t211 40t170 114 t114 176.5t42 229.5q0 125 -42 227t-114 175t-170 112t-211 39t-211 -39t-170 -112t-114 -175t-42 -227zM397 664q0 90 33 162.5t87 123.5t126 79t150 28q94 0 157.5 -36t112.5 -85l-113 -125q-33 35 -65.5 52.5t-73.5 17.5q-98 0 -148.5 -62.5t-50.5 -154.5 q0 -104 51.5 -166t137.5 -62q51 0 88 19.5t76 50.5l98 -139q-59 -47 -125 -77t-145 -30q-86 0 -159 28.5t-125 81t-82 127.5t-30 167z" />
+<glyph unicode="&#xaa;" horiz-adv-x="735" d="M59 721q0 109 90.5 167t292.5 79q-4 43 -27.5 65.5t-72.5 22.5q-41 0 -88 -16.5t-96 -45.5l-76 142q68 39 142.5 63.5t154.5 24.5q131 0 203.5 -75t72.5 -228v-388h-170l-20 68h-8q-37 -37 -84.5 -60.5t-106.5 -23.5q-96 0 -151.5 59.5t-55.5 145.5zM262 737 q0 -59 76 -59q31 0 54.5 13.5t49.5 37.5v115q-102 -12 -141 -41t-39 -66z" />
+<glyph unicode="&#xab;" horiz-adv-x="983" d="M100 410v213l275 295l112 -91l-227 -311l227 -311l-112 -90zM485 410v213l275 295l112 -91l-227 -311l227 -311l-112 -90z" />
+<glyph unicode="&#xac;" d="M70 569v213h942v-589h-221v376h-721z" />
+<glyph unicode="&#xad;" horiz-adv-x="679" d="M88 412v213h504v-213h-504z" />
+<glyph unicode="&#xae;" horiz-adv-x="946" d="M66 1051q0 90 31.5 165.5t87 131t130 86t158.5 30.5t158 -30.5t129 -86t87 -131t32 -165.5t-32 -166t-87 -131.5t-129 -86t-158 -30.5t-158.5 30.5t-130 86t-87 131.5t-31.5 166zM178 1051q0 -72 21.5 -129.5t61.5 -98.5t93 -63.5t119 -22.5q129 0 211 85t82 229 q0 143 -82 228t-211 85q-66 0 -119 -22.5t-93 -63.5t-61.5 -98.5t-21.5 -128.5zM307 852v403h182q72 0 119 -32.5t47 -102.5q0 -76 -71 -110l84 -158h-123l-62 123h-59v-123h-117zM424 1057h43q31 0 46 17.5t15 39.5q0 23 -15 38t-46 15h-43v-110z" />
+<glyph unicode="&#xaf;" horiz-adv-x="1136" d="M286 1212v191h566v-191h-566z" />
+<glyph unicode="&#xb0;" horiz-adv-x="747" d="M80 1110q0 63 22.5 117.5t62.5 94.5t94 61.5t116 21.5q61 0 115.5 -21.5t94.5 -61.5t63.5 -94t23.5 -118q0 -66 -23.5 -119t-63.5 -93t-94.5 -61.5t-115.5 -21.5t-115.5 21.5t-94.5 61.5t-62.5 93t-22.5 119zM238 1110q0 -68 39 -110t98 -42q61 0 99 42t38 110 q0 66 -38 108t-99 42q-59 0 -98 -42t-39 -108z" />
+<glyph unicode="&#xb1;" d="M70 0v213h942v-213h-942zM70 602v213h360v344h221v-344h361v-213h-361v-278h-221v278h-360z" />
+<glyph unicode="&#xb2;" horiz-adv-x="770" d="M55 1560q123 164 305 164q133 0 214 -70.5t81 -199.5q0 -49 -17 -95t-47 -91t-68 -90.5t-81 -92.5h242v-184h-592v119q154 127 252 224t98 173q0 59 -30.5 92t-85.5 33q-41 0 -76 -25.5t-70 -70.5z" />
+<glyph unicode="&#xb3;" horiz-adv-x="770" d="M55 1038l133 105q72 -98 170 -99q47 0 81 25t34 72q0 104 -190 104v127q74 0 117.5 23.5t43.5 74.5q0 41 -26.5 63.5t-73.5 22.5q-39 0 -70.5 -22.5t-60.5 -57.5l-125 111q66 72 133.5 104.5t161.5 32.5q55 0 105.5 -15t89 -44t61.5 -71t23 -93q0 -63 -31 -107t-86 -77 q61 -25 103 -73t42 -120q0 -55 -25.5 -101t-67.5 -78t-98.5 -50.5t-117.5 -18.5q-104 0 -188 42t-138 120z" />
+<glyph unicode="&#xb4;" horiz-adv-x="1136" d="M401 1176l182 307h291l-254 -307h-219z" />
+<glyph unicode="&#xb5;" horiz-adv-x="1173" d="M133 -410v1426h301v-592q0 -111 30 -152t95 -41q57 0 97 27t85 86v672h301v-1016h-245l-23 141h-8q-39 -74 -97.5 -111.5t-125.5 -37.5q-37 0 -69 8t-58 37l18 -184v-263h-301z" />
+<glyph unicode="&#xb6;" horiz-adv-x="1302" d="M80 879q0 129 41 216t111.5 141t166 76.5t201.5 22.5h90v-932h-82q-109 0 -205 30t-167.5 90.5t-113.5 149.5t-42 206zM805 -164v1499h301v-1499h-301z" />
+<glyph unicode="&#xb7;" horiz-adv-x="614" d="M125 656q0 82 52 136t130 54t130 -54t52 -136q0 -80 -52 -134.5t-130 -54.5t-130 54.5t-52 134.5z" />
+<glyph unicode="&#xb8;" horiz-adv-x="1136" d="M360 -332q74 8 122 28.5t48 61.5q0 27 -25.5 48.5t-95.5 37.5l82 164h176l-41 -96q53 -16 86 -52t33 -100q0 -53 -29.5 -91t-79 -64.5t-115 -40t-138.5 -17.5z" />
+<glyph unicode="&#xb9;" horiz-adv-x="770" d="M156 1476v136q41 6 72.5 14t58 18.5t50 23.5t48.5 32h176v-799h-223v575h-182z" />
+<glyph unicode="&#xba;" horiz-adv-x="763" d="M49 868q0 84 27.5 149.5t74 112t105.5 70t125 23.5t125 -23.5t105 -70t74 -112t28 -149.5t-28 -148.5t-74 -110.5t-105 -69.5t-125 -23.5t-125 23.5t-105.5 69.5t-74 110.5t-27.5 148.5zM266 868q0 -84 28 -134t87 -50t88 50t29 134q0 86 -29 136.5t-88 50.5t-87 -50.5 t-28 -136.5z" />
+<glyph unicode="&#xbb;" horiz-adv-x="983" d="M111 205l227 311l-227 311l112 91l275 -295v-213l-275 -295zM496 205l227 311l-227 311l112 91l275 -295v-213l-275 -295z" />
+<glyph unicode="&#xbc;" horiz-adv-x="1656" d="M97 1112v136q41 6 72.5 14t58 18.5t50 23.5t48.5 32h176v-799h-223v575h-182zM379 -25l721 1385h174l-721 -1385h-174zM959 178v111l288 510h275v-477h119v-144h-119v-178h-197v178h-366zM1161 322h164v84l13 239h-9l-82 -158z" />
+<glyph unicode="&#xbd;" horiz-adv-x="1732" d="M97 1112v136q41 6 72.5 14t58 18.5t50 23.5t48.5 32h176v-799h-223v575h-182zM348 -25l721 1385h174l-721 -1385h-174zM1016 659q123 164 305 164q133 0 214 -70.5t81 -199.5q0 -49 -17 -95t-47 -91t-68 -90.5t-81 -92.5h242v-184h-592v119q154 127 252 224t98 173 q0 59 -30.5 92t-85.5 33q-41 0 -76 -25.5t-70 -70.5z" />
+<glyph unicode="&#xbe;" horiz-adv-x="1675" d="M51 674l133 105q72 -98 170 -99q47 0 81 25t34 72q0 104 -190 104v127q74 0 117.5 23.5t43.5 74.5q0 41 -26.5 63.5t-73.5 22.5q-39 0 -70.5 -22.5t-60.5 -57.5l-125 111q66 72 133.5 104.5t161.5 32.5q55 0 105.5 -15t89 -44t61.5 -71t23 -93q0 -63 -31 -107t-86 -77 q61 -25 103 -73t42 -120q0 -55 -25.5 -101t-67.5 -78t-98.5 -50.5t-117.5 -18.5q-104 0 -188 42t-138 120zM424 -25l721 1385h174l-721 -1385h-174zM975 178v111l288 510h275v-477h119v-144h-119v-178h-197v178h-366zM1177 322h164v84l13 239h-9l-82 -158z" />
+<glyph unicode="&#xbf;" horiz-adv-x="948" d="M86 -29q0 63 22.5 113.5t56.5 93.5t71.5 83t69.5 82t51.5 90t13.5 110h262q10 -70 -5.5 -127.5t-44 -106.5t-64.5 -90t-68.5 -79t-54 -73.5t-21.5 -74.5q0 -63 39 -96t98 -33q57 0 101 26.5t85 67.5l166 -152q-70 -84 -164 -135t-208 -51q-86 0 -161 20.5t-129.5 63.5 t-85 109.5t-30.5 158.5zM319 852q0 80 52.5 134t130.5 54t130 -54t52 -134q0 -82 -52 -136t-130 -54t-130.5 54t-52.5 136z" />
+<glyph unicode="&#xc0;" horiz-adv-x="1169" d="M-14 0l420 1335h360l420 -1335h-320l-82 317h-409l-82 -317h-307zM246 1683h320l166 -245h-240zM436 553h287l-33 123q-29 100 -54.5 212.5t-53.5 217.5h-9q-23 -106 -49 -218t-55 -212z" />
+<glyph unicode="&#xc1;" horiz-adv-x="1169" d="M-14 0l420 1335h360l420 -1335h-320l-82 317h-409l-82 -317h-307zM424 1438l166 245h320l-246 -245h-240zM436 553h287l-33 123q-29 100 -54.5 212.5t-53.5 217.5h-9q-23 -106 -49 -218t-55 -212z" />
+<glyph unicode="&#xc2;" horiz-adv-x="1169" d="M-14 0l420 1335h360l420 -1335h-320l-82 317h-409l-82 -317h-307zM234 1438l197 245h294l197 -245h-231l-109 125h-8l-109 -125h-231zM436 553h287l-33 123q-29 100 -54.5 212.5t-53.5 217.5h-9q-23 -106 -49 -218t-55 -212z" />
+<glyph unicode="&#xc3;" horiz-adv-x="1169" d="M-14 0l420 1335h360l420 -1335h-320l-82 317h-409l-82 -317h-307zM230 1440q16 141 77.5 209.5t141.5 68.5q41 0 76 -14t64.5 -31.5t55 -32t50.5 -14.5q27 0 47 20.5t31 71.5h153q-16 -141 -77.5 -209.5t-141.5 -68.5q-41 0 -76 14t-64.5 31.5t-55 32t-50.5 14.5 q-27 0 -47 -20.5t-31 -71.5h-153zM436 553h287l-33 123q-29 100 -54.5 212.5t-53.5 217.5h-9q-23 -106 -49 -218t-55 -212z" />
+<glyph unicode="&#xc4;" horiz-adv-x="1169" d="M-14 0l420 1335h360l420 -1335h-320l-82 317h-409l-82 -317h-307zM232 1577q0 61 40 102t103 41t103.5 -41t40.5 -102t-40.5 -102t-103.5 -41t-103 41t-40 102zM436 553h287l-33 123q-29 100 -54.5 212.5t-53.5 217.5h-9q-23 -106 -49 -218t-55 -212zM637 1577 q0 61 40 102t104 41q63 0 103 -41t40 -102t-40 -102t-103 -41t-103.5 41t-40.5 102z" />
+<glyph unicode="&#xc5;" horiz-adv-x="1169" d="M-14 0l420 1335h360l420 -1335h-320l-82 317h-409l-82 -317h-307zM347 1628q0 92 63.5 146.5t167.5 54.5t167.5 -54.5t63.5 -146.5t-63.5 -146.5t-167.5 -54.5t-167.5 54.5t-63.5 146.5zM436 553h287l-33 123q-29 100 -54.5 212.5t-53.5 217.5h-9q-23 -106 -49 -218 t-55 -212zM494 1628q0 -41 24.5 -64.5t59.5 -23.5t58.5 23.5t23.5 64.5t-23.5 64.5t-58.5 23.5t-59.5 -23.5t-24.5 -64.5z" />
+<glyph unicode="&#xc6;" horiz-adv-x="1728" d="M-29 0l633 1335h998v-254h-510v-268h430v-252h-430v-307h530v-254h-834v305h-362l-139 -305h-316zM532 539h256v569h-8q-41 -98 -81 -194.5t-81 -184.5z" />
+<glyph unicode="&#xc7;" horiz-adv-x="1187" d="M92 659q0 166 51.5 296t138.5 220.5t202.5 137.5t244.5 47q125 0 226.5 -52.5t168.5 -121.5l-166 -187q-51 47 -102 74t-123 27q-70 0 -130 -30t-105 -85t-71 -135t-26 -180q0 -207 88.5 -320.5t235.5 -113.5q84 0 144.5 32.5t109.5 85.5l166 -182q-84 -98 -191.5 -147.5 t-232.5 -49.5q-129 0 -244 44t-201 130.5t-135 214t-49 295.5zM504 -332q74 8 122 28.5t48 61.5q0 27 -25.5 48.5t-95.5 37.5l82 164h176l-41 -96q53 -16 86 -52t33 -100q0 -53 -29.5 -91t-79 -64.5t-115 -40t-138.5 -17.5z" />
+<glyph unicode="&#xc8;" horiz-adv-x="1118" d="M156 0v1335h837v-254h-534v-268h454v-252h-454v-307h555v-254h-858zM256 1683h320l166 -245h-240z" />
+<glyph unicode="&#xc9;" horiz-adv-x="1118" d="M156 0v1335h837v-254h-534v-268h454v-252h-454v-307h555v-254h-858zM434 1438l166 245h320l-246 -245h-240z" />
+<glyph unicode="&#xca;" horiz-adv-x="1118" d="M156 0v1335h837v-254h-534v-268h454v-252h-454v-307h555v-254h-858zM244 1438l197 245h294l197 -245h-231l-109 125h-8l-109 -125h-231z" />
+<glyph unicode="&#xcb;" horiz-adv-x="1118" d="M156 0v1335h837v-254h-534v-268h454v-252h-454v-307h555v-254h-858zM242 1577q0 61 40 102t103 41t103.5 -41t40.5 -102t-40.5 -102t-103.5 -41t-103 41t-40 102zM647 1577q0 61 40 102t104 41q63 0 103 -41t40 -102t-40 -102t-103 -41t-103.5 41t-40.5 102z" />
+<glyph unicode="&#xcc;" horiz-adv-x="614" d="M-25 1683h320l166 -245h-240zM156 0v1335h303v-1335h-303z" />
+<glyph unicode="&#xcd;" horiz-adv-x="614" d="M153 1438l166 245h320l-246 -245h-240zM156 0v1335h303v-1335h-303z" />
+<glyph unicode="&#xce;" horiz-adv-x="614" d="M-37 1438l197 245h294l197 -245h-231l-109 125h-8l-109 -125h-231zM156 0v1335h303v-1335h-303z" />
+<glyph unicode="&#xcf;" horiz-adv-x="614" d="M-39 1577q0 61 40 102t103 41t103.5 -41t40.5 -102t-40.5 -102t-103.5 -41t-103 41t-40 102zM156 0v1335h303v-1335h-303zM366 1577q0 61 40 102t104 41q63 0 103 -41t40 -102t-40 -102t-103 -41t-103.5 41t-40.5 102z" />
+<glyph unicode="&#xd0;" horiz-adv-x="1347" d="M53 616v136l152 10v573h379q154 0 276.5 -39t210.5 -119.5t135 -205.5t47 -297t-47 -299t-133 -210t-205.5 -124t-267.5 -41h-395v616h-152zM508 244h57q84 0 153.5 22.5t120 72.5t78 132t27.5 203q0 119 -27.5 199.5t-78 129t-120 69t-153.5 20.5h-57v-330h258v-146 h-258v-372z" />
+<glyph unicode="&#xd1;" horiz-adv-x="1359" d="M156 0v1335h309l348 -663l133 -295h8q-10 106 -24.5 237t-14.5 250v471h287v-1335h-309l-348 666l-131 290h-8q10 -111 24 -237.5t14 -245.5v-473h-288zM334 1440q16 141 77.5 209.5t141.5 68.5q41 0 76 -14t64.5 -31.5t55 -32t50.5 -14.5q27 0 47 20.5t31 71.5h153 q-16 -141 -77.5 -209.5t-141.5 -68.5q-41 0 -76 14t-64.5 31.5t-55 32t-50.5 14.5q-27 0 -47 -20.5t-31 -71.5h-153z" />
+<glyph unicode="&#xd2;" horiz-adv-x="1398" d="M92 674q0 164 44 292t124 215t191.5 133t246.5 46t247 -46t192 -134t124 -216t44 -290q0 -164 -44 -293t-124 -219t-192 -138.5t-247 -48.5t-246.5 48.5t-191.5 138.5t-124 219t-44 293zM366 1683h320l166 -245h-240zM401 674q0 -100 21.5 -181t59.5 -138.5t93 -88 t123 -30.5q137 0 217 117.5t80 320.5q0 201 -79.5 313.5t-217.5 112.5q-135 0 -216 -113t-81 -313z" />
+<glyph unicode="&#xd3;" horiz-adv-x="1398" d="M92 674q0 164 44 292t124 215t191.5 133t246.5 46t247 -46t192 -134t124 -216t44 -290q0 -164 -44 -293t-124 -219t-192 -138.5t-247 -48.5t-246.5 48.5t-191.5 138.5t-124 219t-44 293zM401 674q0 -100 21.5 -181t59.5 -138.5t93 -88t123 -30.5q137 0 217 117.5 t80 320.5q0 201 -79.5 313.5t-217.5 112.5q-135 0 -216 -113t-81 -313zM544 1438l166 245h320l-246 -245h-240z" />
+<glyph unicode="&#xd4;" horiz-adv-x="1398" d="M92 674q0 164 44 292t124 215t191.5 133t246.5 46t247 -46t192 -134t124 -216t44 -290q0 -164 -44 -293t-124 -219t-192 -138.5t-247 -48.5t-246.5 48.5t-191.5 138.5t-124 219t-44 293zM354 1438l197 245h294l197 -245h-231l-109 125h-8l-109 -125h-231zM401 674 q0 -100 21.5 -181t59.5 -138.5t93 -88t123 -30.5q137 0 217 117.5t80 320.5q0 201 -79.5 313.5t-217.5 112.5q-135 0 -216 -113t-81 -313z" />
+<glyph unicode="&#xd5;" horiz-adv-x="1398" d="M92 674q0 164 44 292t124 215t191.5 133t246.5 46t247 -46t192 -134t124 -216t44 -290q0 -164 -44 -293t-124 -219t-192 -138.5t-247 -48.5t-246.5 48.5t-191.5 138.5t-124 219t-44 293zM350 1440q16 141 77.5 209.5t141.5 68.5q41 0 76 -14t64.5 -31.5t55 -32 t50.5 -14.5q27 0 47 20.5t31 71.5h153q-16 -141 -77.5 -209.5t-141.5 -68.5q-41 0 -76 14t-64.5 31.5t-55 32t-50.5 14.5q-27 0 -47 -20.5t-31 -71.5h-153zM401 674q0 -100 21.5 -181t59.5 -138.5t93 -88t123 -30.5q137 0 217 117.5t80 320.5q0 201 -79.5 313.5 t-217.5 112.5q-135 0 -216 -113t-81 -313z" />
+<glyph unicode="&#xd6;" horiz-adv-x="1398" d="M92 674q0 164 44 292t124 215t191.5 133t246.5 46t247 -46t192 -134t124 -216t44 -290q0 -164 -44 -293t-124 -219t-192 -138.5t-247 -48.5t-246.5 48.5t-191.5 138.5t-124 219t-44 293zM352 1577q0 61 40 102t103 41t103.5 -41t40.5 -102t-40.5 -102t-103.5 -41t-103 41 t-40 102zM401 674q0 -100 21.5 -181t59.5 -138.5t93 -88t123 -30.5q137 0 217 117.5t80 320.5q0 201 -79.5 313.5t-217.5 112.5q-135 0 -216 -113t-81 -313zM757 1577q0 61 40 102t104 41q63 0 103 -41t40 -102t-40 -102t-103 -41t-103.5 41t-40.5 102z" />
+<glyph unicode="&#xd7;" d="M98 381l291 293l-291 295l150 151l293 -295l293 295l149 -151l-291 -295l291 -293l-149 -152l-293 295l-293 -295z" />
+<glyph unicode="&#xd8;" horiz-adv-x="1398" d="M80 35l141 176q-61 88 -95 203.5t-34 259.5q0 164 44 292t124 215t191.5 133t246.5 46q211 0 361 -109l135 168l156 -121l-156 -194q111 -170 111 -430q0 -164 -44 -293t-124 -219t-191.5 -138.5t-247.5 -48.5q-193 0 -336 97l-124 -156zM401 674q0 -59 7.5 -109.5 t19.5 -95.5l451 559q-72 72 -181 72q-135 0 -216 -113t-81 -313zM539 291q72 -55 159 -55q137 0 217 117.5t80 320.5q0 86 -16 164z" />
+<glyph unicode="&#xd9;" horiz-adv-x="1357" d="M150 618v717h301v-747q0 -197 59 -274.5t172 -77.5t175.5 77.5t62.5 274.5v747h290v-717q0 -336 -134 -489.5t-394 -153.5t-396 154t-136 489zM346 1683h320l166 -245h-240z" />
+<glyph unicode="&#xda;" horiz-adv-x="1357" d="M150 618v717h301v-747q0 -197 59 -274.5t172 -77.5t175.5 77.5t62.5 274.5v747h290v-717q0 -336 -134 -489.5t-394 -153.5t-396 154t-136 489zM524 1438l166 245h320l-246 -245h-240z" />
+<glyph unicode="&#xdb;" horiz-adv-x="1357" d="M150 618v717h301v-747q0 -197 59 -274.5t172 -77.5t175.5 77.5t62.5 274.5v747h290v-717q0 -336 -134 -489.5t-394 -153.5t-396 154t-136 489zM334 1438l197 245h294l197 -245h-231l-109 125h-8l-109 -125h-231z" />
+<glyph unicode="&#xdc;" horiz-adv-x="1357" d="M150 618v717h301v-747q0 -197 59 -274.5t172 -77.5t175.5 77.5t62.5 274.5v747h290v-717q0 -336 -134 -489.5t-394 -153.5t-396 154t-136 489zM332 1577q0 61 40 102t103 41t103.5 -41t40.5 -102t-40.5 -102t-103.5 -41t-103 41t-40 102zM737 1577q0 61 40 102t104 41 q63 0 103 -41t40 -102t-40 -102t-103 -41t-103.5 41t-40.5 102z" />
+<glyph unicode="&#xdd;" horiz-adv-x="1073" d="M-16 1335h321l121 -307q27 -76 53.5 -146.5t55.5 -148.5h8q29 78 56.5 148.5t55.5 146.5l119 307h316l-404 -860v-475h-301v475zM383 1438l166 245h320l-246 -245h-240z" />
+<glyph unicode="&#xde;" horiz-adv-x="1269" d="M164 0v1335h301v-202h184q109 0 205 -21.5t167 -72t112 -132.5t41 -202q0 -119 -42 -204t-114 -140.5t-167 -82t-202 -26.5h-184v-252h-301zM465 492h168q244 0 244 213q0 104 -62.5 146t-181.5 42h-168v-401z" />
+<glyph unicode="&#xdf;" horiz-adv-x="1294" d="M133 0v997q0 98 30 182.5t89 145.5t151.5 96t214.5 35q104 0 183.5 -28.5t131.5 -76.5t78.5 -109.5t26.5 -127.5q0 -74 -24.5 -124t-55 -90t-55 -73.5t-24.5 -72.5q0 -35 26.5 -58.5t66.5 -46t87 -49.5t87 -64.5t66.5 -92t26.5 -132.5q0 -70 -23.5 -131t-71.5 -106 t-119 -72t-163 -27t-163.5 25t-145.5 68l104 204q100 -74 195 -73q53 0 83 27.5t30 70.5q0 39 -27 66.5t-67 51t-87 49t-87 59.5t-66.5 80t-26.5 114q0 59 22.5 102t50.5 82t50.5 81t22.5 97q0 59 -34 99.5t-98 40.5q-94 0 -141 -69t-47 -187v-963h-297z" />
+<glyph unicode="&#xe0;" horiz-adv-x="1093" d="M96 283q0 160 135.5 250t436.5 120q-4 68 -41 108t-119 40q-66 0 -131.5 -24.5t-138.5 -67.5l-107 198q98 59 205.5 96t228.5 37q197 0 300.5 -111.5t103.5 -346.5v-582h-246l-23 104h-6q-66 -57 -138.5 -93t-158.5 -36q-70 0 -125 24t-94 65.5t-60.5 97t-21.5 121.5z M270 1483h291l182 -307h-219zM383 305q0 -49 31.5 -72.5t85.5 -23.5q53 0 90 22.5t78 63.5v178q-162 -23 -223.5 -66t-61.5 -102z" />
+<glyph unicode="&#xe1;" horiz-adv-x="1093" d="M96 283q0 160 135.5 250t436.5 120q-4 68 -41 108t-119 40q-66 0 -131.5 -24.5t-138.5 -67.5l-107 198q98 59 205.5 96t228.5 37q197 0 300.5 -111.5t103.5 -346.5v-582h-246l-23 104h-6q-66 -57 -138.5 -93t-158.5 -36q-70 0 -125 24t-94 65.5t-60.5 97t-21.5 121.5z M383 305q0 -49 31.5 -72.5t85.5 -23.5q53 0 90 22.5t78 63.5v178q-162 -23 -223.5 -66t-61.5 -102zM407 1176l182 307h291l-254 -307h-219z" />
+<glyph unicode="&#xe2;" horiz-adv-x="1093" d="M96 283q0 160 135.5 250t436.5 120q-4 68 -41 108t-119 40q-66 0 -131.5 -24.5t-138.5 -67.5l-107 198q98 59 205.5 96t228.5 37q197 0 300.5 -111.5t103.5 -346.5v-582h-246l-23 104h-6q-66 -57 -138.5 -93t-158.5 -36q-70 0 -125 24t-94 65.5t-60.5 97t-21.5 121.5z M260 1176l196 307h238l196 -307h-202l-109 161h-8l-109 -161h-202zM383 305q0 -49 31.5 -72.5t85.5 -23.5q53 0 90 22.5t78 63.5v178q-162 -23 -223.5 -66t-61.5 -102z" />
+<glyph unicode="&#xe3;" horiz-adv-x="1093" d="M96 283q0 160 135.5 250t436.5 120q-4 68 -41 108t-119 40q-66 0 -131.5 -24.5t-138.5 -67.5l-107 198q98 59 205.5 96t228.5 37q197 0 300.5 -111.5t103.5 -346.5v-582h-246l-23 104h-6q-66 -57 -138.5 -93t-158.5 -36q-70 0 -125 24t-94 65.5t-60.5 97t-21.5 121.5z M235 1178q16 141 73.5 208.5t139.5 67.5q41 0 76 -14.5t63.5 -30.5t54 -30.5t48.5 -14.5q27 0 43 20.5t28 69.5h154q-16 -139 -73.5 -207.5t-139.5 -68.5q-41 0 -75 14t-63.5 31.5t-55 32t-48.5 14.5q-27 0 -43 -20.5t-28 -71.5h-154zM383 305q0 -49 31.5 -72.5t85.5 -23.5 q53 0 90 22.5t78 63.5v178q-162 -23 -223.5 -66t-61.5 -102z" />
+<glyph unicode="&#xe4;" horiz-adv-x="1093" d="M96 283q0 160 135.5 250t436.5 120q-4 68 -41 108t-119 40q-66 0 -131.5 -24.5t-138.5 -67.5l-107 198q98 59 205.5 96t228.5 37q197 0 300.5 -111.5t103.5 -346.5v-582h-246l-23 104h-6q-66 -57 -138.5 -93t-158.5 -36q-70 0 -125 24t-94 65.5t-60.5 97t-21.5 121.5z M229 1313q0 59 40 100t103 41t103.5 -41t40.5 -100q0 -61 -40.5 -102.5t-103.5 -41.5t-103 41t-40 103zM383 305q0 -49 31.5 -72.5t85.5 -23.5q53 0 90 22.5t78 63.5v178q-162 -23 -223.5 -66t-61.5 -102zM634 1313q0 59 40 100t104 41q63 0 103 -41t40 -100 q0 -61 -40 -102.5t-103 -41.5t-103.5 41t-40.5 103z" />
+<glyph unicode="&#xe5;" horiz-adv-x="1093" d="M96 283q0 160 135.5 250t436.5 120q-4 68 -41 108t-119 40q-66 0 -131.5 -24.5t-138.5 -67.5l-107 198q98 59 205.5 96t228.5 37q197 0 300.5 -111.5t103.5 -346.5v-582h-246l-23 104h-6q-66 -57 -138.5 -93t-158.5 -36q-70 0 -125 24t-94 65.5t-60.5 97t-21.5 121.5z M344 1331q0 96 63.5 152.5t167.5 56.5t167.5 -56.5t63.5 -152.5t-63.5 -152.5t-167.5 -56.5t-167.5 56.5t-63.5 152.5zM383 305q0 -49 31.5 -72.5t85.5 -23.5q53 0 90 22.5t78 63.5v178q-162 -23 -223.5 -66t-61.5 -102zM491 1331q0 -43 24.5 -69.5t59.5 -26.5t59.5 26.5 t24.5 69.5t-24.5 69.5t-59.5 26.5t-59.5 -26.5t-24.5 -69.5z" />
+<glyph unicode="&#xe6;" horiz-adv-x="1609" d="M96 281q0 162 133 253t433 121q-4 66 -38 106t-120 40q-61 0 -127 -24.5t-139 -67.5l-107 198q98 59 201.5 96t214.5 37q94 0 165.5 -41t116.5 -112q66 74 137.5 113.5t163.5 39.5q100 0 176 -37.5t126.5 -104.5t76 -157t25.5 -194q0 -41 -4 -75t-8 -52h-586 q16 -106 83.5 -157.5t160.5 -51.5q57 0 108 20.5t107 53.5l102 -195q-78 -53 -173 -84t-185 -31q-115 0 -200 43t-151 115q-109 -86 -198.5 -122t-192.5 -36q-70 0 -125 24t-94 65.5t-60.5 97t-21.5 119.5zM383 305q0 -49 31.5 -72.5t85.5 -23.5q53 0 101 22.5t89 63.5 q-23 63 -28 135l-3 43q-150 -23 -213 -66t-63 -102zM936 604h342q0 92 -37 149.5t-121 57.5q-72 0 -122 -50t-62 -157z" />
+<glyph unicode="&#xe7;" horiz-adv-x="956" d="M74 508q0 127 43 226.5t115.5 167t169 103t200.5 35.5q94 0 170 -31.5t127 -84.5l-137 -187q-72 59 -141 60q-111 0 -174.5 -78t-63.5 -211t64.5 -211t162.5 -78q55 0 100.5 22.5t82.5 51.5l120 -191q-74 -66 -164 -96.5t-174 -30.5q-106 0 -197 36t-158.5 103.5 t-106.5 167t-39 226.5zM367 -332q74 8 122 28.5t48 61.5q0 27 -25.5 48.5t-95.5 37.5l82 164h176l-41 -96q53 -16 86 -52t33 -100q0 -53 -29.5 -91t-79 -64.5t-115 -40t-138.5 -17.5z" />
+<glyph unicode="&#xe8;" horiz-adv-x="1060" d="M74 508q0 123 41 222t107.5 168t152.5 105.5t178 36.5q109 0 189.5 -36.5t135 -102t81 -155t26.5 -193.5q0 -41 -4 -75t-8 -52h-608q20 -117 90.5 -169t173.5 -52q109 0 219 67l100 -182q-78 -53 -173 -84t-187 -31q-109 0 -203 36t-163.5 104.5t-108.5 167t-39 225.5z M248 1483h291l182 -307h-219zM362 612h367q0 88 -39 143.5t-131 55.5q-72 0 -126 -48t-71 -151z" />
+<glyph unicode="&#xe9;" horiz-adv-x="1060" d="M74 508q0 123 41 222t107.5 168t152.5 105.5t178 36.5q109 0 189.5 -36.5t135 -102t81 -155t26.5 -193.5q0 -41 -4 -75t-8 -52h-608q20 -117 90.5 -169t173.5 -52q109 0 219 67l100 -182q-78 -53 -173 -84t-187 -31q-109 0 -203 36t-163.5 104.5t-108.5 167t-39 225.5z M362 612h367q0 88 -39 143.5t-131 55.5q-72 0 -126 -48t-71 -151zM385 1176l182 307h291l-254 -307h-219z" />
+<glyph unicode="&#xea;" horiz-adv-x="1060" d="M74 508q0 123 41 222t107.5 168t152.5 105.5t178 36.5q109 0 189.5 -36.5t135 -102t81 -155t26.5 -193.5q0 -41 -4 -75t-8 -52h-608q20 -117 90.5 -169t173.5 -52q109 0 219 67l100 -182q-78 -53 -173 -84t-187 -31q-109 0 -203 36t-163.5 104.5t-108.5 167t-39 225.5z M238 1176l196 307h238l196 -307h-202l-109 161h-8l-109 -161h-202zM362 612h367q0 88 -39 143.5t-131 55.5q-72 0 -126 -48t-71 -151z" />
+<glyph unicode="&#xeb;" horiz-adv-x="1060" d="M74 508q0 123 41 222t107.5 168t152.5 105.5t178 36.5q109 0 189.5 -36.5t135 -102t81 -155t26.5 -193.5q0 -41 -4 -75t-8 -52h-608q20 -117 90.5 -169t173.5 -52q109 0 219 67l100 -182q-78 -53 -173 -84t-187 -31q-109 0 -203 36t-163.5 104.5t-108.5 167t-39 225.5z M207 1313q0 59 40 100t103 41t103.5 -41t40.5 -100q0 -61 -40.5 -102.5t-103.5 -41.5t-103 41t-40 103zM362 612h367q0 88 -39 143.5t-131 55.5q-72 0 -126 -48t-71 -151zM612 1313q0 59 40 100t104 41q63 0 103 -41t40 -100q0 -61 -40 -102.5t-103 -41.5t-103.5 41 t-40.5 103z" />
+<glyph unicode="&#xec;" horiz-adv-x="565" d="M-22 1483h291l182 -307h-219zM133 0v1016h301v-1016h-301z" />
+<glyph unicode="&#xed;" horiz-adv-x="565" d="M115 1176l182 307h291l-254 -307h-219zM133 0v1016h301v-1016h-301z" />
+<glyph unicode="&#xee;" horiz-adv-x="565" d="M-32 1176l196 307h238l196 -307h-202l-109 161h-8l-109 -161h-202zM133 0v1016h301v-1016h-301z" />
+<glyph unicode="&#xef;" horiz-adv-x="565" d="M-63 1313q0 59 40 100t103 41t103.5 -41t40.5 -100q0 -61 -40.5 -102.5t-103.5 -41.5t-103 41t-40 103zM133 0v1016h301v-1016h-301zM342 1313q0 59 40 100t104 41q63 0 103 -41t40 -100q0 -61 -40 -102.5t-103 -41.5t-103.5 41t-40.5 103z" />
+<glyph unicode="&#xf0;" horiz-adv-x="1146" d="M86 467q0 111 35 197t93 145t133 91t155 32q59 0 116.5 -19.5t100.5 -66.5q-53 158 -174 272l-291 -145l-78 133l238 119q-41 29 -87 55.5t-98 52.5l131 183q72 -37 143.5 -80t139.5 -95l293 148l78 -133l-246 -125q121 -123 198.5 -290t77.5 -396q0 -123 -33.5 -227.5 t-96 -180.5t-152.5 -119t-203 -43q-96 0 -181 35t-150.5 98.5t-103.5 154.5t-38 204zM360 467q0 -121 62.5 -184.5t146.5 -63.5q86 0 140.5 75t54.5 234v47.5t-2 45.5q-47 51 -96.5 69.5t-102.5 18.5q-90 0 -146.5 -59.5t-56.5 -182.5z" />
+<glyph unicode="&#xf1;" horiz-adv-x="1171" d="M133 0v1016h246l20 -129h9q66 61 143.5 107t181.5 46q166 0 241 -108.5t75 -300.5v-631h-301v592q0 111 -30 151.5t-95 40.5q-57 0 -98.5 -25.5t-90.5 -72.5v-686h-301zM291 1178q16 141 73.5 208.5t139.5 67.5q41 0 76 -14.5t63.5 -30.5t54 -30.5t48.5 -14.5 q27 0 43 20.5t28 69.5h154q-16 -139 -73.5 -207.5t-139.5 -68.5q-41 0 -75 14t-63.5 31.5t-55 32t-48.5 14.5q-27 0 -43 -20.5t-28 -71.5h-154z" />
+<glyph unicode="&#xf2;" horiz-adv-x="1136" d="M74 508q0 127 41 226.5t109.5 167t158.5 103t186 35.5t185.5 -35.5t158 -103t109.5 -167t41 -226.5t-41 -226.5t-109.5 -167t-157.5 -103.5t-186 -36q-96 0 -186 36t-158.5 103.5t-109.5 167t-41 226.5zM262 1483h291l182 -307h-219zM383 508q0 -133 46 -211t140 -78 q92 0 139.5 78t47.5 211t-47 211t-140 78q-94 0 -140 -78t-46 -211z" />
+<glyph unicode="&#xf3;" horiz-adv-x="1136" d="M74 508q0 127 41 226.5t109.5 167t158.5 103t186 35.5t185.5 -35.5t158 -103t109.5 -167t41 -226.5t-41 -226.5t-109.5 -167t-157.5 -103.5t-186 -36q-96 0 -186 36t-158.5 103.5t-109.5 167t-41 226.5zM383 508q0 -133 46 -211t140 -78q92 0 139.5 78t47.5 211t-47 211 t-140 78q-94 0 -140 -78t-46 -211zM399 1176l182 307h291l-254 -307h-219z" />
+<glyph unicode="&#xf4;" horiz-adv-x="1136" d="M74 508q0 127 41 226.5t109.5 167t158.5 103t186 35.5t185.5 -35.5t158 -103t109.5 -167t41 -226.5t-41 -226.5t-109.5 -167t-157.5 -103.5t-186 -36q-96 0 -186 36t-158.5 103.5t-109.5 167t-41 226.5zM252 1176l196 307h238l196 -307h-202l-109 161h-8l-109 -161h-202z M383 508q0 -133 46 -211t140 -78q92 0 139.5 78t47.5 211t-47 211t-140 78q-94 0 -140 -78t-46 -211z" />
+<glyph unicode="&#xf5;" horiz-adv-x="1136" d="M74 508q0 127 41 226.5t109.5 167t158.5 103t186 35.5t185.5 -35.5t158 -103t109.5 -167t41 -226.5t-41 -226.5t-109.5 -167t-157.5 -103.5t-186 -36q-96 0 -186 36t-158.5 103.5t-109.5 167t-41 226.5zM227 1178q16 141 73.5 208.5t139.5 67.5q41 0 76 -14.5t63.5 -30.5 t54 -30.5t48.5 -14.5q27 0 43 20.5t28 69.5h154q-16 -139 -73.5 -207.5t-139.5 -68.5q-41 0 -75 14t-63.5 31.5t-55 32t-48.5 14.5q-27 0 -43 -20.5t-28 -71.5h-154zM383 508q0 -133 46 -211t140 -78q92 0 139.5 78t47.5 211t-47 211t-140 78q-94 0 -140 -78t-46 -211z" />
+<glyph unicode="&#xf6;" horiz-adv-x="1136" d="M74 508q0 127 41 226.5t109.5 167t158.5 103t186 35.5t185.5 -35.5t158 -103t109.5 -167t41 -226.5t-41 -226.5t-109.5 -167t-157.5 -103.5t-186 -36q-96 0 -186 36t-158.5 103.5t-109.5 167t-41 226.5zM221 1313q0 59 40 100t103 41t103.5 -41t40.5 -100 q0 -61 -40.5 -102.5t-103.5 -41.5t-103 41t-40 103zM383 508q0 -133 46 -211t140 -78q92 0 139.5 78t47.5 211t-47 211t-140 78q-94 0 -140 -78t-46 -211zM626 1313q0 59 40 100t104 41q63 0 103 -41t40 -100q0 -61 -40 -102.5t-103 -41.5t-103.5 41t-40.5 103z" />
+<glyph unicode="&#xf7;" d="M70 569v213h942v-213h-942zM375 307q0 70 47 114t119 44t119 -44t47 -114t-47.5 -113.5t-118.5 -43.5q-72 0 -119 43.5t-47 113.5zM375 1044q0 70 47 114t119 44t119 -44t47 -114t-47 -113.5t-119 -43.5t-119 44t-47 113z" />
+<glyph unicode="&#xf8;" horiz-adv-x="1136" d="M74 508q0 127 41 226.5t109.5 167t158.5 103t186 35.5q72 0 141.5 -20.5t129.5 -58.5l90 110l112 -88l-96 -119q53 -68 85 -157t32 -199q0 -127 -41 -226.5t-109.5 -167t-157.5 -103.5t-186 -36q-152 0 -274 82l-88 -108l-113 86l96 119q-53 66 -84.5 154.5t-31.5 199.5z M365 524q0 -82 14 -137l305 381q-45 39 -115 39q-94 0 -149 -77t-55 -206zM451 250q47 -41 118 -41q92 0 147.5 76.5t55.5 206.5q0 84 -14 139z" />
+<glyph unicode="&#xf9;" horiz-adv-x="1163" d="M123 385v631h301v-592q0 -111 30.5 -152t96.5 -41q57 0 96 27t84 86v672h301v-1016h-246l-22 141h-6q-66 -78 -140.5 -122t-179.5 -44q-166 0 -240.5 109t-74.5 301zM279 1483h291l182 -307h-219z" />
+<glyph unicode="&#xfa;" horiz-adv-x="1163" d="M123 385v631h301v-592q0 -111 30.5 -152t96.5 -41q57 0 96 27t84 86v672h301v-1016h-246l-22 141h-6q-66 -78 -140.5 -122t-179.5 -44q-166 0 -240.5 109t-74.5 301zM416 1176l182 307h291l-254 -307h-219z" />
+<glyph unicode="&#xfb;" horiz-adv-x="1163" d="M123 385v631h301v-592q0 -111 30.5 -152t96.5 -41q57 0 96 27t84 86v672h301v-1016h-246l-22 141h-6q-66 -78 -140.5 -122t-179.5 -44q-166 0 -240.5 109t-74.5 301zM269 1176l196 307h238l196 -307h-202l-109 161h-8l-109 -161h-202z" />
+<glyph unicode="&#xfc;" horiz-adv-x="1163" d="M123 385v631h301v-592q0 -111 30.5 -152t96.5 -41q57 0 96 27t84 86v672h301v-1016h-246l-22 141h-6q-66 -78 -140.5 -122t-179.5 -44q-166 0 -240.5 109t-74.5 301zM238 1313q0 59 40 100t103 41t103.5 -41t40.5 -100q0 -61 -40.5 -102.5t-103.5 -41.5t-103 41t-40 103z M643 1313q0 59 40 100t104 41q63 0 103 -41t40 -100q0 -61 -40 -102.5t-103 -41.5t-103.5 41t-40.5 103z" />
+<glyph unicode="&#xfd;" horiz-adv-x="1067" d="M25 1016h303l145 -436q23 -70 41 -141.5t39 -147.5h8q16 72 33.5 144.5t36.5 144.5l123 436h288l-352 -1026q-37 -96 -77 -169t-92 -121t-118.5 -72.5t-156.5 -24.5q-47 0 -80 5t-64 15l54 230q14 -4 32.5 -8.5t34.5 -4.5q76 0 117 37t61 96l15 54zM377 1176l182 307h291 l-254 -307h-219z" />
+<glyph unicode="&#xfe;" horiz-adv-x="1173" d="M133 -377v1813h301v-353l-8 -143q53 47 118.5 73.5t135.5 26.5q96 0 173 -36.5t130 -104.5t82 -163t29 -212q0 -131 -36 -232.5t-96.5 -172t-137 -107.5t-158.5 -37q-74 0 -130.5 25t-109.5 72l8 -152v-297h-301zM434 287q41 -37 82 -51.5t80 -14.5q78 0 133 70.5 t55 228.5q0 274 -176 275q-88 0 -174 -93v-415z" />
+<glyph unicode="&#xff;" horiz-adv-x="1067" d="M25 1016h303l145 -436q23 -70 41 -141.5t39 -147.5h8q16 72 33.5 144.5t36.5 144.5l123 436h288l-352 -1026q-37 -96 -77 -169t-92 -121t-118.5 -72.5t-156.5 -24.5q-47 0 -80 5t-64 15l54 230q14 -4 32.5 -8.5t34.5 -4.5q76 0 117 37t61 96l15 54zM199 1313q0 59 40 100 t103 41t103.5 -41t40.5 -100q0 -61 -40.5 -102.5t-103.5 -41.5t-103 41t-40 103zM604 1313q0 59 40 100t104 41q63 0 103 -41t40 -100q0 -61 -40 -102.5t-103 -41.5t-103.5 41t-40.5 103z" />
+<glyph unicode="&#x152;" horiz-adv-x="1779" d="M92 674q0 172 51.5 297t143.5 205.5t218 119.5t273 39h877v-254h-508v-268h428v-252h-428v-307h528v-254h-913q-141 0 -264 41t-213 124t-141.5 210t-51.5 299zM401 674q0 -121 29 -204t81 -133t125 -71.5t161 -21.5h49v848h-49q-88 0 -161 -20.5t-125 -69t-81 -128 t-29 -200.5z" />
+<glyph unicode="&#x153;" horiz-adv-x="1683" d="M74 508q0 127 39 226.5t104.5 167t152.5 103t183 35.5q109 0 189.5 -47t140.5 -131q61 86 145 132t176 46q100 0 176 -37.5t127.5 -104.5t77 -157t25.5 -194q0 -41 -4 -75t-9 -52h-587q16 -106 83.5 -157.5t159.5 -51.5q57 0 108.5 20.5t106.5 53.5l105 -195 q-78 -53 -174 -84t-187 -31q-92 0 -178 46.5t-149 132.5q-63 -88 -144.5 -133.5t-193.5 -45.5q-98 0 -184.5 36t-151 103.5t-101 167t-36.5 226.5zM379 508q0 -133 45 -211t129 -78t131 78t47 211t-47 211t-131 78t-129 -78t-45 -211zM1010 604h342q0 92 -37 149.5 t-121 57.5q-72 0 -122 -50t-62 -157z" />
+<glyph unicode="&#x178;" horiz-adv-x="1073" d="M-16 1335h321l121 -307q27 -76 53.5 -146.5t55.5 -148.5h8q29 78 56.5 148.5t55.5 146.5l119 307h316l-404 -860v-475h-301v475zM191 1577q0 61 40 102t103 41t103.5 -41t40.5 -102t-40.5 -102t-103.5 -41t-103 41t-40 102zM596 1577q0 61 40 102t104 41q63 0 103 -41 t40 -102t-40 -102t-103 -41t-103.5 41t-40.5 102z" />
+<glyph unicode="&#x2c6;" horiz-adv-x="1136" d="M254 1176l196 307h238l196 -307h-202l-109 161h-8l-109 -161h-202z" />
+<glyph unicode="&#x2dc;" horiz-adv-x="1136" d="M229 1178q16 141 73.5 208.5t139.5 67.5q41 0 76 -14.5t63.5 -30.5t54 -30.5t48.5 -14.5q27 0 43 20.5t28 69.5h154q-16 -139 -73.5 -207.5t-139.5 -68.5q-41 0 -75 14t-63.5 31.5t-55 32t-48.5 14.5q-27 0 -43 -20.5t-28 -71.5h-154z" />
+<glyph unicode="&#x2000;" horiz-adv-x="914" />
+<glyph unicode="&#x2001;" horiz-adv-x="1829" />
+<glyph unicode="&#x2002;" horiz-adv-x="914" />
+<glyph unicode="&#x2003;" horiz-adv-x="1829" />
+<glyph unicode="&#x2004;" horiz-adv-x="609" />
+<glyph unicode="&#x2005;" horiz-adv-x="457" />
+<glyph unicode="&#x2006;" horiz-adv-x="304" />
+<glyph unicode="&#x2007;" horiz-adv-x="304" />
+<glyph unicode="&#x2008;" horiz-adv-x="228" />
+<glyph unicode="&#x2009;" horiz-adv-x="365" />
+<glyph unicode="&#x200a;" horiz-adv-x="101" />
+<glyph unicode="&#x2010;" horiz-adv-x="679" d="M88 412v213h504v-213h-504z" />
+<glyph unicode="&#x2011;" horiz-adv-x="679" d="M88 412v213h504v-213h-504z" />
+<glyph unicode="&#x2012;" horiz-adv-x="679" d="M88 412v213h504v-213h-504z" />
+<glyph unicode="&#x2013;" horiz-adv-x="983" d="M88 422v192h807v-192h-807z" />
+<glyph unicode="&#x2014;" horiz-adv-x="1638" d="M88 422v192h1462v-192h-1462z" />
+<glyph unicode="&#x2018;" horiz-adv-x="614" d="M113 961q0 145 71.5 255.5t218.5 182.5l66 -131q-92 -47 -138 -107.5t-46 -152.5q6 2 20 2q66 0 112 -40t46 -110q0 -78 -45 -123t-113 -45q-96 0 -144 71t-48 198z" />
+<glyph unicode="&#x2019;" horiz-adv-x="614" d="M145 852q92 47 138.5 107.5t46.5 152.5q-6 -2 -19 -2q-66 0 -111.5 40t-45.5 110q0 78 44 122.5t113 44.5q94 0 143.5 -69.5t49.5 -198.5q0 -145 -73 -255.5t-220 -182.5z" />
+<glyph unicode="&#x201a;" horiz-adv-x="614" d="M145 -213q92 47 138.5 107.5t46.5 152.5q-6 -2 -19 -2q-66 0 -111.5 40t-45.5 110q0 78 44 122.5t113 44.5q94 0 143.5 -69.5t49.5 -198.5q0 -145 -73 -255.5t-220 -182.5z" />
+<glyph unicode="&#x201c;" horiz-adv-x="1097" d="M113 961q0 145 71.5 255.5t218.5 182.5l66 -131q-92 -47 -138 -107.5t-46 -152.5q6 2 20 2q66 0 112 -40t46 -110q0 -78 -45 -123t-113 -45q-96 0 -144 71t-48 198zM596 961q0 145 71.5 255.5t218.5 182.5l66 -131q-92 -47 -138 -107.5t-46 -152.5q6 2 20 2q66 0 112 -40 t46 -110q0 -78 -45 -123t-113 -45q-96 0 -144 71t-48 198z" />
+<glyph unicode="&#x201d;" horiz-adv-x="1097" d="M145 852q92 47 138.5 107.5t46.5 152.5q-6 -2 -19 -2q-66 0 -111.5 40t-45.5 110q0 78 44 122.5t113 44.5q94 0 143.5 -69.5t49.5 -198.5q0 -145 -73 -255.5t-220 -182.5zM628 852q92 47 138.5 107.5t46.5 152.5q-6 -2 -19 -2q-66 0 -111.5 40t-45.5 110q0 78 44 122.5 t113 44.5q94 0 143.5 -69.5t49.5 -198.5q0 -145 -73 -255.5t-220 -182.5z" />
+<glyph unicode="&#x201e;" horiz-adv-x="1097" d="M145 -213q92 47 138.5 107.5t46.5 152.5q-6 -2 -19 -2q-66 0 -111.5 40t-45.5 110q0 78 44 122.5t113 44.5q94 0 143.5 -69.5t49.5 -198.5q0 -145 -73 -255.5t-220 -182.5zM628 -213q92 47 138.5 107.5t46.5 152.5q-6 -2 -19 -2q-66 0 -111.5 40t-45.5 110q0 78 44 122.5 t113 44.5q94 0 143.5 -69.5t49.5 -198.5q0 -145 -73 -255.5t-220 -182.5z" />
+<glyph unicode="&#x2022;" horiz-adv-x="706" d="M82 537q0 61 20.5 113t57.5 90t86 59.5t106 21.5t107.5 -21.5t87.5 -59.5t57.5 -90t20.5 -113t-20.5 -112.5t-57.5 -90.5t-87.5 -60.5t-107.5 -21.5t-106 21.5t-86 60.5t-57.5 90t-20.5 113z" />
+<glyph unicode="&#x2026;" horiz-adv-x="2000" d="M156 164q0 82 52 136t130 54t130 -54t52 -136q0 -80 -52 -134.5t-130 -54.5t-130 54.5t-52 134.5zM834 164q0 82 52 136t130 54t130 -54t52 -136q0 -80 -52 -134.5t-130 -54.5t-130 54.5t-52 134.5zM1511 164q0 82 52 136t130 54t130 -54t52 -136q0 -80 -52 -134.5 t-130 -54.5t-130 54.5t-52 134.5z" />
+<glyph unicode="&#x202f;" horiz-adv-x="365" />
+<glyph unicode="&#x2039;" horiz-adv-x="598" d="M100 410v213l275 295l112 -91l-227 -311l227 -311l-112 -90z" />
+<glyph unicode="&#x203a;" horiz-adv-x="598" d="M111 205l227 311l-227 311l112 91l275 -295v-213l-275 -295z" />
+<glyph unicode="&#x205f;" horiz-adv-x="457" />
+<glyph unicode="&#x20ac;" d="M43 440v142l111 8q-2 14 -2 26.5v26.5v26.5t2 26.5h-111v140l127 10q25 115 74 204t119.5 150.5t158.5 93t191 31.5q92 0 180 -41t154 -119l-168 -161q-39 39 -81 63.5t-96 24.5q-88 0 -146 -63.5t-83 -180.5h438v-152h-456v-43v-30.5t2 -28.5h372v-154h-352 q29 -113 87.5 -172t144.5 -59q59 0 103 28.5t85 81.5l166 -155q-74 -92 -168 -140.5t-205 -48.5q-193 0 -333 118t-187 347h-127z" />
+<glyph unicode="&#x2122;" horiz-adv-x="1396" d="M8 1206v178h551v-178h-178v-465h-195v465h-178zM647 741v643h227l78 -184l41 -137h8l43 137l76 184h230v-643h-191v197l23 236h-8l-109 -338h-133l-109 338h-8l23 -236v-197h-191z" />
+<glyph unicode="&#xe000;" horiz-adv-x="1013" d="M0 0v1014h1014v-1014h-1014z" />
+<glyph unicode="&#xfb01;" horiz-adv-x="1300" d="M49 780v224l135 10v55q0 80 19.5 151.5t64.5 125t117 84t174 30.5q63 0 115.5 -12t87.5 -25l-55 -221q-57 20 -105 21q-55 0 -86 -34t-31 -112v-61h183v-236h-183v-780h-301v780h-135zM844 1323q0 70 49 113t125 43q78 0 126 -43t48 -113t-48 -114t-126 -44 q-76 0 -125 44t-49 114zM868 0v1016h301v-1016h-301z" />
+<glyph unicode="&#xfb02;" horiz-adv-x="1284" d="M49 780v224l135 10v55q0 80 19.5 151.5t64.5 125t117 84t174 30.5q63 0 115.5 -12t87.5 -25l-55 -221q-57 20 -105 21q-55 0 -86 -34t-31 -112v-61h183v-236h-183v-780h-301v780h-135zM831 315v1121h301v-1133q0 -47 17.5 -65.5t35.5 -18.5h17.5t19.5 4l37 -223 q-25 -10 -62.5 -17.5t-88.5 -7.5q-78 0 -131.5 25t-85 69t-46 106.5t-14.5 139.5z" />
+</font>
+</defs></svg> 
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-700-normal-webfont.ttf b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-700-normal-webfont.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..bf5f60a6654b6728bd8804436562f331a770af8c
Binary files /dev/null and b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-700-normal-webfont.ttf differ
diff --git a/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-700-normal-webfont.woff b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-700-normal-webfont.woff
new file mode 100644
index 0000000000000000000000000000000000000000..42ca5dc005aabb888fac8dbc810c5c20f88e67b4
Binary files /dev/null and b/app/design/frontend/magento_plushe/fonts/sourcesanspro/sourcesanspro-700-normal-webfont.woff differ
diff --git a/app/design/frontend/magento_plushe/images/banner1.jpg b/app/design/frontend/magento_plushe/images/banner1.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..5f91054dab522771221d545690835a01f72e33cc
Binary files /dev/null and b/app/design/frontend/magento_plushe/images/banner1.jpg differ
diff --git a/app/design/frontend/magento_plushe/images/banner2.jpg b/app/design/frontend/magento_plushe/images/banner2.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..6d00c1a05d5b0267f165ae6a843135851f3eaff5
Binary files /dev/null and b/app/design/frontend/magento_plushe/images/banner2.jpg differ
diff --git a/app/design/frontend/magento_plushe/images/banner3.jpg b/app/design/frontend/magento_plushe/images/banner3.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..fff706df31cc47159c1560b272b3129c8967f04a
Binary files /dev/null and b/app/design/frontend/magento_plushe/images/banner3.jpg differ
diff --git a/app/design/frontend/magento_plushe/images/banner4.jpg b/app/design/frontend/magento_plushe/images/banner4.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..efc84cbe21a2e99a70b33fc11603586107c8e4ec
Binary files /dev/null and b/app/design/frontend/magento_plushe/images/banner4.jpg differ
diff --git a/app/design/frontend/magento_plushe/images/blog_bg.png b/app/design/frontend/magento_plushe/images/blog_bg.png
new file mode 100644
index 0000000000000000000000000000000000000000..f20b394d5a21879e9743f3f98b64071e1ff88042
Binary files /dev/null and b/app/design/frontend/magento_plushe/images/blog_bg.png differ
diff --git a/app/design/frontend/magento_plushe/images/header-bg.jpg b/app/design/frontend/magento_plushe/images/header-bg.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..994156d1a36a237b84481ede705c9598c5794ec9
Binary files /dev/null and b/app/design/frontend/magento_plushe/images/header-bg.jpg differ
diff --git a/app/design/frontend/magento_plushe/images/info_photo.jpg b/app/design/frontend/magento_plushe/images/info_photo.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..dc150e4367e783cba98100101beaf054957f3a4d
Binary files /dev/null and b/app/design/frontend/magento_plushe/images/info_photo.jpg differ
diff --git a/app/design/frontend/magento_plushe/images/loader.gif b/app/design/frontend/magento_plushe/images/loader.gif
new file mode 100644
index 0000000000000000000000000000000000000000..53b5ac653eb1e7f42844e5fc0afa59a62110b086
Binary files /dev/null and b/app/design/frontend/magento_plushe/images/loader.gif differ
diff --git a/app/design/frontend/magento_plushe/images/logo.gif b/app/design/frontend/magento_plushe/images/logo.gif
new file mode 100644
index 0000000000000000000000000000000000000000..7f1dc1ad3c939aba615ac5f95e5d01a254659c2d
Binary files /dev/null and b/app/design/frontend/magento_plushe/images/logo.gif differ
diff --git a/app/design/frontend/magento_plushe/images/logo_notext.gif b/app/design/frontend/magento_plushe/images/logo_notext.gif
new file mode 100644
index 0000000000000000000000000000000000000000..133a77524368fb060a9e47c72b05a7240e75d68c
Binary files /dev/null and b/app/design/frontend/magento_plushe/images/logo_notext.gif differ
diff --git a/app/design/frontend/magento_plushe/images/main_image1.jpg b/app/design/frontend/magento_plushe/images/main_image1.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..728174638d03156b34d6c3eceec19492ecc0971e
Binary files /dev/null and b/app/design/frontend/magento_plushe/images/main_image1.jpg differ
diff --git a/app/design/frontend/magento_plushe/images/social-links.png b/app/design/frontend/magento_plushe/images/social-links.png
new file mode 100644
index 0000000000000000000000000000000000000000..66eb6c9083e3b1f170c19963bf849ffcbf69241e
Binary files /dev/null and b/app/design/frontend/magento_plushe/images/social-links.png differ
diff --git a/app/design/frontend/magento_plushe/images/texture.png b/app/design/frontend/magento_plushe/images/texture.png
new file mode 100644
index 0000000000000000000000000000000000000000..2b5301b01cd63825074a43b5878e339f7c212f1d
Binary files /dev/null and b/app/design/frontend/magento_plushe/images/texture.png differ
diff --git a/app/design/frontend/magento_plushe/js/extra-options.js b/app/design/frontend/magento_plushe/js/extra-options.js
new file mode 100644
index 0000000000000000000000000000000000000000..b7256ba4fef8e1a1eecf0d3c8d7465e32e7d82bb
--- /dev/null
+++ b/app/design/frontend/magento_plushe/js/extra-options.js
@@ -0,0 +1,59 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    gift options
+ * @package     mage
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/*jshint jquery:true*/
+(function($) {
+    "use strict";
+    $.widget('mage.extraOptions', {
+        options: {
+            events: 'billingSave shippingSave',
+            additionalContainer: '#onepage-checkout-shipping-method-additional-load'
+        },
+
+        /**
+         * Set up event handler for requesting any additional extra options from the backend.
+         * @private
+         */
+        _create: function() {
+            this.element.on(this.options.events, $.proxy(this._addExtraOptions, this));
+        },
+
+        /**
+         * Fetch the extra options using an Ajax call. Extra options include Gift Receipt and
+         * Printed Card.
+         * @private
+         */
+        _addExtraOptions: function() {
+            $.ajax({
+                url: this.options.additionalUrl,
+                context: this,
+                type: 'post',
+                async: false,
+                success: function(response) {
+                    $(this.options.additionalContainer).html(response).trigger('contentUpdated');
+                }
+            });
+        }
+    });
+})(jQuery);
diff --git a/app/design/frontend/magento_plushe/js/head.js b/app/design/frontend/magento_plushe/js/head.js
new file mode 100644
index 0000000000000000000000000000000000000000..ba5d3d10a6d368883410a13bae0936db83b4e8c2
--- /dev/null
+++ b/app/design/frontend/magento_plushe/js/head.js
@@ -0,0 +1,356 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright  Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+(function (a, w) {
+    function f(a) {
+        p[p.length] = a
+    }
+
+    function m(a) {
+        q.className = q.className.replace(RegExp("\\b" + a + "\\b"), "")
+    }
+
+    function k(a, d) {
+        for (var b = 0, c = a.length; b < c; b++)d.call(a, a[b], b)
+    }
+
+    function s() {
+        q.className = q.className.replace(/ (w-|eq-|gt-|gte-|lt-|lte-|portrait|no-portrait|landscape|no-landscape)\d+/g, "");
+        var b = a.innerWidth || q.clientWidth, d = a.outerWidth || a.screen.width;
+        h.screen.innerWidth = b;
+        h.screen.outerWidth = d;
+        f("w-" + b);
+        k(c.screens, function (a) {
+            b > a ? (c.screensCss.gt && f("gt-" + a), c.screensCss.gte && f("gte-" +
+                a)) : b < a ? (c.screensCss.lt && f("lt-" + a), c.screensCss.lte && f("lte-" + a)) : b === a && (c.screensCss.lte && f("lte-" + a), c.screensCss.eq && f("e-q" + a), c.screensCss.gte && f("gte-" + a))
+        });
+        var d = a.innerHeight || q.clientHeight, g = a.outerHeight || a.screen.height;
+        h.screen.innerHeight = d;
+        h.screen.outerHeight = g;
+        h.feature("portrait", d > b);
+        h.feature("landscape", d < b)
+    }
+
+    function r() {
+        a.clearTimeout(u);
+        u = a.setTimeout(s, 100)
+    }
+
+    var n = a.document, g = a.navigator, t = a.location, q = n.documentElement, p = [], c = {screens:[240, 320, 480, 640, 768, 800, 1024, 1280,
+        1440, 1680, 1920], screensCss:{gt:!0, gte:!1, lt:!0, lte:!1, eq:!1}, browsers:[
+        {ie:{min:6, max:10}}
+    ], browserCss:{gt:!0, gte:!1, lt:!0, lte:!1, eq:!0}, section:"-section", page:"-page", head:"head"};
+    if (a.head_conf)for (var b in a.head_conf)a.head_conf[b] !== w && (c[b] = a.head_conf[b]);
+    var h = a[c.head] = function () {
+        h.ready.apply(null, arguments)
+    };
+    h.feature = function (a, b, c) {
+        if (!a)return q.className += " " + p.join(" "), p = [], h;
+        "[object Function]" === Object.prototype.toString.call(b) && (b = b.call());
+        f((b ? "" : "no-") + a);
+        h[a] = !!b;
+        c || (m("no-" +
+            a), m(a), h.feature());
+        return h
+    };
+    h.feature("js", !0);
+    b = g.userAgent.toLowerCase();
+    g = /mobile|midp/.test(b);
+    h.feature("mobile", g, !0);
+    h.feature("desktop", !g, !0);
+    b = /(chrome|firefox)[ \/]([\w.]+)/.exec(b) || /(iphone|ipad|ipod)(?:.*version)?[ \/]([\w.]+)/.exec(b) || /(android)(?:.*version)?[ \/]([\w.]+)/.exec(b) || /(webkit|opera)(?:.*version)?[ \/]([\w.]+)/.exec(b) || /(msie) ([\w.]+)/.exec(b) || [];
+    g = b[1];
+    b = parseFloat(b[2]);
+    switch (g) {
+        case "msie":
+            g = "ie";
+            b = n.documentMode || b;
+            break;
+        case "firefox":
+            g = "ff";
+            break;
+        case "ipod":
+        case "ipad":
+        case "iphone":
+            g =
+                "ios";
+            break;
+        case "webkit":
+            g = "safari"
+    }
+    h.browser = {name:g, version:b};
+    h.browser[g] = !0;
+    for (var v = 0, x = c.browsers.length; v < x; v++)for (var i in c.browsers[v])if (g === i) {
+        f(i);
+        for (var A = c.browsers[v][i].max, l = c.browsers[v][i].min; l <= A; l++)b > l ? (c.browserCss.gt && f("gt-" + i + l), c.browserCss.gte && f("gte-" + i + l)) : b < l ? (c.browserCss.lt && f("lt-" + i + l), c.browserCss.lte && f("lte-" + i + l)) : b === l && (c.browserCss.lte && f("lte-" + i + l), c.browserCss.eq && f("eq-" + i + l), c.browserCss.gte && f("gte-" + i + l))
+    } else f("no-" + i);
+    "ie" === g && 9 > b && k("abbr article aside audio canvas details figcaption figure footer header hgroup mark meter nav output progress section summary time video".split(" "),
+        function (a) {
+            n.createElement(a)
+        });
+    k(t.pathname.split("/"), function (a, b) {
+        if (2 < this.length && this[b + 1] !== w)b && f(this.slice(1, b + 1).join("-").toLowerCase() + c.section); else {
+            var g = a || "index", h = g.indexOf(".");
+            0 < h && (g = g.substring(0, h));
+            q.id = g.toLowerCase() + c.page;
+            b || f("root" + c.section)
+        }
+    });
+    h.screen = {height:a.screen.height, width:a.screen.width};
+    s();
+    var u = 0;
+    a.addEventListener ? a.addEventListener("resize", r, !1) : a.attachEvent("onresize", r)
+})(window);
+(function (a, w) {
+    function f(a) {
+        var f = a.charAt(0).toUpperCase() + a.substr(1), a = (a + " " + r.join(f + " ") + f).split(" "), c;
+        a:{
+            for (c in a)if (k[a[c]] !== w) {
+                c = !0;
+                break a
+            }
+            c = !1
+        }
+        return!!c
+    }
+
+    var m = a.document.createElement("i"), k = m.style, s = " -o- -moz- -ms- -webkit- -khtml- ".split(" "), r = ["Webkit", "Moz", "O", "ms", "Khtml"], n = a[a.head_conf && a.head_conf.head || "head"], g = {gradient:function () {
+        k.cssText = ("background-image:" + s.join("gradient(linear,left top,right bottom,from(#9f9),to(#fff));background-image:") + s.join("linear-gradient(left top,#eee,#fff);background-image:")).slice(0,
+            -17);
+        return!!k.backgroundImage
+    }, rgba:function () {
+        k.cssText = "background-color:rgba(0,0,0,0.5)";
+        return!!k.backgroundColor
+    }, opacity:function () {
+        return"" === m.style.opacity
+    }, textshadow:function () {
+        return"" === k.textShadow
+    }, multiplebgs:function () {
+        k.cssText = "background:url(//:),url(//:),red url(//:)";
+        return/(url\s*\(.*?){3}/.test(k.background)
+    }, boxshadow:function () {
+        return f("boxShadow")
+    }, borderimage:function () {
+        return f("borderImage")
+    }, borderradius:function () {
+        return f("borderRadius")
+    }, cssreflections:function () {
+        return f("boxReflect")
+    },
+        csstransforms:function () {
+            return f("transform")
+        }, csstransitions:function () {
+            return f("transition")
+        }, touch:function () {
+            return"ontouchstart"in a
+        }, retina:function () {
+            return 1 < a.devicePixelRatio
+        }, fontface:function () {
+            var a = n.browser.version;
+            switch (n.browser.name) {
+                case "ie":
+                    return 9 <= a;
+                case "chrome":
+                    return 13 <= a;
+                case "ff":
+                    return 6 <= a;
+                case "ios":
+                    return 5 <= a;
+                case "android":
+                    return!1;
+                case "webkit":
+                    return 5.1 <= a;
+                case "opera":
+                    return 10 <= a;
+                default:
+                    return!1
+            }
+        }}, t;
+    for (t in g)g[t] && n.feature(t, g[t].call(), !0);
+    n.feature()
+})(window);
+(function (a, w) {
+    function f() {
+    }
+
+    function m(j, a) {
+        if (j) {
+            "object" === typeof j && (j = [].slice.call(j));
+            for (var b = 0, c = j.length; b < c; b++)a.call(j, j[b], b)
+        }
+    }
+
+    function k(a, b) {
+        var e = Object.prototype.toString.call(b).slice(8, -1);
+        return b !== w && null !== b && e === a
+    }
+
+    function s(a) {
+        return k("Function", a)
+    }
+
+    function r(a) {
+        a = a || f;
+        a._done || (a(), a._done = 1)
+    }
+
+    function n(a) {
+        var b = {};
+        if ("object" === typeof a)for (var e in a)a[e] && (b = {name:e, url:a[e]}); else b = a.split("/"), b = b[b.length - 1], e = b.indexOf("?"), b = {name:-1 !== e ? b.substring(0, e) : b, url:a};
+        return(a = i[b.name]) && a.url === b.url ? a : i[b.name] = b
+    }
+
+    function g(a) {
+        var a = a || i, b;
+        for (b in a)if (a.hasOwnProperty(b) && a[b].state !== y)return!1;
+        return!0
+    }
+
+    function t(a, b) {
+        b = b || f;
+        a.state === y ? b() : a.state === D ? d.ready(a.name, b) : a.state === C ? a.onpreload.push(function () {
+            t(a, b)
+        }) : (a.state = D, q(a, function () {
+            a.state = y;
+            b();
+            m(x[a.name], function (a) {
+                r(a)
+            });
+            u && g() && m(x.ALL, function (a) {
+                r(a)
+            })
+        }))
+    }
+
+    function q(j, c) {
+        var c = c || f, e;
+        /\.css[^\.]*$/.test(j.url) ? (e = b.createElement("link"), e.type = "text/" + (j.type || "css"), e.rel = "stylesheet",
+            e.href = j.url) : (e = b.createElement("script"), e.type = "text/" + (j.type || "javascript"), e.src = j.url);
+        e.onload = e.onreadystatechange = function (j) {
+            j = j || a.event;
+            if ("load" === j.type || /loaded|complete/.test(e.readyState) && (!b.documentMode || 9 > b.documentMode))e.onload = e.onreadystatechange = e.onerror = null, c()
+        };
+        e.onerror = function () {
+            e.onload = e.onreadystatechange = e.onerror = null;
+            c()
+        };
+        e.async = !1;
+        e.defer = !1;
+        var d = b.head || b.getElementsByTagName("head")[0];
+        d.insertBefore(e, d.lastChild)
+    }
+
+    function p() {
+        b.body ? u || (u = !0, m(h, function (a) {
+            r(a)
+        })) :
+            (a.clearTimeout(d.readyTimeout), d.readyTimeout = a.setTimeout(p, 50))
+    }
+
+    function c() {
+        b.addEventListener ? (b.removeEventListener("DOMContentLoaded", c, !1), p()) : "complete" === b.readyState && (b.detachEvent("onreadystatechange", c), p())
+    }
+
+    var b = a.document, h = [], v = [], x = {}, i = {}, A = "async"in b.createElement("script") || "MozAppearance"in b.documentElement.style || a.opera, l, u, B = a.head_conf && a.head_conf.head || "head", d = a[B] = a[B] || function () {
+        d.ready.apply(null, arguments)
+    }, C = 1, D = 3, y = 4;
+    d.load = A ? function () {
+        var a = arguments, b = a[a.length -
+            1], e = {};
+        s(b) || (b = null);
+        m(a, function (c, d) {
+            c !== b && (c = n(c), e[c.name] = c, t(c, b && d === a.length - 2 ? function () {
+                g(e) && r(b)
+            } : null))
+        });
+        return d
+    } : function () {
+        var a = arguments, b = [].slice.call(a, 1), c = b[0];
+        if (!l)return v.push(function () {
+            d.load.apply(null, a)
+        }), d;
+        c ? (m(b, function (a) {
+            if (!s(a)) {
+                var b = n(a);
+                b.state === w && (b.state = C, b.onpreload = [], q({url:b.url, type:"cache"}, function () {
+                    b.state = 2;
+                    m(b.onpreload, function (a) {
+                        a.call()
+                    })
+                }))
+            }
+        }), t(n(a[0]), s(c) ? c : function () {
+            d.load.apply(null, b)
+        })) : t(n(a[0]));
+        return d
+    };
+    d.js = d.load;
+    d.test =
+        function (a, b, c, g) {
+            a = "object" === typeof a ? a : {test:a, success:b ? k("Array", b) ? b : [b] : !1, failure:c ? k("Array", c) ? c : [c] : !1, callback:g || f};
+            (b = !!a.test) && a.success ? (a.success.push(a.callback), d.load.apply(null, a.success)) : !b && a.failure ? (a.failure.push(a.callback), d.load.apply(null, a.failure)) : g();
+            return d
+        };
+    d.ready = function (a, c) {
+        if (a === b)return u ? r(c) : h.push(c), d;
+        s(a) && (c = a, a = "ALL");
+        if ("string" !== typeof a || !s(c))return d;
+        var e = i[a];
+        if (e && e.state === y || "ALL" === a && g() && u)return r(c), d;
+        (e = x[a]) ? e.push(c) : x[a] = [c];
+        return d
+    };
+    d.ready(b, function () {
+        g() && m(x.ALL, function (a) {
+            r(a)
+        });
+        d.feature && d.feature("domloaded", !0)
+    });
+    if ("complete" === b.readyState)p(); else if (b.addEventListener)b.addEventListener("DOMContentLoaded", c, !1), a.addEventListener("load", p, !1); else {
+        b.attachEvent("onreadystatechange", c);
+        a.attachEvent("onload", p);
+        var z = !1;
+        try {
+            z = null == a.frameElement && b.documentElement
+        } catch (F) {
+        }
+        z && z.doScroll && function E() {
+            if (!u) {
+                try {
+                    z.doScroll("left")
+                } catch (b) {
+                    a.clearTimeout(d.readyTimeout);
+                    d.readyTimeout = a.setTimeout(E, 50);
+                    return
+                }
+                p()
+            }
+        }()
+    }
+    setTimeout(function () {
+        l = !0;
+        m(v, function (a) {
+            a()
+        })
+    }, 300)
+})(window);
diff --git a/app/design/frontend/magento_plushe/js/jquery.dropdowns.js b/app/design/frontend/magento_plushe/js/jquery.dropdowns.js
new file mode 100644
index 0000000000000000000000000000000000000000..836843ec0b7058ae4ba0cc43128847a90f05e1a7
--- /dev/null
+++ b/app/design/frontend/magento_plushe/js/jquery.dropdowns.js
@@ -0,0 +1,108 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright  Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+;(function($, document) {
+    'use strict';
+
+    $.fn.dropdown = function(options) {
+        var defaults = {
+            parent: null,
+            autoclose: true,
+            btnArrow: '.arrow',
+            menu: '[data-target="dropdown"]',
+            activeClass: 'active'
+        };
+
+        var options = $.extend(defaults, options);
+        var actionElem = $(this),
+            self = this;
+
+        this.openDropdown = function(elem) {
+            elem
+                .addClass(options.activeClass)
+                .parent()
+                    .addClass(options.activeClass);
+
+            $(options.btnArrow, elem).text('â–²');
+        };
+
+        this.closeDropdown = function(elem) {
+            elem
+                .removeClass(options.activeClass)
+                .parent()
+                    .removeClass(options.activeClass);
+
+            $(options.btnArrow, elem).text('â–¼');
+        };
+
+        /* Reset all dropdowns */
+        this.reset = function(params) {
+            var params = params || {},
+                dropdowns = params.elems || actionElem;
+
+            dropdowns.each(function(index, elem) {
+                self.closeDropdown($(elem));
+            });
+        };
+
+        /* document Event bindings */
+        if(options.autoclose === true) {
+            $(document).on('click.hideDropdown', this.reset);
+            $(document).on('keyup.hideDropdown', function(e) {
+                var ESC_CODE = '27';
+
+                if (e.keyCode == ESC_CODE) {
+                    self.reset();
+                }
+            });
+        };
+
+        if (options.events) {
+            $.each(options.events, function(index, event) {
+                $(document).on(event.name, event.selector, event.action);
+            });
+        }
+
+        return this.each(function() {
+            var elem = $(this),
+                parent = $(options.parent) || elem.parent(),
+                menu = $(options.menu, parent) || $('.dropdown-menu', parent);
+
+            elem.on('click.toggleDropdown', function() {
+                if(options.autoclose === true) {
+                    self.reset({elems: actionElem.not(elem)});
+                };
+                self[elem.hasClass('active') ? 'closeDropdown' : 'openDropdown'](elem);
+
+                return false;
+            });
+
+            menu.on('click.preventMenuClosing', function(e) {
+                e.stopPropagation();
+            });
+        });
+    };
+
+    $(document).ready(function() {
+        $('[data-toggle="dropdown"]').dropdown();
+    });
+})(window.jQuery, document);
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/js/matchMedia.js b/app/design/frontend/magento_plushe/js/matchMedia.js
new file mode 100644
index 0000000000000000000000000000000000000000..68ee4e2b813dfbed7b1a628203b82570744ff68a
--- /dev/null
+++ b/app/design/frontend/magento_plushe/js/matchMedia.js
@@ -0,0 +1,162 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright  Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license */
+
+window.matchMedia = window.matchMedia || (function( doc, undefined ) {
+
+  "use strict";
+
+  var bool,
+      docElem = doc.documentElement,
+      refNode = docElem.firstElementChild || docElem.firstChild,
+      // fakeBody required for <FF4 when executed in <head>
+      fakeBody = doc.createElement( "body" ),
+      div = doc.createElement( "div" );
+
+  div.id = "mq-test-1";
+  div.style.cssText = "position:absolute;top:-100em";
+  fakeBody.style.background = "none";
+  fakeBody.appendChild(div);
+
+  return function(q){
+
+    div.innerHTML = "&shy;<style media=\"" + q + "\"> #mq-test-1 { width: 42px; }</style>";
+
+    docElem.insertBefore( fakeBody, refNode );
+    bool = div.offsetWidth === 42;
+    docElem.removeChild( fakeBody );
+
+    return {
+      matches: bool,
+      media: q
+    };
+
+  };
+
+}( document ));
+
+/*! matchMedia() polyfill addListener/removeListener extension. Author & copyright (c) 2012: Scott Jehl. Dual MIT/BSD license */
+(function(){
+  // monkeypatch unsupported addListener/removeListener with polling
+  if( !window.matchMedia( "" ).addListener ){
+    var oldMM = window.matchMedia;
+    
+    window.matchMedia = function( q ){
+      var ret = oldMM( q ),
+        listeners = [],
+        last = false,
+        timer,
+        check = function(){
+          var list = oldMM( q ),
+            unmatchToMatch = list.matches && !last,
+            matchToUnmatch = !list.matches && last;
+                                                
+                                        //fire callbacks only if transitioning to or from matched state
+          if( unmatchToMatch || matchToUnmatch ){
+            for( var i =0, il = listeners.length; i< il; i++ ){
+              listeners[ i ].call( ret, list );
+            }
+          }
+          last = list.matches;
+        };
+      
+      ret.addListener = function( cb ){
+        listeners.push( cb );
+        if( !timer ){
+          timer = setInterval( check, 1000 );
+        }
+      };
+
+      ret.removeListener = function( cb ){
+        for( var i =0, il = listeners.length; i< il; i++ ){
+          if( listeners[ i ] === cb ){
+            listeners.splice( i, 1 );
+          }
+        }
+        if( !listeners.length && timer ){
+          clearInterval( timer );
+        }
+      };
+      
+      return ret;
+    };
+  }
+}());
+
+var mediaCheck = function( options ) {
+  var mq,
+      matchMedia = (window.matchMedia !== undefined & window.matchMedia('').addListener !== undefined);
+      
+  mqChange = function( mq, options ) {
+    if ( mq.matches ) {
+      if ( typeof options.entry === "function" ) {
+        options.entry();
+      }
+    } else if ( typeof options.exit === "function" ) {
+      options.exit();
+    }
+  };
+  
+  if ( matchMedia ) {
+    // Has matchMedia support
+    createListener = function() {
+
+      mq = window.matchMedia( options.media );
+      mq.addListener( function() {
+        mqChange( mq, options );
+      });
+      mqChange( mq, options );
+    };
+    createListener();
+    
+  } else {
+    // capture the current pageWidth
+    var pageWidth = window.outerWidth;
+
+    // No matchMedia support
+    var mmListener = function() {
+      var parts = options.media.match( /\((.*)-.*:\s*(.*)\)/ ),
+          constraint = parts[ 1 ],
+          value = parseInt( parts[ 2 ], 10 ),
+          fakeMatchMedia = {};
+
+      // scope this to width changes to prevent small-screen scrolling (browser chrome off-screen)
+      //   from triggering a change
+      if (pageWidth != window.outerWidth) {
+        fakeMatchMedia.matches = constraint === "max" && value > window.outerWidth ||
+                                 constraint === "min" && value < window.outerWidth;
+        mqChange( fakeMatchMedia, options );
+        
+        // reset pageWidth
+        pageWidth = window.outerWidth;
+      }
+    };
+
+    if (window.addEventListener) {
+      window.addEventListener("resize", mmListener);
+    } else if (window.attachEvent) {
+      window.attachEvent("resize", mmListener);
+    }
+    mmListener();
+  }
+};
diff --git a/app/design/frontend/magento_plushe/js/navigation-menu.js b/app/design/frontend/magento_plushe/js/navigation-menu.js
new file mode 100644
index 0000000000000000000000000000000000000000..a91566ec9ce03ddebbc242fc86b86cfaf1c6dd3c
--- /dev/null
+++ b/app/design/frontend/magento_plushe/js/navigation-menu.js
@@ -0,0 +1,459 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright  Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/*jshint jquery:true*/
+
+(function($) {
+    'use strict';
+
+    $.widget('mage.navigationMenu', {
+        options: {
+            itemsContainer: '> ul',
+            topLevel: 'li.level0',
+            topLevelSubmenu: '> .submenu',
+            topLevelHoverClass: 'hover',
+            expandedTopLevel: '.more',
+            hoverInTimeout: 300,
+            hoverOutTimeout: 2000,
+            submenuAnimationSpeed: 200,
+            collapsable: true,
+            collapsableDropdownTemplate:
+                '<script type="text/x-jquery-tmpl">' +
+                    '<li class="level0 level-top more parent">' +
+                        '<div class="submenu">' +
+                            '<ul>{{html elems}}</ul>' +
+                        '</div>' +
+                    '</li>' +
+                '</script>'
+        },
+
+        _create: function() {
+            this.itemsContainer = $(this.options.itemsContainer, this.element);
+            this.topLevel = $(this.options.topLevel, this.element);
+            this.topLevelSubmenu = $(this.options.topLevelSubmenu, this.topLevel);
+
+            this._bind();
+        },
+
+        _init: function() {
+            if (this.options.collapsable) {
+                setTimeout($.proxy(function() {
+                    this._checkToCollapseOrExpand();
+                }, this), 100);
+            }
+        },
+
+        _bind: function() {
+            this._on({
+                'mouseenter > ul > li.level0': function(e) {
+                    if (!this.entered) { // fix IE bug with 'mouseenter' event
+                        this.timeoutId && clearTimeout(this.timeoutId);
+                        this.timeoutId = setTimeout($.proxy(function() {
+                            this._openSubmenu(e);
+                        }, this), this.options.hoverInTimeout);
+                        this.entered = true;
+                    }
+                },
+                'mouseleave > ul > li.level0': function(e) {
+                    this.entered = null;
+
+                    this.timeoutId && clearTimeout(this.timeoutId);
+                    this.timeoutId = setTimeout($.proxy(function() {
+                        this._closeSubmenu(e.currentTarget);
+                    }, this), this.options.hoverOutTimeout);
+                },
+                'click': function(e) {
+                    e.stopPropagation();
+                }
+            });
+
+            $(document)
+                .on('click.hideMenu', $.proxy(function(e) {
+                    var isOpened = this.topLevel.filter(function() {
+                        return $(this).data('opened');
+                    });
+
+                    if (isOpened) {
+                        this._closeSubmenu(null, false);
+                    }
+                }, this));
+
+            $(window)
+                .on('resize', $.proxy(function() {
+                    this.timeoutOnResize && clearTimeout(this.timeoutOnResize);
+                    this.timeoutOnResize = setTimeout($.proxy(function() {
+                        if (this.options.collapsable) {
+                            if ($(this.options.expandedTopLevel, this.element).length) {
+                                this._expandMenu();
+                            }
+                            this._checkToCollapseOrExpand();
+                        }
+                    }, this), 300);
+                }, this));
+        },
+
+        _openSubmenu: function(e) {
+            var menuItem = e.currentTarget;
+
+            if (!$(menuItem).data('opened')) {
+                this._closeSubmenu(menuItem, true, true);
+
+                $(this.options.topLevelSubmenu, menuItem)
+                    .slideDown(this.options.submenuAnimationSpeed, $.proxy(function() {
+                        $(menuItem).addClass(this.options.topLevelHoverClass);
+                        $(menuItem).data('opened', true);
+                    }, this));
+            } else if ($(e.target).closest(this.options.topLevel)) {
+                $(e.target)
+                    .addClass(this.options.topLevelHoverClass)
+                    .siblings(this.options.topLevel)
+                        .removeClass(this.options.topLevelHoverClass);
+            }
+        },
+
+        _closeSubmenu: function(menuItem, excludeCurrent, fast) {
+            var topLevel = $(this.options.topLevel, this.element),
+                activeSubmenu = $(this.options.topLevelSubmenu, menuItem || null);
+
+            $(this.options.topLevelSubmenu, topLevel)
+                .filter(function() {
+                    return excludeCurrent ? $(this).not(activeSubmenu) : true;
+                })
+                .slideUp(fast ? 0 : this.options.submenuAnimationSpeed);
+
+            topLevel
+                .removeClass(this.options.topLevelHoverClass)
+                .data('opened', false);
+        },
+
+        _checkToCollapseOrExpand: function() {
+            var navWidth = this.itemsContainer.width(),
+                totalWidth = 0,
+                startCollapseIndex = 0;
+
+            $.each($(this.options.topLevel, this.element), function(index, item) {
+                totalWidth = totalWidth + $(item).outerWidth(true);
+
+                if (totalWidth > navWidth && !startCollapseIndex) {
+                    startCollapseIndex = index - 2;
+                }
+            });
+
+            this[startCollapseIndex ? '_collapseMenu' : '_expandMenu'](startCollapseIndex);
+        },
+
+        _collapseMenu: function(startCollapseIndex) {
+            this.elemsToCollapse = this.topLevel.filter(function(index) {
+                return index > startCollapseIndex;
+            });
+            this.elemsToCollapseClone = $('<div></div>').append(this.elemsToCollapse.clone()).html();
+
+            this.collapsableDropdown = $(this.options.collapsableDropdownTemplate).tmpl({elems: this.elemsToCollapseClone});
+
+            this.itemsContainer
+                .append(this.collapsableDropdown);
+
+            this.elemsToCollapse.detach();
+        },
+
+        _expandMenu: function() {
+            if ($.browser.version != 8.0) {
+                this.elemsToCollapse && this.elemsToCollapse.appendTo(this.itemsContainer);
+                this.collapsableDropdown && this.collapsableDropdown.remove();
+            } else {
+                setTimeout($.proxy(function() {
+                    var moreWrapper = $('.more', this.element);
+
+                    if (moreWrapper.length > 1) {
+                        moreWrapper.eq(moreWrapper.length - 1).remove();
+                    }
+                }, this), 1);
+            }
+        },
+
+        _destroy: function() {
+            this._expandMenu();
+        }
+    });
+
+    /*
+     * Provides "Continium" effect for submenu
+     * */
+    $.widget('mage.navigationMenu', $.mage.navigationMenu, {
+        options: {
+            parentLevel: '> ul > li.level0',
+            submenuAnimationSpeed: 150,
+            submenuContiniumEffect: false
+        },
+
+        _init: function() {
+            this._super();
+            this._applySubmenuStyles();
+        },
+
+        _applySubmenuStyles: function() {
+            $(this.options.topLevelSubmenu, $(this.options.topLevel, this.element))
+                .removeAttr('style');
+
+            $(this.options.topLevelSubmenu, $(this.options.parentLevel, this.element))
+                .css({
+                    display: 'block',
+                    height: 0,
+                    overflow: 'hidden'
+                });
+        },
+
+        _openSubmenu: function(e) {
+            var menuItem = e.currentTarget,
+                submenu = $(this.options.topLevelSubmenu, menuItem),
+                openedItems = $(this.options.topLevel, this.element).filter(function() {
+                    return $(this).data('opened');
+                });
+
+            if (submenu.length) {
+                this.heightToAnimate = $(this.options.itemsContainer, submenu).outerHeight(true);
+
+                if (openedItems.length) {
+                    this._closeSubmenu(menuItem, true, this.heightToAnimate, $.proxy(function() {
+                        submenu.css({
+                            height: 'auto'
+                        });
+                        $(menuItem)
+                            .addClass(this.options.topLevelHoverClass);
+                    }, this), e);
+                } else {
+                    submenu.animate({
+                        height: this.heightToAnimate
+                    }, this.options.submenuAnimationSpeed, $.proxy(function() {
+                        $(menuItem)
+                            .addClass(this.options.topLevelHoverClass);
+                    }, this));
+                }
+                $(menuItem)
+                    .data('opened', true);
+            } else {
+                this._closeSubmenu(menuItem);
+            }
+        },
+
+        _closeSubmenu: function(menuItem, excludeCurrent, heightToAnimate, callback, e) {
+            var topLevel = $(this.options.topLevel, this.itemsContainer),
+                expandedTopLevel = e && $(e.target).closest(this.options.expandedTopLevel);
+
+            if (!excludeCurrent) {
+                $(this.options.topLevelSubmenu, $(this.options.parentLevel, this.element))
+                    .animate({
+                        height: 0
+                    });
+
+                topLevel
+                    .data('opened', false)
+                    .removeClass(this.options.topLevelHoverClass);
+            } else {
+                var prevOpenedItem = topLevel.filter(function() {
+                        return $(this).data('opened');
+                    }),
+                    prevOpenedSubmenu = $(this.options.topLevelSubmenu, prevOpenedItem);
+
+                prevOpenedSubmenu.animate({
+                    height: heightToAnimate
+                }, this.options.submenuAnimationSpeed, 'linear', function() {
+                    $(this).css({
+                        height: 0
+                    });
+                    callback && callback();
+                });
+
+                prevOpenedItem
+                    .data('opened', false)
+                    .removeClass(this.options.topLevelHoverClass);
+            }
+        },
+
+        _collapseMenu: function() {
+            this._superApply(arguments);
+            this._applySubmenuStyles();
+        }
+    });
+
+    //  Responsive menu
+    $.widget('mage.navigationMenu', $.mage.navigationMenu, {
+        options: {
+            responsive: false,
+            origNavPlaceholder: '.header',
+            mainContainer: 'body',
+            pageWrapper: '.page.wrapper',
+            openedMenuClass: 'opened',
+            toggleActionPlaceholder: '.block.search',
+            itemWithSubmenu: 'li.parent',
+            titleWithSubmenu: 'li.parent > a',
+            submenu: 'li.parent > .submenu',
+            toggleActionTemplate:
+                '<script type="text/x-jquery-tmpl">' +
+                    '<span data-action="toggle-nav" class="action toggle nav">Toggle Nav</span>' +
+                '</script>',
+            submenuActionsTemplate:
+                '<script type="text/x-jquery-tmpl">' +
+                    '<li class="action back">' +
+                        '<a><span>${ category }</span></a>' +
+                    '</li>' +
+                    '<li class="action all">' +
+                        '<a href="${ categoryURL }">All ${ category }</a>' +
+                    '</li>' +
+                '</script>'
+        },
+
+        _init: function() {
+            this._super();
+
+            this.mainContainer = $(this.options.mainContainer);
+            this.pageWrapper = $(this.options.pageWrapper);
+            this.toggleAction = $(this.options.toggleActionTemplate).tmpl({});
+
+            if (this.options.responsive) {
+                mediaCheck({
+                    media: '(max-width: 640px)',
+                    entry: $.proxy(function() {
+                        this._toggleMobileMode();
+                    }, this),
+                    exit: $.proxy(function() {
+                        this._toggleDesktopMode();
+                    }, this)
+                });
+            }
+        },
+
+        _bind: function() {
+            this._super();
+            this._bindDocumentEvents();
+        },
+
+        _bindDocumentEvents: function() {
+            if (!this.eventsBound) {
+                $(document)
+                    .on('click.toggleMenu', '.action.toggle.nav', $.proxy(function(e) {
+                        if ($(this.element).data('opened')) {
+                            this._hideMenu();
+                        } else {
+                            this._showMenu();
+                        }
+                        e.stopPropagation();
+                    }, this))
+                    .on('click.hideMenu', this.options.pageWrapper, $.proxy(function() {
+                        if ($(this.element).data('opened')) {
+                            this._hideMenu();
+                        }
+                    }, this))
+                    .on('click.showSubmenu', this.options.titleWithSubmenu, $.proxy(function(e) {
+                        this._showSubmenu(e);
+
+                        e.preventDefault();
+                    }, this))
+                    .on('click.hideSubmenu', '.action.back', $.proxy(function(e) {
+                        this._hideSubmenu(e);
+                    }, this));
+
+                this.eventsBound = true;
+            }
+        },
+
+        _showMenu: function() {
+            $(this.element).data('opened', true);
+            this.mainContainer.addClass(this.options.openedMenuClass);
+        },
+
+        _hideMenu: function() {
+            $(this.element).data('opened', false);
+            this.mainContainer.removeClass(this.options.openedMenuClass);
+        },
+
+        _showSubmenu: function(e) {
+            var submenu = $(e.currentTarget).siblings('.submenu');
+
+            submenu
+                .addClass('opened')
+                .closest('.navigation > ul')
+                    .css({
+                        height: submenu.outerHeight(true)
+                    });
+        },
+
+        _hideSubmenu: function(e) {
+            var submenuSelector = '.submenu',
+                submenu = $(e.currentTarget).closest(submenuSelector);
+
+            submenu.removeClass('opened');
+
+            if (!$('.submenu.opened').length) {
+                submenu
+                    .closest('.navigation > ul')
+                        .removeAttr('style');
+            }
+        },
+
+        _renderSubmenuActions: function() {
+            $.each($(this.options.itemWithSubmenu), $.proxy(function(index, item) {
+                var actions = $(this.options.submenuActionsTemplate).tmpl({
+                        category: $('> a > span', item).text(),
+                        categoryURL: $('> a', item).attr('href')
+                    }),
+                    submenu = $('> .submenu', item),
+                    items = $('> ul', submenu);
+
+                items.prepend(actions);
+
+                submenu
+                    .css({
+                        height: $(window).outerHeight(true) - 1
+                    });
+            }, this));
+        },
+
+        _toggleMobileMode: function() {
+            this._expandMenu();
+
+            $(this.options.topLevelSubmenu, $(this.options.topLevel, this.element))
+                .removeAttr('style');
+
+            this.toggleAction.insertBefore(this.options.toggleActionPlaceholder);
+            this.mobileNav = $(this.element).detach().clone();
+            this.mainContainer.prepend(this.mobileNav);
+
+            this._renderSubmenuActions();
+            this._bindDocumentEvents();
+        },
+
+        _toggleDesktopMode: function() {
+            this.mobileNav && this.mobileNav.remove();
+            this.toggleAction.detach();
+            $(this.element).insertAfter(this.options.origNavPlaceholder);
+
+            $(document)
+                .off('click.toggleMenu', '.action.toggle.nav')
+                .off('click.hideMenu', this.options.pageWrapper)
+                .off('click.showSubmenu', this.options.titleWithSubmenu)
+                .off('click.hideSubmenu', '.action.back');
+
+            this.eventsBound = false;
+        }
+    });
+})(window.jQuery);
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/js/selectivizr.js b/app/design/frontend/magento_plushe/js/selectivizr.js
new file mode 100644
index 0000000000000000000000000000000000000000..bd96e782eaaeacc294bc68fbccd641e935103109
--- /dev/null
+++ b/app/design/frontend/magento_plushe/js/selectivizr.js
@@ -0,0 +1,567 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright  Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/*
+selectivizr v1.0.2 - (c) Keith Clark, freely distributable under the terms 
+of the MIT license.
+
+selectivizr.com
+*/
+/* 
+  
+Notes about this source
+-----------------------
+
+ * The #DEBUG_START and #DEBUG_END comments are used to mark blocks of code
+   that will be removed prior to building a final release version (using a
+   pre-compression script)
+  
+  
+References:
+-----------
+ 
+ * CSS Syntax          : http://www.w3.org/TR/2003/WD-css3-syntax-20030813/#style
+ * Selectors           : http://www.w3.org/TR/css3-selectors/#selectors
+ * IE Compatability    : http://msdn.microsoft.com/en-us/library/cc351024(VS.85).aspx
+ * W3C Selector Tests  : http://www.w3.org/Style/CSS/Test/CSS3/Selectors/current/html/tests/
+ 
+*/
+
+(function(win) {
+
+	// If browser isn't IE, then stop execution! This handles the script 
+	// being loaded by non IE browsers because the developer didn't use 
+	// conditional comments.
+	if (/*@cc_on!@*/true) return;
+
+	// =========================== Init Objects ============================
+
+	var doc = document;
+	var root = doc.documentElement;
+	var xhr = getXHRObject();
+	var ieVersion = /MSIE (\d+)/.exec(navigator.userAgent)[1];
+	
+	// If were not in standards mode, IE is too old / new or we can't create
+	// an XMLHttpRequest object then we should get out now.
+	if (doc.compatMode != 'CSS1Compat' || ieVersion<6 || ieVersion>8 || !xhr) {
+		return;
+	}
+	
+	
+	// ========================= Common Objects ============================
+
+	// Compatiable selector engines in order of CSS3 support. Note: '*' is
+	// a placholder for the object key name. (basically, crude compression)
+	var selectorEngines = {
+		"NW"								: "*.Dom.select",
+		"MooTools"							: "$$",
+		"DOMAssistant"						: "*.$", 
+		"Prototype"							: "$$",
+		"YAHOO"								: "*.util.Selector.query",
+		"Sizzle"							: "*", 
+		"jQuery"							: "*",
+		"dojo"								: "*.query"
+	};
+
+	var selectorMethod;
+	var enabledWatchers 					= [];     // array of :enabled/:disabled elements to poll
+	var ie6PatchID 							= 0;      // used to solve ie6's multiple class bug
+	var patchIE6MultipleClasses				= true;   // if true adds class bloat to ie6
+	var namespace 							= "slvzr";
+	
+	// Stylesheet parsing regexp's
+	var RE_COMMENT							= /(\/\*[^*]*\*+([^\/][^*]*\*+)*\/)\s*/g;
+	var RE_IMPORT							= /@import\s*(?:(?:(?:url\(\s*(['"]?)(.*)\1)\s*\))|(?:(['"])(.*)\3))[^;]*;/g;
+	var RE_ASSET_URL 						= /\burl\(\s*(["']?)(?!data:)([^"')]+)\1\s*\)/g;
+	var RE_PSEUDO_STRUCTURAL				= /^:(empty|(first|last|only|nth(-last)?)-(child|of-type))$/;
+	var RE_PSEUDO_ELEMENTS					= /:(:first-(?:line|letter))/g;
+	var RE_SELECTOR_GROUP					= /(^|})\s*([^\{]*?[\[:][^{]+)/g;
+	var RE_SELECTOR_PARSE					= /([ +~>])|(:[a-z-]+(?:\(.*?\)+)?)|(\[.*?\])/g; 
+	var RE_LIBRARY_INCOMPATIBLE_PSEUDOS		= /(:not\()?:(enabled|disabled|focus|checked|target|active|visited|first-line|first-letter)\)?/g;
+	var RE_PATCH_CLASS_NAME_REPLACE			= /[^\w-]/g;
+	
+	// HTML UI element regexp's
+	var RE_INPUT_ELEMENTS					= /^(INPUT|SELECT|TEXTAREA|BUTTON)$/;
+	var RE_INPUT_CHECKABLE_TYPES			= /^(checkbox|radio)$/;
+
+	// Broken attribute selector implementations (IE7/8 native [^=""], [$=""] and [*=""])
+	var BROKEN_ATTR_IMPLEMENTATIONS			= ieVersion>6 ? /[\$\^*]=(['"])\1/ : null;
+
+	// Whitespace normalization regexp's
+	var RE_TIDY_TRAILING_WHITESPACE			= /([(\[+~])\s+/g;
+	var RE_TIDY_LEADING_WHITESPACE			= /\s+([)\]+~])/g;
+	var RE_TIDY_CONSECUTIVE_WHITESPACE		= /\s+/g;
+	var RE_TIDY_TRIM_WHITESPACE				= /^\s*((?:[\S\s]*\S)?)\s*$/;
+	
+	// String constants
+	var EMPTY_STRING						= "";
+	var SPACE_STRING						= " ";
+	var PLACEHOLDER_STRING					= "$1";
+
+	// =========================== Patching ================================
+
+	// --[ patchStyleSheet() ]----------------------------------------------
+	// Scans the passed cssText for selectors that require emulation and
+	// creates one or more patches for each matched selector.
+	function patchStyleSheet( cssText ) {
+		return cssText.replace(RE_PSEUDO_ELEMENTS, PLACEHOLDER_STRING).
+			replace(RE_SELECTOR_GROUP, function(m, prefix, selectorText) {	
+    			var selectorGroups = selectorText.split(",");
+    			for (var c = 0, cs = selectorGroups.length; c < cs; c++) {
+    				var selector = normalizeSelectorWhitespace(selectorGroups[c]) + SPACE_STRING;
+    				var patches = [];
+    				selectorGroups[c] = selector.replace(RE_SELECTOR_PARSE, 
+    					function(match, combinator, pseudo, attribute, index) {
+    						if (combinator) {
+    							if (patches.length>0) {
+    								applyPatches( selector.substring(0, index), patches );
+    								patches = [];
+    							}
+    							return combinator;
+    						}		
+    						else {
+    							var patch = (pseudo) ? patchPseudoClass( pseudo ) : patchAttribute( attribute );
+    							if (patch) {
+    								patches.push(patch);
+    								return "." + patch.className;
+    							}
+    							return match;
+    						}
+    					}
+    				);
+    			}
+    			return prefix + selectorGroups.join(",");
+    		});
+	};
+
+	// --[ patchAttribute() ]-----------------------------------------------
+	// returns a patch for an attribute selector.
+	function patchAttribute( attr ) {
+		return (!BROKEN_ATTR_IMPLEMENTATIONS || BROKEN_ATTR_IMPLEMENTATIONS.test(attr)) ? 
+			{ className: createClassName(attr), applyClass: true } : null;
+	};
+
+	// --[ patchPseudoClass() ]---------------------------------------------
+	// returns a patch for a pseudo-class
+	function patchPseudoClass( pseudo ) {
+
+		var applyClass = true;
+		var className = createClassName(pseudo.slice(1));
+		var isNegated = pseudo.substring(0, 5) == ":not(";
+		var activateEventName;
+		var deactivateEventName;
+
+		// if negated, remove :not() 
+		if (isNegated) {
+			pseudo = pseudo.slice(5, -1);
+		}
+		
+		// bracket contents are irrelevant - remove them
+		var bracketIndex = pseudo.indexOf("(")
+		if (bracketIndex > -1) {
+			pseudo = pseudo.substring(0, bracketIndex);
+		}		
+		
+		// check we're still dealing with a pseudo-class
+		if (pseudo.charAt(0) == ":") {
+			switch (pseudo.slice(1)) {
+
+				case "root":
+					applyClass = function(e) {
+						return isNegated ? e != root : e == root;
+					}
+					break;
+
+				case "target":
+					// :target is only supported in IE8
+					if (ieVersion == 8) {
+						applyClass = function(e) {
+							var handler = function() { 
+								var hash = location.hash;
+								var hashID = hash.slice(1);
+								return isNegated ? (hash == EMPTY_STRING || e.id != hashID) : (hash != EMPTY_STRING && e.id == hashID);
+							};
+							addEvent( win, "hashchange", function() {
+								toggleElementClass(e, className, handler());
+							})
+							return handler();
+						}
+						break;
+					}
+					return false;
+				
+				case "checked":
+					applyClass = function(e) { 
+						if (RE_INPUT_CHECKABLE_TYPES.test(e.type)) {
+							addEvent( e, "propertychange", function() {
+								if (event.propertyName == "checked") {
+									toggleElementClass( e, className, e.checked !== isNegated );
+								} 							
+							})
+						}
+						return e.checked !== isNegated;
+					}
+					break;
+					
+				case "disabled":
+					isNegated = !isNegated;
+
+				case "enabled":
+					applyClass = function(e) { 
+						if (RE_INPUT_ELEMENTS.test(e.tagName)) {
+							addEvent( e, "propertychange", function() {
+								if (event.propertyName == "$disabled") {
+									toggleElementClass( e, className, e.$disabled === isNegated );
+								} 
+							});
+							enabledWatchers.push(e);
+							e.$disabled = e.disabled;
+							return e.disabled === isNegated;
+						}
+						return pseudo == ":enabled" ? isNegated : !isNegated;
+					}
+					break;
+					
+				case "focus":
+					activateEventName = "focus";
+					deactivateEventName = "blur";
+
+				// everything else
+				default:
+					// If we don't support this pseudo-class don't create 
+					// a patch for it
+					if (!RE_PSEUDO_STRUCTURAL.test(pseudo)) {
+						return false;
+					}
+					break;
+			}
+		}
+		return { className: className, applyClass: applyClass };
+	};
+
+	// --[ applyPatches() ]-------------------------------------------------
+	// uses the passed selector text to find DOM nodes and patch them	
+	function applyPatches(selectorText, patches) {
+		var elms;
+		
+		// Although some selector libraries can find :checked :enabled etc. 
+		// we need to find all elements that could have that state because 
+		// it can be changed by the user.
+		var domSelectorText = selectorText.replace(RE_LIBRARY_INCOMPATIBLE_PSEUDOS, EMPTY_STRING);
+		
+		// If the dom selector equates to an empty string or ends with 
+		// whitespace then we need to append a universal selector (*) to it.
+		if (domSelectorText == EMPTY_STRING || domSelectorText.charAt(domSelectorText.length - 1) == SPACE_STRING) {
+			domSelectorText += "*";
+		}
+		
+		// Ensure we catch errors from the selector library
+		try {
+			elms = selectorMethod( domSelectorText );
+		} catch (ex) {
+			// #DEBUG_START
+			log( "Selector '" + selectorText + "' threw exception '" + ex + "'" );
+			// #DEBUG_END
+		}
+
+
+		if (elms) {
+			for (var d = 0, dl = elms.length; d < dl; d++) {	
+				var elm = elms[d];
+				var cssClasses = elm.className;
+				for (var f = 0, fl = patches.length; f < fl; f++) {
+					var patch = patches[f];
+					
+					if (!hasPatch(elm, patch)) {
+						if (patch.applyClass && (patch.applyClass === true || patch.applyClass(elm) === true)) {
+							cssClasses = toggleClass(cssClasses, patch.className, true );
+						}
+					}
+				}
+				elm.className = cssClasses;
+			}
+		}
+	};
+
+	// --[ hasPatch() ]-----------------------------------------------------
+	// checks for the exsistence of a patch on an element
+	function hasPatch( elm, patch ) {
+		return new RegExp("(^|\\s)" + patch.className + "(\\s|$)").test(elm.className);
+	};
+	
+	
+	// =========================== Utility =================================
+	
+	function createClassName( className ) {
+		return namespace + "-" + ((ieVersion == 6 && patchIE6MultipleClasses) ?
+			ie6PatchID++
+		:
+			className.replace(RE_PATCH_CLASS_NAME_REPLACE, function(a) { return a.charCodeAt(0) }));
+	};
+
+	// --[ log() ]----------------------------------------------------------
+	// #DEBUG_START
+	function log( message ) {
+		if (win.console) {
+			win.console.log(message);
+		}
+	};
+	// #DEBUG_END
+
+	// --[ trim() ]---------------------------------------------------------
+	// removes leading, trailing whitespace from a string
+	function trim( text ) {
+		return text.replace(RE_TIDY_TRIM_WHITESPACE, PLACEHOLDER_STRING);
+	};
+
+	// --[ normalizeWhitespace() ]------------------------------------------
+	// removes leading, trailing and consecutive whitespace from a string
+	function normalizeWhitespace( text ) {
+		return trim(text).replace(RE_TIDY_CONSECUTIVE_WHITESPACE, SPACE_STRING);
+	};
+
+	// --[ normalizeSelectorWhitespace() ]----------------------------------
+	// tidies whitespace around selector brackets and combinators
+	function normalizeSelectorWhitespace( selectorText ) {
+		return normalizeWhitespace(selectorText.
+			replace(RE_TIDY_TRAILING_WHITESPACE, PLACEHOLDER_STRING).
+			replace(RE_TIDY_LEADING_WHITESPACE, PLACEHOLDER_STRING)
+		);
+	};
+
+	// --[ toggleElementClass() ]-------------------------------------------
+	// toggles a single className on an element
+	function toggleElementClass( elm, className, on ) {
+		var oldClassName = elm.className;
+		var newClassName = toggleClass(oldClassName, className, on);
+		if (newClassName != oldClassName) {
+			elm.className = newClassName;
+			elm.parentNode.className += EMPTY_STRING;
+		}
+	};
+
+	// --[ toggleClass() ]--------------------------------------------------
+	// adds / removes a className from a string of classNames. Used to 
+	// manage multiple class changes without forcing a DOM redraw
+	function toggleClass( classList, className, on ) {
+		var re = RegExp("(^|\\s)" + className + "(\\s|$)");
+		var classExists = re.test(classList);
+		if (on) {
+			return classExists ? classList : classList + SPACE_STRING + className;
+		} else {
+			return classExists ? trim(classList.replace(re, PLACEHOLDER_STRING)) : classList;
+		}
+	};
+	
+	// --[ addEvent() ]-----------------------------------------------------
+	function addEvent(elm, eventName, eventHandler) {
+		elm.attachEvent("on" + eventName, eventHandler);
+	};
+
+	// --[ getXHRObject() ]-------------------------------------------------
+	function getXHRObject()
+	{
+		if (win.XMLHttpRequest) {
+			return new XMLHttpRequest;
+		}
+		try	{ 
+			return new ActiveXObject('Microsoft.XMLHTTP');
+		} catch(e) { 
+			return null;
+		}
+	};
+
+	// --[ loadStyleSheet() ]-----------------------------------------------
+	function loadStyleSheet( url ) {
+		xhr.open("GET", url, false);
+		xhr.send();
+		return (xhr.status==200) ? xhr.responseText : EMPTY_STRING;	
+	};
+	
+	// --[ resolveUrl() ]---------------------------------------------------
+	// Converts a URL fragment to a fully qualified URL using the specified
+	// context URL. Returns null if same-origin policy is broken
+	function resolveUrl( url, contextUrl ) {
+	
+		function getProtocolAndHost( url ) {
+			return url.substring(0, url.indexOf("/", 8));
+		};
+		
+		// absolute path
+		if (/^https?:\/\//i.test(url)) {
+			return getProtocolAndHost(contextUrl) == getProtocolAndHost(url) ? url : null;
+		}
+		
+		// root-relative path
+		if (url.charAt(0)=="/")	{
+			return getProtocolAndHost(contextUrl) + url;
+		}
+
+		// relative path
+		var contextUrlPath = contextUrl.split(/[?#]/)[0]; // ignore query string in the contextUrl	
+		if (url.charAt(0) != "?" && contextUrlPath.charAt(contextUrlPath.length - 1) != "/") {
+			contextUrlPath = contextUrlPath.substring(0, contextUrlPath.lastIndexOf("/") + 1);
+		}
+		
+		return contextUrlPath + url;
+	};
+	
+	// --[ parseStyleSheet() ]----------------------------------------------
+	// Downloads the stylesheet specified by the URL, removes it's comments
+	// and recursivly replaces @import rules with their contents, ultimately
+	// returning the full cssText.
+	function parseStyleSheet( url ) {
+		if (url) {
+			return loadStyleSheet(url).replace(RE_COMMENT, EMPTY_STRING).
+			replace(RE_IMPORT, function( match, quoteChar, importUrl, quoteChar2, importUrl2 ) { 
+				return parseStyleSheet(resolveUrl(importUrl || importUrl2, url));
+			}).
+			replace(RE_ASSET_URL, function( match, quoteChar, assetUrl ) { 
+				quoteChar = quoteChar || EMPTY_STRING;
+				return " url(" + quoteChar + resolveUrl(assetUrl, url) + quoteChar + ") "; 
+			});
+		}
+		return EMPTY_STRING;
+	};
+	
+	// --[ init() ]---------------------------------------------------------
+	function init() {
+		// honour the <base> tag
+		var url, stylesheet;
+		var baseTags = doc.getElementsByTagName("BASE");
+		var baseUrl = (baseTags.length > 0) ? baseTags[0].href : doc.location.href;
+		
+		/* Note: This code prevents IE from freezing / crashing when using 
+		@font-face .eot files but it modifies the <head> tag and could
+		trigger the IE stylesheet limit. It will also cause FOUC issues.
+		If you choose to use it, make sure you comment out the for loop 
+		directly below this comment.
+
+		var head = doc.getElementsByTagName("head")[0];
+		for (var c=doc.styleSheets.length-1; c>=0; c--) {
+			stylesheet = doc.styleSheets[c]
+			head.appendChild(doc.createElement("style"))
+			var patchedStylesheet = doc.styleSheets[doc.styleSheets.length-1];
+			
+			if (stylesheet.href != EMPTY_STRING) {
+				url = resolveUrl(stylesheet.href, baseUrl)
+				if (url) {
+					patchedStylesheet.cssText = patchStyleSheet( parseStyleSheet( url ) )
+					stylesheet.disabled = true
+					setTimeout( function () {
+						stylesheet.owningElement.parentNode.removeChild(stylesheet.owningElement)
+					})
+				}
+			}
+		}
+		*/
+		
+		for (var c = 0; c < doc.styleSheets.length; c++) {
+			stylesheet = doc.styleSheets[c]
+			if (stylesheet.href != EMPTY_STRING) {
+				url = resolveUrl(stylesheet.href, baseUrl);
+				if (url) {
+					stylesheet.cssText = patchStyleSheet( parseStyleSheet( url ) );
+				}
+			}
+		}
+		
+		// :enabled & :disabled polling script (since we can't hook 
+		// onpropertychange event when an element is disabled) 
+		if (enabledWatchers.length > 0) {
+			setInterval( function() {
+				for (var c = 0, cl = enabledWatchers.length; c < cl; c++) {
+					var e = enabledWatchers[c];
+					if (e.disabled !== e.$disabled) {
+						if (e.disabled) {
+							e.disabled = false;
+							e.$disabled = true;
+							e.disabled = true;
+						}
+						else {
+							e.$disabled = e.disabled;
+						}
+					}
+				}
+			},250)
+		}
+	};
+	
+	// Bind selectivizr to the ContentLoaded event. 
+	ContentLoaded(win, function() {
+		// Determine the "best fit" selector engine
+		for (var engine in selectorEngines) {
+			var members, member, context = win;
+			if (win[engine]) {
+				members = selectorEngines[engine].replace("*", engine).split(".");
+				while ((member = members.shift()) && (context = context[member])) {}
+				if (typeof context == "function") {
+					selectorMethod = context;
+					init();
+					return;
+				}
+			}
+		}
+	});
+	
+	
+	/*!
+	 * ContentLoaded.js by Diego Perini, modified for IE<9 only (to save space)
+	 *
+	 * Author: Diego Perini (diego.perini at gmail.com)
+	 * Summary: cross-browser wrapper for DOMContentLoaded
+	 * Updated: 20101020
+	 * License: MIT
+	 * Version: 1.2
+	 *
+	 * URL:
+	 * http://javascript.nwbox.com/ContentLoaded/
+	 * http://javascript.nwbox.com/ContentLoaded/MIT-LICENSE
+	 *
+	 */
+
+	// @w window reference
+	// @f function reference
+	function ContentLoaded(win, fn) {
+
+		var done = false, top = true,
+		init = function(e) {
+			if (e.type == "readystatechange" && doc.readyState != "complete") return;
+			(e.type == "load" ? win : doc).detachEvent("on" + e.type, init, false);
+			if (!done && (done = true)) fn.call(win, e.type || e);
+		},
+		poll = function() {
+			try { root.doScroll("left"); } catch(e) { setTimeout(poll, 50); return; }
+			init('poll');
+		};
+
+		if (doc.readyState == "complete") fn.call(win, EMPTY_STRING);
+		else {
+			if (doc.createEventObject && root.doScroll) {
+				try { top = !win.frameElement; } catch(e) { }
+				if (top) poll();
+			}
+			addEvent(doc,"readystatechange", init);
+			addEvent(win,"load", init);
+		}
+	};
+})(this);
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/js/sticky.js b/app/design/frontend/magento_plushe/js/sticky.js
new file mode 100644
index 0000000000000000000000000000000000000000..df725faedaa8f42c3391ad89d18c3c3bcf08cefe
--- /dev/null
+++ b/app/design/frontend/magento_plushe/js/sticky.js
@@ -0,0 +1,61 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    EE
+ * @package     EE_refrence
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+/*jshint browser:true jquery:true*/
+(function($, window) {
+    $.widget('mage.sticky', {
+        options: {
+            container: ''
+        },
+
+        /**
+         * Bind handlers to scroll event
+         * @private
+         */
+        _create: function() {
+            $(window).on('scroll', $.proxy(this._setTop, this));
+        },
+
+        /**
+         * float Block on windowScroll
+         * @private
+         */
+        _setTop: function() {
+            if ((this.element).is(':visible')) {
+                var startOffset = this.element.parent().offset().top + parseInt(this.element.css("margin-top")),
+                    currentOffset = $(document).scrollTop(),
+                    parentHeight = $(this.options.container).height() - parseInt(this.element.css("margin-top")),
+                    discrepancyOffset = currentOffset - startOffset;
+
+                if (discrepancyOffset >= 0) {
+                    if (discrepancyOffset + this.element.innerHeight() < parentHeight) {
+                        this.element.css('top', discrepancyOffset);
+                    }
+                } else {
+                    this.element.css('top', 0);
+                }
+            }
+        }
+    });
+})(jQuery, window);
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/js/tabs.js b/app/design/frontend/magento_plushe/js/tabs.js
new file mode 100644
index 0000000000000000000000000000000000000000..4ada49ab0965982fef4179c9bceb0a67e90e3410
--- /dev/null
+++ b/app/design/frontend/magento_plushe/js/tabs.js
@@ -0,0 +1,169 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright  Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+;
+(function($) {
+    'use strict';
+
+    $.fn.terms = function(args){
+
+        // default
+        var defaults = {
+            start:0,
+            wrapper:'',
+            showAnchor:'',
+            effects:'slide'
+        };
+
+        var options = $.extend(defaults, args);
+
+        this.each(function() {
+            var obj = $(this),
+                wrapper = (options.wrapper !== '') ? '> ' + options.wrapper : '',
+                switches = $(wrapper + '> [data-section="title"] > [data-toggle="switch"]',obj),
+                terms = $(wrapper + '> [data-section="content"]',obj),
+                t = switches.length,
+                marginTop = $(switches[0]).closest('[data-section="title"]').css('position') == 'absolute' ? 0 : null,
+                title,
+                current,
+
+            init = function() {
+                if (t > 0) {
+                    if($(switches[0]).closest('[data-section="title"]').css('display')=='table-cell') {
+                        obj.addClass('adjusted');
+                        var linksList;
+                        if (obj[0].tagName=='DL') {
+                            linksList = jQuery('<dd>');
+                        } else {
+                            linksList = jQuery('<div>');
+                        }
+                        linksList.addClass('sections-nav');
+                        obj.prepend(linksList);
+
+                        for (var i=0; i < t; i++) {
+                            title = $(switches[i]).html();
+                            var classes = $(switches[i]).closest('[data-section="title"]').attr('class');
+                            var dataSection = $(switches[i]).closest('[data-section="title"]').attr('data-section');
+                            var itemHref = $(switches[i]).attr('href');
+                            var itemClass = $(switches[i]).attr('class');
+                            $(switches[i]).parent('[data-section="title"]').hide();
+                            switches[i] = jQuery('<a/>',{
+                                href: itemHref,
+                                'class' : itemClass,
+                                html: title
+                            }).appendTo(linksList);
+                            $(switches[i]).wrap('<strong class="'+classes+'" data-section="'+dataSection+'" />');
+                        }
+                    }
+                    $(switches).each(function(ind,el){
+                        $(el).click(function(event){
+                            event.preventDefault();
+                            showItem(ind);
+                            });
+                        if (marginTop !== null) {
+                            $(el).closest('[data-section="title"]').css({'top' : marginTop + 'px'});
+                            marginTop = marginTop + $(el).closest('[data-section="title"]').outerHeight(true);
+                            obj.css({'min-height' : marginTop + 'px' });
+                        }
+                    });
+
+                    var fromUrl = false;
+                    if (window.location.hash.length > 0) {
+                        $(terms).each(function(ind,el) {
+                            if ( '#info-'+$(el).attr('id') == window.location.hash) {
+                                showItem(ind);
+                                $('html, body').animate({
+                                    scrollTop: $(switches[ind]).offset().top
+                                }, 700);
+                                fromUrl = true;
+                            }
+                        });
+                    }
+                    if (fromUrl === false) {
+                        if ( options.start % 1 === 0 ) {
+                            current = options.start + 1;
+                            showItem(options.start);
+                        } else {
+                            $(terms).each(function(ind,el) {
+                                if ( $(el).attr('id') == options.start) {
+                                    current = ind + 1;
+                                    showItem(ind);
+                                    $('html, body').animate({
+                                        scrollTop: $(switches[ind]).offset().top
+                                    }, 700);
+                                }
+                            });
+                        }
+                    }
+                }
+            },
+
+
+            showItem = function(item) {
+                if (item != current && !$(switches[item]).closest('[data-section="title"]').hasClass('disabled') ) {
+                    $(switches).closest('[data-section="title"]').removeClass('active');
+                    if (options.wrapper !== '') {
+                        $(switches).parent().parent().removeClass('active');
+                    }
+                    $(terms).removeClass('active');
+                    $(switches[item]).closest('[data-section="title"]').addClass('active');
+                    if (options.wrapper !== '') {
+                        $(switches[current]).parent().parent().addClass('active');
+                    }
+                    $(terms[item]).addClass('active');
+
+                    /*if ($(terms[item]).attr('id')) {
+                        scr = document.body.scrollTop;
+                        window.location.hash='#tab-' + $(terms[item]).attr('id');
+                        document.body.scrollTop = scr;
+                    }*/
+                    current = item;
+                } else if (
+                            // Check if this is accordion width as criteria for now
+                            (obj.attr('data-sections') == 'accordion'
+                                || $(switches[item]).closest('[data-section="title"]').css('width') == obj.css('width')
+                            )
+                            && item == current && !$(switches[item]).closest('[data-section="title"]').hasClass('disabled')
+                        ) {
+                    $(switches).closest('[data-section="title"]').removeClass('active');
+                    if (options.wrapper !== '') {
+                        $(switches).parent().parent().removeClass('active');
+                    }
+                    $(terms).removeClass('active');
+                    current = -1;
+                }
+            },
+
+            applyEffect = function(item, effect) {
+            };
+
+            init();
+        });
+    };
+    $(document).ready(function() {
+        $('[data-sections]').terms();
+    });
+
+})(window.jQuery);
+
+
+
diff --git a/app/design/frontend/magento_plushe/js/theme.js b/app/design/frontend/magento_plushe/js/theme.js
new file mode 100644
index 0000000000000000000000000000000000000000..d4a340719e91a22c5c12ef7a8616cf795a19c5c3
--- /dev/null
+++ b/app/design/frontend/magento_plushe/js/theme.js
@@ -0,0 +1,115 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright  Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+;
+(function($) {
+    'use strict';
+
+    function listScroll() {
+        var list = $('[data-action="scroll"]').addClass('carousel');
+        var listInner = $('> .minilist.items', list);
+        var items = $('.item', list);
+        var itemWidth = $(items[0]).outerWidth();
+        var perpage = Math.floor(list.outerWidth()/itemWidth);
+        var pages = Math.floor(items.length/perpage);
+        var page=0;
+        for (var i=0 ; i < perpage; i++) {
+            $(items[i + page*perpage]).addClass('shown');
+        };
+        for (var i=perpage; i < items.length; i++) {
+            $(items[i + page*perpage]).addClass('hidden');
+        };
+        if ( itemWidth*items.length > list.outerWidth() ) {
+                var next = $('<button class="action next" type="button"><span>Next</span></button>');
+                var previous = $('<button class="action previous" type="button"><span>Previous</span></button>').attr('disabled', 'disabled');
+                list.append(previous);
+                list.append(next);
+                listInner.wrap('<div class="items-wrapper" />');
+                $('.items-wrapper').css('width', itemWidth*perpage);
+                next.on('click.itemsScroll', function() {
+                            list.addClass('animation');
+                            items.removeClass('shown');
+                            items.removeClass('hidden');
+                            listInner.animate({
+                            left: '-=' + itemWidth*perpage,
+                        }, 400, 'easeInOutCubic', function() {
+                            // Animation complete.
+                            page = page + 1;
+                            for (var i=0 ; i < perpage; i++) {
+                                $(items[i + page*perpage]).addClass('shown');
+                            };
+                            for (var i=perpage; i < items.length; i++) {
+                                $(items[i + page*perpage]).addClass('hidden');
+                            };
+                            console.log(i);
+                            previous.removeAttr('disabled');
+                            if (page == pages) {
+                                next.attr('disabled', 'disabled');
+                            }
+                            list.removeClass('animation');
+                        });
+                    });
+                previous.on('click.itemsScroll', function() {
+                            list.addClass('animation');
+                            items.removeClass('shown');
+                            items.removeClass('hidden');
+                            listInner.animate({
+                            left: '+=' + itemWidth*perpage,
+                        }, 400, 'easeInOutCubic', function() {
+                            // Animation complete.
+                            page = page - 1;
+                            for (var i=0 ; i < perpage; i++) {
+                                $(items[i + page*perpage]).addClass('shown');
+                            };
+                            for (var i=perpage; i < items.length; i++) {
+                                $(items[i + page*perpage]).addClass('hidden');
+                            };
+                            next.removeAttr('disabled');
+                            if (page == 0) {
+                                previous.attr('disabled', 'disabled');
+                            }
+                            list.removeClass('animation');
+                        });
+                    });
+
+        }
+    }
+
+    $(document).ready(function() {
+        listScroll();
+
+        if ($('body').hasClass('checkout-cart-index')) {
+            $('.cart.summary > .block > .title').dropdown({autoclose:false, menu:'.title + .content'});
+            if ($('#co-shipping-method-form .fieldset.rates').length > 0 && $('#co-shipping-method-form .fieldset.rates :checked').length === 0 ) {
+                $('.block.shipping > .title').addClass('active');
+                $('.block.shipping').addClass('active');
+            }
+        }
+
+        $('[role="navigation"]').navigationMenu({
+            responsive: true,
+            submenuContiniumEffect: true
+        });
+    });
+
+})(window.jQuery);
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/less/clearless/all.less b/app/design/frontend/magento_plushe/less/clearless/all.less
new file mode 100644
index 0000000000000000000000000000000000000000..c39ad99d5e6331e149f7358547713e3551bd3d37
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/clearless/all.less
@@ -0,0 +1,36 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+// ==============================================
+// Handily import all ClearLess mixins
+// ==============================================
+
+@import "settings";
+@import "typography";
+@import "resets";
+@import "helpers";
+@import "sprites";
+@import "icons";
+@import "arrows";
+@import "grids";
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/less/clearless/arrows.less b/app/design/frontend/magento_plushe/less/clearless/arrows.less
new file mode 100644
index 0000000000000000000000000000000000000000..32f074ecc8b65c6ceba555165b28af5a5076dffe
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/clearless/arrows.less
@@ -0,0 +1,172 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+.arrow(@pos, @size, @bg-color) {
+    width: 0;
+    height: 0;
+    border: @size solid transparent;
+    ._abbor_el( @pos, @bg-color );
+}
+
+.arrowbox(@pos, @size, @bg-color, @offset:50%) {
+
+    @after-margin: @size * -1px;
+
+    position: relative;
+    background: @bg-color;
+
+    &:after,
+    &:before {
+        ._abpos(@pos);
+        border: solid transparent;
+        content: " ";
+        height: 0;
+        width: 0;
+        position: absolute;
+        pointer-events: none;
+    }
+
+    &:after {
+        border-color: transparent;
+        ._abbor_el(@pos, @bg-color);
+        border-width: @size;
+        ._abpos_el(@pos, @size, @offset);
+        ._abmar_el(@pos, @after-margin);
+    }
+
+}
+
+.arrowbox(@pos, @size, @bg-color, @border-width, @border-color, @offset:50%) {
+
+    @before-margin: (@size + round(@border-width * 1.41421356)) * -1px;
+
+    .arrowbox(@pos, @size, @bg-color, @offset);
+
+    border: @border-width solid @border-color;
+
+    &:before {
+        border-color: transparent;
+        ._abbor_el(@pos, @border-color);
+        border-width: @before-margin * -1;
+        ._abpos_el(@pos, @size, @offset);
+        ._abmar_el(@pos, @before-margin);
+    }
+
+}
+
+._abpos( @pos ) when ( @pos = left ) {
+    right: 100%;
+}
+
+._abpos( @pos ) when ( @pos = right ) {
+    left: 100%;
+}
+
+._abpos( @pos ) when ( @pos = up ) {
+    bottom: 100%;
+}
+
+._abpos( @pos ) when ( @pos = down ) {
+    top: 100%;
+}
+
+._abpos_el( @pos, @size, @offset ) when ( @offset = 0 ) and ( @pos = left ) {
+    top: @size;
+}
+
+._abpos_el( @pos, @size, @offset ) when ( @offset = 0 ) and ( @pos = right ) {
+    top: @size;
+}
+
+._abpos_el( @pos, @size, @offset ) when ( @offset = 0 ) and ( @pos = up ) {
+    left: @size;
+}
+
+._abpos_el( @pos, @size, @offset ) when ( @offset = 0 ) and ( @pos = down ) {
+    left: @size;
+}
+
+._abpos_el( @pos, @size, @offset ) when not ( @offset = 0 ) and not ( ispixel(@offset) ) and ( @pos = left ) {
+    top: @offset;
+}
+
+._abpos_el( @pos, @size, @offset ) when not ( @offset = 0 ) and not ( ispixel(@offset) ) and ( @pos = right ) {
+    top: @offset;
+}
+
+._abpos_el( @pos, @size, @offset ) when not ( @offset = 0 ) and not ( ispixel(@offset) ) and ( @pos = up ) {
+    left: @offset;
+}
+
+._abpos_el( @pos, @size, @offset ) when not ( @offset = 0 ) and not ( ispixel(@offset) ) and ( @pos = down ) {
+    left: @offset;
+}
+
+._abpos_el( @pos, @size, @offset ) when not ( @offset = 0 ) and ( ispixel(@offset) ) and ( @pos = left ) {
+    top: @offset + @size;
+}
+
+._abpos_el( @pos, @size, @offset ) when not ( @offset = 0 ) and ( ispixel(@offset) ) and ( @pos = right ) {
+    top: @offset + @size;
+}
+
+._abpos_el( @pos, @size, @offset ) when not ( @offset = 0 ) and ( ispixel(@offset) ) and ( @pos = up ) {
+    left: @offset + @size;
+}
+
+._abpos_el( @pos, @size, @offset ) when not ( @offset = 0 ) and ( ispixel(@offset) ) and ( @pos = down ) {
+    left: @offset + @size;
+}
+
+._abbor_el( @pos, @color ) when ( @pos = left ) {
+    border-right-color: @color;
+}
+
+._abbor_el( @pos, @color ) when ( @pos = right ) {
+    border-left-color: @color;
+}
+
+._abbor_el( @pos, @color ) when ( @pos = up ) {
+    border-bottom-color: @color;
+}
+
+._abbor_el( @pos, @color ) when ( @pos = down ) {
+    border-top-color: @color;
+}
+
+._abmar_el( @pos, @margin ) when ( @pos = left ) {
+    margin-top: @margin;
+}
+
+._abmar_el( @pos, @margin ) when ( @pos = right ) {
+    margin-top: @margin;
+}
+
+._abmar_el( @pos, @margin ) when ( @pos = up ) {
+    margin-left: @margin;
+}
+
+._abmar_el( @pos, @margin ) when ( @pos = down ) {
+    margin-left: @margin;
+}
diff --git a/app/design/frontend/magento_plushe/less/clearless/grids.less b/app/design/frontend/magento_plushe/less/clearless/grids.less
new file mode 100644
index 0000000000000000000000000000000000000000..33fd73b9befbad5644a1a9fedffc52f12a0c83e3
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/clearless/grids.less
@@ -0,0 +1,186 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+// ==============================================
+// Grid mixins
+// ==============================================
+
+// You shouldn't need to touch this! Internal use only.
+@column-width: 1;
+@total-columns: 1;
+@gutter-width: 1;
+@grid-width: (@column-width*@total-columns) + (@gutter-width*(@total-columns - 1));
+
+.column-wrapper() {
+    width: 100%;
+}
+
+.inline-column-wrapper() when not (@using-ieclasses) {
+    letter-spacing: -0.31em;
+    *letter-spacing: normal;
+    word-spacing: -0.43em;
+}
+
+.inline-column-wrapper() when (@using-ieclasses) {
+    letter-spacing: -0.31em;
+    word-spacing: -0.43em;
+    .ie7 & {
+        letter-spacing: normal;
+    }
+}
+
+.column() {
+    float: left;
+    .column-gutter();
+}
+
+.column( @span ) when (@span = false) {
+    float: left;
+}
+
+.column( @span, @total-columns:@total-columns, @end-column:false ) when (isnumber(@span)) and (isnumber(@total-columns)) and not (isnumber(@end-column)) {
+    @showgutter: false;
+    .column(@showgutter);
+    .span( @span, @total-columns );
+}
+
+.column( @span, @total-columns:@total-columns, @end-column:false ) when (isnumber(@span)) and (isnumber(@total-columns)) and (@end-column = true) {
+    @showgutter: false;
+    .column(@showgutter);
+    .span( @span, @total-columns );
+    .end-column();
+}
+
+.column( @span, @end-column ) when (isnumber(@span)) and not (isnumber(@end-column)) {
+    @showgutter: false;
+    .column(@showgutter);
+    .span( @span );
+}
+
+.column( @span, @end-column ) when (isnumber(@span)) and ( @end-column = true ) {
+    @showgutter: false;
+    .column(@showgutter);
+    .span( @span );
+    .end-column();
+}
+
+.inline-column() {
+    .inline-block();
+    vertical-align: top;
+    letter-spacing: normal;
+    word-spacing: normal;
+    .column-gutter();
+}
+
+.inline-column( @span ) when (@span = false) {
+    .inline-block();
+    vertical-align: top;
+    letter-spacing: normal;
+    word-spacing: normal;
+}
+
+.inline-column( @span, @total-columns:@total-columns, @end-column:false ) when (isnumber(@span)) and (isnumber(@total-columns)) {
+    @showgutter: false;
+    .inline-column(@showgutter);
+    .span( @span, @total-columns );
+}
+
+.inline-column( @span, @total-columns:@total-columns, @end-column:false ) when (isnumber(@span)) and (@end-column = true) {
+    @showgutter: false;
+    .inline-column(@showgutter);
+    .span( @span, @total-columns );
+    .inline-end-column();
+}
+
+.inline-column( @span, @end-column ) when not (isnumber(@end-column)) {
+    @showgutter: false;
+    .inline-column(@showgutter);
+    .span( @span );
+}
+
+.inline-column( @span, @end-column ) when (@end-column = true) {
+    @showgutter: false;
+    .inline-column(@showgutter);
+    .span( @span );
+    .inline-end-column();
+}
+
+.end-column() {
+    margin-right: 0;
+    float: right;
+}
+
+.inline-end-column() {
+    margin-right: 0;
+}
+
+.span( @span ) {
+    .column-width(@span, @total-columns);
+}
+
+.span( @span, @total-columns ) when (isnumber(@total-columns)) {
+    .column-width(@span, @total-columns);
+    .column-gutter(@total-columns);
+}
+
+.pre-pad( @span, @total-columns:@total-columns ) {
+    @calc-column-width: 100%*((((@gutter-width+@column-width)*@span)) / @grid-width);
+    padding-left: @calc-column-width;
+}
+
+.post-pad( @span, @total-columns:@total-columns ) {
+    @calc-column-width: 100%*((((@gutter-width+@column-width)*@span)) / @grid-width);
+    padding-right: @calc-column-width;
+}
+
+.pre-push( @span, @total-columns:@total-columns ) {
+    @calc-column-width: 100%*((((@gutter-width+@column-width)*@span)) / @grid-width);
+    margin-left: @calc-column-width;
+}
+
+.post-push( @span, @total-columns:@total-columns ) {
+    @calc-column-width: 100%*((((@gutter-width+@column-width)*@span)+@gutter-width) / @grid-width);
+    margin-right: @calc-column-width;
+}
+
+.post-push-end( @span, @total-columns:@total-columns ) {
+    @calc-column-width: 100%*((((@gutter-width+@column-width)*@span)) / @grid-width);
+    margin-right: @calc-column-width;
+}
+
+.column-width(@span, @total-columns:@total-columns) {
+    @calc-column-width: 100%*((((@gutter-width+@column-width)*@span)-@gutter-width) / @grid-width);
+    width: @calc-column-width;
+}
+
+.column-gutter(@total-columns:@total-columns, @end-column:false) when (@end-column) {
+    margin-right: 0;
+}
+
+.column-gutter(@total-columns:@total-columns, @end-column:false) when not (@end-column) {
+    @calc-gutter-width: 100%*(@gutter-width/@grid-width);
+    margin-right: @calc-gutter-width;
+}
+
+
diff --git a/app/design/frontend/magento_plushe/less/clearless/helpers.less b/app/design/frontend/magento_plushe/less/clearless/helpers.less
new file mode 100644
index 0000000000000000000000000000000000000000..87bc3a2affdf4946e90972e08ccc1a968db5c355
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/clearless/helpers.less
@@ -0,0 +1,248 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+// ==============================================
+// Misc helpers and shortcuts
+// ==============================================
+
+// Shortcuts --------------------------------
+
+.border-radius(@radius:5px) {
+    -webkit-border-radius: @arguments;
+    -moz-border-radius: @arguments;
+    border-radius: @arguments;
+}
+
+.box-sizing(@type: border-box) {
+    -moz-box-sizing: @type;
+    -webkit-box-sizing: @type;
+    -ms-box-sizing: @type;
+    box-sizing: @type;
+}
+
+.box-shadow(@shadow: 1px 1px 2px rgba(0,0,0,0.25)) {
+    -webkit-box-shadow: @shadow;
+    -moz-box-shadow: @shadow;
+    box-shadow: @shadow;
+}
+
+.filter(@filter: grayscale(100%)) {
+    -webkit-filter: @filter;
+    -moz-filter: @filter;
+    -ms-filter: @filter;
+    -o-filter: @filter;
+    filter: @filter;
+}
+
+.transition(@transition) {
+    -webkit-transition: @transition;
+    -moz-transition: @transition;
+    transition: @transition;
+}
+
+.rotate(@rotation) {
+    -webkit-transform: rotate(@rotation);
+    -moz-transform: rotate(@rotation);
+    -o-transform: rotate(@rotation);
+    transform: rotate(@rotation);
+}
+
+.placeholder(@color: #DDD) {
+    :-moz-placeholder {
+        color: @color;
+    }
+    ::-webkit-input-placeholder {
+        color: @color;
+    }
+}
+
+#gradient {
+    .horizontal (@start-color, @end-color) when not (@disable-filters) {
+        background-color: @end-color;
+        background-repeat: repeat-x;
+        background-image: -khtml-gradient(linear, left top, right top, from(@start-color), to(@end-color)); /* Konqueror */
+        background-image: -moz-linear-gradient(left, @start-color, @end-color); /* FF 3.6+ */
+        background-image: -ms-linear-gradient(left, @start-color, @end-color); /* IE10 */
+        background-image: -webkit-gradient(linear, left top, right top, color-stop(0%, @start-color), color-stop(100%, @end-color)); /* Safari 4+, Chrome 2+ */
+        background-image: -webkit-linear-gradient(left, @start-color, @end-color); /* Safari 5.1+, Chrome 10+ */
+        background-image: -o-linear-gradient(left, @start-color, @end-color); /* Opera 11.10 */
+        background-image: -ms-linear-gradient(left, @start-color 0%, @end-color 100%); /* IE10+ */
+        background-image: linear-gradient(left, @start-color, @end-color); /* the standard */
+        filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",@start-color,@end-color)); /* IE6 & IE7 */
+        -ms-filter: %("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",@start-color,@end-color); /* IE8+ */
+    }
+    .horizontal (@start-color, @end-color) when (@disable-filters) {
+        background-color: @end-color;
+        background-repeat: repeat-x;
+        background-image: -khtml-gradient(linear, left top, right top, from(@start-color), to(@end-color)); /* Konqueror */
+        background-image: -moz-linear-gradient(left, @start-color, @end-color); /* FF 3.6+ */
+        background-image: -ms-linear-gradient(left, @start-color, @end-color); /* IE10 */
+        background-image: -webkit-gradient(linear, left top, right top, color-stop(0%, @start-color), color-stop(100%, @end-color)); /* Safari 4+, Chrome 2+ */
+        background-image: -webkit-linear-gradient(left, @start-color, @end-color); /* Safari 5.1+, Chrome 10+ */
+        background-image: -o-linear-gradient(left, @start-color, @end-color); /* Opera 11.10 */
+        background-image: -ms-linear-gradient(left, @start-color 0%, @end-color 100%); /* IE10+ */
+        background-image: linear-gradient(left, @start-color, @end-color); /* the standard */
+    }
+    .vertical (@start-color, @end-color) when (@disable-filters) {
+        background-color: @end-color;
+        background-repeat: repeat-x;
+        background-image: -khtml-gradient(linear, left top, left bottom, from(@start-color), to(@end-color)); /* Konqueror */
+        background-image: -moz-linear-gradient(@start-color, @end-color); /* FF 3.6+ */
+        background-image: -ms-linear-gradient(@start-color, @end-color); /* IE10 */
+        background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, @start-color), color-stop(100%, @end-color)); /* Safari 4+, Chrome 2+ */
+        background-image: -webkit-linear-gradient(@start-color, @end-color); /* Safari 5.1+, Chrome 10+ */
+        background-image: -o-linear-gradient(@start-color, @end-color); /* Opera 11.10 */
+        background-image: -ms-linear-gradient(top, @start-color 0%, @end-color 100%); /* IE10+ */
+        background-image: linear-gradient(@start-color, @end-color); /* the standard */
+    }
+    .vertical (@start-color, @end-color) when not (@disable-filters) {
+        background-color: @end-color;
+        background-repeat: repeat-x;
+        background-image: -khtml-gradient(linear, left top, left bottom, from(@start-color), to(@end-color)); /* Konqueror */
+        background-image: -moz-linear-gradient(@start-color, @end-color); /* FF 3.6+ */
+        background-image: -ms-linear-gradient(@start-color, @end-color); /* IE10 */
+        background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, @start-color), color-stop(100%, @end-color)); /* Safari 4+, Chrome 2+ */
+        background-image: -webkit-linear-gradient(@start-color, @end-color); /* Safari 5.1+, Chrome 10+ */
+        background-image: -o-linear-gradient(@start-color, @end-color); /* Opera 11.10 */
+        background-image: -ms-linear-gradient(top, @start-color 0%, @end-color 100%); /* IE10+ */
+        background-image: linear-gradient(@start-color, @end-color); /* the standard */
+        filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@start-color,@end-color)); /* IE6 & IE7 */
+        -ms-filter: %("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@start-color,@end-color); /* IE8+ */
+    }
+}
+
+// Helpers --------------------------------
+
+.clearfix() when not (@using-ieclasses) {
+    &:before,
+    &:after {
+        content: "";
+        display: table;
+    }
+    &:after {
+        clear: both;
+    }
+    *zoom: 1;
+}
+
+.clearfix() when (@using-ieclasses) {
+    &:before,
+    &:after {
+        content: "";
+        display: table;
+    }
+    &:after {
+        clear: both;
+    }
+    .ie6 &, .ie7 & {
+        zoom: 1;
+    }
+}
+
+.inline-block() when (@using-ieclasses) {
+    display: inline-block;
+    .ie7 & {
+        display: inline;
+        zoom: 1;
+    }
+}
+
+.inline-block() when not (@using-ieclasses) {
+    display: inline-block;
+    *display: inline;
+    *zoom: 1;
+}
+
+.ir() {
+    border: 0;
+    font: 0/0 a;
+    text-shadow: none;
+    color: transparent;
+    background-color: transparent;
+}
+
+.hidden() {
+    display: none !important;
+    visibility: hidden;
+}
+
+.visually-hidden() {
+    border: 0;
+    clip: rect(0 0 0 0);
+    height: 1px;
+    margin: -1px;
+    overflow: hidden;
+    padding: 0;
+    position: absolute;
+    width: 1px;
+    &.focusable:active,
+    &.focusable:focus {
+        clip: auto;
+        height: auto;
+        margin: 0;
+        overflow: visible;
+        position: static;
+        width: auto;
+    }
+}
+
+.size(@thesize) {
+    width: @thesize;
+    height: @thesize;
+}
+
+.size(@width, @height) {
+    width: @width;
+    height: @height;
+}
+
+// System --------------------------------
+
+.nudge-l( @pos ) when ( @pos = 0 ) {
+}
+
+.nudge-l( @pos ) when not ( @pos = 0 ) {
+    left: @pos;
+}
+
+.nudge-r( @pos ) when ( @pos = 0 ) {
+}
+
+.nudge-r( @pos ) when not ( @pos = 0 ) {
+    right: @pos;
+}
+
+.nudge-t( @pos ) when ( @pos = 0 ) {
+}
+
+.nudge-t( @pos ) when not ( @pos = 0 ) {
+    top: @pos;
+}
+
+.nudge-b( @pos ) when ( @pos = 0 ) {
+}
+
+.nudge-b( @pos ) when not ( @pos = 0 ) {
+    bottom: @pos;
+}
diff --git a/app/design/frontend/magento_plushe/less/clearless/icons.less b/app/design/frontend/magento_plushe/less/clearless/icons.less
new file mode 100644
index 0000000000000000000000000000000000000000..e8385fb4e2cb0ab4aa01ce51c110a88399d2c93d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/clearless/icons.less
@@ -0,0 +1,327 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+// ==============================================
+// Generated content icon helpers
+// ----------------------------------------------
+// These can only be used on block or inline-block elements.
+// ==============================================
+
+// Non-sprited icons --------------------------------
+
+.prepend-icon( @icon-image, @width, @height, @nudge-left:0, @nudge-top:0, @pad:10px ) when (@using-modernizr) {
+    .generatedcontent & {
+        position: relative;
+        padding-left: @width + @pad;
+    }
+    .generatedcontent &:before {
+        ._generated-icon( @width, @height, @icon-image );
+        top: @nudge-top;
+        left: @nudge-left;
+    }
+}
+
+.prepend-icon( @icon-image, @width, @height, @nudge-left:0, @nudge-top:0, @pad:10px ) when not (@using-modernizr) {
+    position: relative;
+    padding-left: @width + @pad;
+    &:before {
+        ._generated-icon( @width, @height, @icon-image );
+        top: @nudge-top;
+        left: @nudge-left;
+    }
+}
+
+.append-icon( @icon-image, @width, @height, @nudge-right:0, @nudge-top:0, @pad:10px ) when (@using-modernizr) {
+    .generatedcontent & {
+        position: relative;
+        padding-right: @width + @pad;
+    }
+    .generatedcontent &:after {
+        ._generated-icon( @width, @height, @icon-image );
+        top: @nudge-top;
+        right: @nudge-right;
+    }
+}
+
+.append-icon( @icon-image, @width, @height, @nudge-right:0, @nudge-top:0, @pad:10px ) when not (@using-modernizr) {
+    position: relative;
+    padding-right: @width + @pad;
+    .generatedcontent &:after {
+        ._generated-icon( @width, @height, @icon-image );
+        top: @nudge-top;
+        right: @nudge-right;
+    }
+}
+
+// Sprited icons --------------------------------
+
+.prepend-sprite-icon(@x, @y, @width, @height, @nudge-left:0, @nudge-top:0, @pad:10px, @sprite-image:@sprite-image, @sprite-grid:@sprite-grid) when (@using-modernizr) {
+    .generatedcontent & {
+        position: relative;
+        padding-left: @width + @pad;
+    }
+    .generatedcontent &:before {
+        ._generated-sprite-icon( @x, @y, @width, @height, @sprite-image, @sprite-grid );
+        top: @nudge-top;
+        left: @nudge-left;
+    }
+}
+
+.prepend-sprite-icon(@x, @y, @width, @height, @nudge-left:0, @nudge-top:0, @pad:10px, @sprite-image:@sprite-image, @sprite-grid:@sprite-grid) when not (@using-modernizr) {
+    position: relative;
+    padding-left: @width + @pad;
+    &:before {
+        ._generated-sprite-icon( @x, @y, @width, @height, @sprite-image, @sprite-grid );
+        top: @nudge-top;
+        left: @nudge-left;
+    }
+}
+
+.append-sprite-icon(@x, @y, @width, @height, @nudge-right:0, @nudge-top:0, @pad:10px, @sprite-image:@sprite-image, @sprite-grid:@sprite-grid) when (@using-modernizr) {
+    .generatedcontent & {
+        padding-right: @width + @pad;
+        position: relative;
+    }
+    .generatedcontent &:after {
+        ._generated-sprite-icon( @x, @y, @width, @height, @sprite-image, @sprite-grid );
+        top: @nudge-top;
+        right: @nudge-right;
+    }
+}
+
+.append-sprite-icon(@x, @y, @width, @height, @nudge-right:0, @nudge-top:0, @pad:10px, @sprite-image:@sprite-image, @sprite-grid:@sprite-grid) when not (@using-modernizr) {
+    position: relative;
+    padding-right: @width + @pad;
+    &:after {
+        ._generated-sprite-icon( @x, @y, @width, @height, @sprite-image, @sprite-grid );
+        top: @nudge-top;
+        right: @nudge-right;
+    }
+}
+
+.prepend-sprite-icon-pos(@x, @y, @nudge-left:0, @nudge-top:0, @sprite-grid:@sprite-grid) when (@using-modernizr) {
+    .generatedcontent &:before {
+        .sprite-pos(@x, @y, @sprite-grid);
+        .nudge-l(@nudge-left);
+        .nudge-t(@nudge-top);
+    }
+}
+
+.prepend-sprite-icon-pos(@x, @y, @nudge-left:0, @nudge-top:0, @sprite-grid:@sprite-grid) when not (@using-modernizr) {
+    &:before {
+        .sprite-pos(@x, @y, @sprite-grid);
+        .nudge-l(@nudge-left);
+        .nudge-t(@nudge-top);
+    }
+}
+
+.append-sprite-icon-pos(@x, @y, @nudge-right:0, @nudge-top:0, @sprite-grid:@sprite-grid) when (@using-modernizr) {
+    .generatedcontent &:after {
+        .sprite-pos(@x, @y, @sprite-grid);
+        .nudge-r(@nudge-right);
+        .nudge-t(@nudge-top);
+    }
+}
+
+.append-sprite-icon-pos(@x, @y, @nudge-right:0, @nudge-top:0, @sprite-grid:@sprite-grid) when not (@using-modernizr) {
+    &:after {
+        .sprite-pos(@x, @y, @sprite-grid);
+        .nudge-r(@nudge-right);
+        .nudge-t(@nudge-top);
+    }
+}
+
+// ---- Partials -----------------------
+
+.prepend-icon-setup(@width:0, @height:0, @nudge-left:0, @nudge-top:0, @pad:10px) when (@using-modernizr) {
+    .generatedcontent & {
+        position: relative;
+        ._pad-left(@width, @pad);
+    }
+    .generatedcontent &:before {
+        position: absolute;
+        display: block;
+        content: ' ';
+        top: 0;
+        left: 0;
+        ._size(@width, @height);
+    }
+}
+
+.prepend-icon-setup(@width:0, @height:0, @nudge-left:0, @nudge-top:0, @pad:10px) when not (@using-modernizr) {
+    position: relative;
+    ._pad-left(@width, @pad);
+    &:before {
+        position: absolute;
+        display: block;
+        content: ' ';
+        top: 0;
+        left: 0;
+        ._size(@width, @height);
+    }
+}
+
+.append-icon-setup(@width:0, @height:0, @nudge-left:0, @nudge-top:0, @pad:10px) when (@using-modernizr) {
+    .generatedcontent & {
+        position: relative;
+        ._pad-right(@width, @pad);
+    }
+    .generatedcontent &:after {
+        position: absolute;
+        display: block;
+        content: ' ';
+        top: 0;
+        right: 0;
+        ._size(@width, @height);
+    }
+}
+
+.append-icon-setup(@width:0, @height:0, @nudge-left:0, @nudge-top:0, @pad:10px) when not (@using-modernizr) {
+    position: relative;
+    ._pad-right(@width, @pad);
+    &:after {
+        position: absolute;
+        display: block;
+        content: ' ';
+        top: 0;
+        right: 0;
+        ._size(@width, @height);
+    }
+}
+
+.prepend-icon-image(@icon-image, @width:0, @height:0, @nudge-left:0, @nudge-top:0, @pad:10px) when (@using-modernizr) {
+    ._gc-pad-left(@width, @pad);
+    .generatedcontent &:before {
+        background: url(@icon-image) no-repeat 0 0;
+        ._size(@width, @height);
+        .nudge-l(@nudge-left);
+        .nudge-t(@nudge-top);
+    }
+}
+
+.prepend-icon-image(@icon-image, @width:0, @height:0, @nudge-left:0, @nudge-top:0, @pad:10px) when not (@using-modernizr) {
+    ._pad-left(@width, @pad);
+    &:before {
+        background: url(@icon-image) no-repeat 0 0;
+        ._size(@width, @height);
+        .nudge-l(@nudge-left);
+        .nudge-t(@nudge-top);
+    }
+}
+
+.append-icon-image(@icon-image, @width:0, @height:0, @nudge-right:0, @nudge-top:0, @pad:10px) when (@using-modernizr) {
+    ._gc-pad-right(@width, @pad);
+    .generatedcontent &:after {
+        background: url(@icon-image) no-repeat 0 0;
+        ._size(@width, @height);
+        .nudge-r(@nudge-right);
+        .nudge-t(@nudge-top);
+    }
+}
+
+.append-icon-image(@icon-image, @width:0, @height:0, @nudge-right:0, @nudge-top:0, @pad:10px) when not (@using-modernizr) {
+    ._pad-right(@width, @pad);
+    &:after {
+        background: url(@icon-image) no-repeat 0 0;
+        ._size(@width, @height);
+        .nudge-r(@nudge-right);
+        .nudge-t(@nudge-top);
+    }
+}
+
+// ---- internal use mixins -----------------------
+
+._generated-icon(@width, @height, @icon-image) {
+    position: absolute;
+    display: block;
+    content: ' ';
+    background: url(@icon-image) no-repeat 0 0;
+    .size(@width, @height);
+}
+
+._generated-sprite-icon(@x, @y, @width, @height, @sprite-image:@sprite-image, @sprite-grid:@sprite-grid) {
+    position: absolute;
+    display: block;
+    content: ' ';
+    .sprite-sized(@x, @y, @width, @height, @sprite-image, @sprite-grid);
+}
+
+._pad-left(@width, @pad) when (@width = 0) {
+}
+
+._pad-left(@width, @pad) when not (@width = 0) {
+    padding-left: @width + @pad;
+}
+
+._pad-right(@width, @pad) when (@width = 0) {
+}
+
+._pad-right(@width, @pad) when not (@width = 0) {
+    padding-right: @width + @pad;
+}
+
+._gc-pad-left(@width, @pad) when (@width = 0) {
+}
+
+._gc-pad-right(@width, @pad) when (@width = 0) {
+}
+
+._gc-pad-left(@width, @pad) when not (@width = 0) and (@using-modernizr) {
+    .generatedcontent & {
+        ._pad-left(@width, @pad);
+    }
+}
+
+._gc-pad-left(@width, @pad) when not (@width = 0) and not (@using-modernizr) {
+    ._pad-left(@width, @pad);
+}
+
+._gc-pad-right(@width, @pad) when not (@width = 0) {
+    .generatedcontent & {
+        ._pad-right(@width, @pad);
+    }
+}
+
+._gc-pad-right(@width, @pad) when not (@width = 0) and not (@using-modernizr) {
+    ._pad-right(@width, @pad);
+}
+
+._size(@width, @height) when (@width = 0) and (@height = 0) {
+}
+
+._size(@width, @height) when (@width = 0) and not (@height = 0) {
+    height: @height;
+}
+
+._size(@width, @height) when not (@width = 0) and (@height = 0) {
+    width: @width;
+}
+
+._size(@width, @height) when not (@width = 0) and not (@height = 0) {
+    width: @width;
+    height: @height;
+}
+
+
+
diff --git a/app/design/frontend/magento_plushe/less/clearless/resets.less b/app/design/frontend/magento_plushe/less/clearless/resets.less
new file mode 100644
index 0000000000000000000000000000000000000000..d2eb436ac3ded5eb5641b906c629e601928795b3
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/clearless/resets.less
@@ -0,0 +1,307 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+.normalize() {
+
+    /* normalize.css 2012-03-11T12:53 UTC - http://github.com/necolas/normalize.css */
+
+    article,
+    aside,
+    details,
+    figcaption,
+    figure,
+    footer,
+    header,
+    hgroup,
+    nav,
+    section,
+    summary {
+        display: block;
+    }
+    audio,
+    canvas,
+    video {
+        display: inline-block;
+        *display: inline;
+        *zoom: 1;
+    }
+    audio:not([controls]) {
+        display: none;
+        height: 0;
+    }
+    [hidden] {
+        display: none;
+    }
+    html {
+        font-size: 100%;
+        -webkit-text-size-adjust: 100%;
+        -ms-text-size-adjust: 100%;
+    }
+    html,
+    button,
+    input,
+    select,
+    textarea {
+        font-family: sans-serif;
+    }
+    body {
+        margin: 0;
+    }
+    a:focus {
+        outline: thin dotted;
+    }
+    a:hover,
+    a:active {
+        outline: 0;
+    }
+    h1 {
+        font-size: 2em;
+        margin: 0.67em 0;
+    }
+    h2 {
+        font-size: 1.5em;
+        margin: 0.83em 0;
+    }
+    h3 {
+        font-size: 1.17em;
+        margin: 1em 0;
+    }
+    h4 {
+        font-size: 1em;
+        margin: 1.33em 0;
+    }
+    h5 {
+        font-size: 0.83em;
+        margin: 1.67em 0;
+    }
+    h6 {
+        font-size: 0.75em;
+        margin: 2.33em 0;
+    }
+    abbr[title] {
+        border-bottom: 1px dotted;
+    }
+    b,
+    strong {
+        font-weight: bold;
+    }
+    blockquote {
+        margin: 1em 40px;
+    }
+    dfn {
+        font-style: italic;
+    }
+    mark {
+        background: #ff0;
+        color: #000;
+    }
+    p,
+    pre {
+        margin: 1em 0;
+    }
+    pre,
+    code,
+    kbd,
+    samp {
+        font-family: monospace, serif;
+        _font-family: 'courier new', monospace;
+        font-size: 1em;
+    }
+    pre {
+        white-space: pre;
+        white-space: pre-wrap;
+        word-wrap: break-word;
+    }
+    q {
+        quotes: none;
+    }
+    q:before,
+    q:after {
+        content: '';
+        content: none;
+    }
+    small {
+        font-size: 75%;
+    }
+    sub,
+    sup {
+        font-size: 75%;
+        line-height: 0;
+        position: relative;
+        vertical-align: baseline;
+    }
+    sup {
+        top: -0.5em;
+    }
+    sub {
+        bottom: -0.25em;
+    }
+    dl,
+    menu,
+    ol,
+    ul {
+        margin: 1em 0;
+    }
+    dd {
+        margin: 0 0 0 40px;
+    }
+    menu,
+    ol,
+    ul {
+        padding: 0 0 0 40px;
+    }
+    nav ul,
+    nav ol {
+        list-style: none;
+        list-style-image: none;
+    }
+    img {
+        border: 0;
+        -ms-interpolation-mode: bicubic;
+    }
+    svg:not(:root) {
+        overflow: hidden;
+    }
+    figure {
+        margin: 0;
+    }
+    form {
+        margin: 0;
+    }
+    fieldset {
+        border: 1px solid #c0c0c0;
+        margin: 0 2px;
+        padding: 0.35em 0.625em 0.75em;
+    }
+    legend {
+        border: 0;
+        padding: 0;
+        white-space: normal;
+        *margin-left: -7px;
+    }
+    button,
+    input,
+    select,
+    textarea {
+        font-size: 100%;
+        margin: 0;
+        vertical-align: baseline;
+        *vertical-align: middle;
+    }
+    button,
+    input {
+        line-height: normal;
+    }
+    button,
+    input[type="button"],
+    input[type="reset"],
+    input[type="submit"] {
+        cursor: pointer;
+        -webkit-appearance: button;
+        *overflow: visible;
+    }
+    button[disabled],
+    input[disabled] {
+        cursor: default;
+    }
+    input[type="checkbox"],
+    input[type="radio"] {
+        box-sizing: border-box;
+        padding: 0;
+        *height: 13px;
+        *width: 13px;
+    }
+    input[type="search"] {
+        -webkit-appearance: textfield;
+        -moz-box-sizing: content-box;
+        -webkit-box-sizing: content-box;
+        box-sizing: content-box;
+    }
+    input[type="search"]::-webkit-search-decoration,
+    input[type="search"]::-webkit-search-cancel-button {
+        -webkit-appearance: none;
+    }
+    button::-moz-focus-inner,
+    input::-moz-focus-inner {
+        border: 0;
+        padding: 0;
+    }
+    textarea {
+        overflow: auto;
+        vertical-align: top;
+    }
+    table {
+        border-collapse: collapse;
+        border-spacing: 0;
+    }
+}
+
+.reset() {
+
+    /* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 */
+
+    html, body, div, span, applet, object, iframe,
+    h1, h2, h3, h4, h5, h6, p, blockquote, pre,
+    a, abbr, acronym, address, big, cite, code,
+    del, dfn, em, img, ins, kbd, q, s, samp,
+    small, strike, strong, sub, sup, tt, var,
+    b, u, i, center,
+    dl, dt, dd, ol, ul, li,
+    fieldset, form, label, legend,
+    table, caption, tbody, tfoot, thead, tr, th, td,
+    article, aside, canvas, details, embed,
+    figure, figcaption, footer, header, hgroup,
+    menu, nav, output, ruby, section, summary,
+    time, mark, audio, video {
+        margin: 0;
+        padding: 0;
+        border: 0;
+        font-size: 100%;
+        font: inherit;
+        vertical-align: baseline;
+    }
+    article, aside, details, figcaption, figure,
+    footer, header, hgroup, menu, nav, section {
+        display: block;
+    }
+    body {
+        line-height: 1;
+    }
+    ol, ul {
+        list-style: none;
+    }
+    blockquote, q {
+        quotes: none;
+    }
+    blockquote:before, blockquote:after,
+    q:before, q:after {
+        content: '';
+        content: none;
+    }
+    table {
+        border-collapse: collapse;
+        border-spacing: 0;
+    }
+
+}
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/less/clearless/settings.less b/app/design/frontend/magento_plushe/less/clearless/settings.less
new file mode 100644
index 0000000000000000000000000000000000000000..5be0f95544f4b1e508fd157bc74741fdee7cd039
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/clearless/settings.less
@@ -0,0 +1,50 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+// ==============================================
+// ClearLess default settings
+// ----------------------------------------------
+// Override on a per-project basis as required. 
+// ==============================================
+
+// General --------------------------------
+
+@using-ieclasses: true; // whether or not the markup has html5-boilerplate style IE classes in it or not
+@using-modernizr: false; // whether or not modernizer feature-detection classes are being used
+@disable-filters: true; // whether or not to disable MS-specific 'filter' properties (can make IE slow!)
+
+// Typography --------------------------------
+
+@base-font-size: 16; // base pixel font size. Used as a default for px -> (r)em conversions
+
+// Sprites --------------------------------
+
+@sprite-image: '/example.png';
+@sprite-grid: 50px;
+
+// Grid --------------------------------
+
+@total-columns: 12;
+@column-width: 60px;
+@gutter-width: 20px;
diff --git a/app/design/frontend/magento_plushe/less/clearless/sprites.less b/app/design/frontend/magento_plushe/less/clearless/sprites.less
new file mode 100644
index 0000000000000000000000000000000000000000..d797e9e063dadc65065dbdf1348445794cbb6f5d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/clearless/sprites.less
@@ -0,0 +1,75 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+// ==============================================
+// Sprite helpers
+// ==============================================
+
+.sprite(@x, @y, @sprite-image:@sprite-image, @sprite-grid:@sprite-grid) {
+    .sprite-image(@sprite-image);
+    .sprite-pos(@x, @y, @sprite-grid);
+}
+
+.sprite-sized(@x, @y, @size, @sprite-image:@sprite-image, @sprite-grid:@sprite-grid) when not (isnumber(@sprite-image)) {
+    .sprite(@x, @y, @sprite-image, @sprite-grid);
+    .size(@size);
+}
+
+.sprite-sized(@x, @y, @width, @height, @sprite-image:@sprite-image, @sprite-grid:@sprite-grid) when (isnumber(@height)) {
+    .sprite(@x, @y, @sprite-image, @sprite-grid);
+    .size(@width,@height);
+}
+
+.sprite-ir(@x, @y, @size, @sprite-image:@sprite-image, @sprite-grid:@sprite-grid) when not (isnumber(@sprite-image)) {
+    .ir();
+    .sprite(@x, @y, @sprite-image, @sprite-grid);
+    .size(@size);
+}
+
+.sprite-ir(@x, @y, @width, @height, @sprite-image:@sprite-image, @sprite-grid:@sprite-grid) when (isnumber(@height)) {
+    .ir();
+    .sprite(@x, @y, @sprite-image, @sprite-grid);
+    .size(@width,@height);
+}
+
+.sprite-image(@sprite-image:@sprite-image) {
+    background-image: url(@sprite-image);
+    background-repeat: no-repeat;
+}
+
+.sprite-pos(@x, @y, @sprite-grid:@sprite-grid) {
+    background-position: -(@x*@sprite-grid*1px)  -(@y*@sprite-grid*1px);
+}
+
+.sprite-pos-sized(@x, @y, @size, @sprite-grid:@sprite-grid) when not (isnumber(@sprite-image)) {
+    .sprite-pos(@x, @y, @sprite-grid);
+    .size(@size);
+}
+
+.sprite-pos-sized(@x, @y, @width, @height, @sprite-grid:@sprite-grid) when (isnumber(@height)) {
+    .sprite-pos(@x, @y, @sprite-grid);
+    .size(@width,@height);
+}
+
+
diff --git a/app/design/frontend/magento_plushe/less/clearless/typography.less b/app/design/frontend/magento_plushe/less/clearless/typography.less
new file mode 100644
index 0000000000000000000000000000000000000000..4476de5db90cabc6498cddb2df7af2a651ae07cc
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/clearless/typography.less
@@ -0,0 +1,66 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+// ==============================================
+// Typography related mixins
+// ==============================================
+
+.font-size-rems(@px-size) {
+    @rem-size: @px-size / @base-font-size;
+    font-size: ~"@{px-size}px";
+    font-size: ~"@{rem-size}rem";
+}
+
+.font-size-ems(@target-px-size, @context-px-size:@base-font-size) {
+    font-size: (@target-px-size / @context-px-size) * 1em;
+}
+
+.font-face( @family-name, @font-path, @font-weight:normal, @font-style:normal, @include-svg:false ) when not (@include-svg) {
+    @font-face {
+        font-family: @family-name;
+        src: url('@{font-path}.eot');
+        src: url('@{font-path}.eot?#iefix') format('embedded-opentype'), url('@{font-path}.woff') format('woff'), url('@{font-path}.ttf') format('truetype');
+        font-weight: @font-weight;
+        font-style: @font-style;
+    }
+}
+
+.font-face( @family-name, @font-path, @font-weight:normal, @font-style:normal, @include-svg:false ) when (@include-svg) {
+    @font-face {
+        font-family: @family-name;
+        src: url('@{font-path}.eot');
+        src: url('@{font-path}.eot?#iefix') format('embedded-opentype'), url('@{font-path}.woff') format('woff'), url('@{font-path}.ttf') format('truetype'), url('@{font-path}.svg#@{family-name}') format('svg');
+        font-weight: @font-weight;
+        font-style: @font-style;
+    }
+}
+
+.wrap-words() {
+    -ms-word-break: break-all;
+    word-break: break-all;
+    word-break: break-word;
+    -webkit-hyphens: auto;
+    -moz-hyphens: auto;
+    hyphens: auto;
+}
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/less/lib/buttons.less b/app/design/frontend/magento_plushe/less/lib/buttons.less
new file mode 100644
index 0000000000000000000000000000000000000000..0a89351dd3e437d9f314d8112fb4cb267b65a5bf
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/lib/buttons.less
@@ -0,0 +1,136 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+
+//  # Primary buttons
+//
+//  Buttons that performs primary action ([read design and usability article](http://linktousabilityarticle.com/))
+//
+//  ```html
+//  <p>Some text here</p>
+//  <button class="action myPrimary" type="button"><span>Primary action</span></button>
+//  <button class="action myPrimary :hover" type="button"><span>Primary hover</span></button>
+//  <button class="action myPrimary :active" type="button"><span>Primary active</span></button>
+//  ```
+//
+
+.action.myPrimary {
+    &:extend(.primary.action all);
+}
+
+.primary.action {
+    &:extend(.button.action all);
+    background-color: @primaryActionBg;
+    color: @primaryActionColor;
+    &:focus,
+    &:active,
+    &:hover {
+        background-color: @primaryActionBgH;
+    }
+}
+
+//  # Secondary buttons
+//
+//  Buttons that performs secondary action ([read design and usability article](http://linktousabilityarticle.com/))
+//
+//  ```html
+//  <button class="action mySecondary" type="button"><span>Secondary action</span></button>
+//  <button class="action mySecondary :hover" type="button"><span>Secondary hover</span></button>
+//  <button class="action mySecondary :active" type="button"><span>Secondary active</span></button>
+//  ```
+//
+
+.action.mySecondary {
+    &:extend(.secondary.action all);
+}
+
+.secondary.action {
+    &:extend(.button.action all);
+    background-color: @secondaryActionBg;
+    color: @secondaryActionColor;
+    &:focus,
+    &:active,
+    &:hover {
+        background-color: @secondaryActionBgH;
+    }
+}
+
+//  # Buttons displayed as links
+//  Buttons that are displayed as links
+//
+//  ```html
+//  <button class="action myLink" type="button"><span>Button as a link</span></button>
+//  <button class="action myLink :hover" type="button"><span>Button as a link hover</span></button>
+//  <button class="action myLink :active" type="button"><span>Button as a link active</span></button>
+//  ```
+//
+
+.action.myLink {
+    &:extend(.button.link all);
+}
+
+.button.link {
+    background: none;
+    border: 0;
+    display: inline;
+    color: @link;
+    margin: 0;
+    padding: 0;
+    text-decoration: underline;
+    &:focus,
+    &:active,
+    &:hover {
+        color: @linkHover;
+        text-decoration: none;
+    }
+}
+
+// # Initial styling for button
+
+.button.action {
+    border: none;
+    border-radius: 0;
+    font: @actionFont;
+    text-transform: uppercase;
+    margin: 0;
+    padding: 9px 11px 9px;
+    box-shadow: none;
+    text-shadow: none;
+    outline: none;
+    text-decoration: none;
+}
+
+// Buttons Initial Variables
+
+//@primaryActionBg:;
+//@primaryActionBgH:;
+//@primaryActionColor:;
+//@secondaryActionBg:;
+//@secondaryActionBgH:;
+//@secondaryActionColor:;
+//@actionFont:;
+
+.action + .action {
+    margin-left: 5px;
+}
diff --git a/app/design/frontend/magento_plushe/less/lib/forms.less b/app/design/frontend/magento_plushe/less/lib/forms.less
new file mode 100644
index 0000000000000000000000000000000000000000..e31ebb390cc622a821ab7dce49f3b463341e2c8d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/lib/forms.less
@@ -0,0 +1,919 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+
+//  #Forms mixins
+//
+//  Mixins for all form elements
+
+.controlStyling() {
+    .box-sizing();
+    background: @fieldBg;
+    border: 1px solid @primary3;
+    border-radius: 3px;
+    font: @baseFontWeight @baseFontSize @baseFont;
+    /* Prevent background color leak outs */
+    background-clip: padding-box;
+    outline: none;
+    &:focus {
+        border-color: @primary4;
+    }
+    .control & {
+        width: 100%;
+    }
+    &:disabled {
+        opacity: 0.5;
+    }
+}
+
+.inputText() {
+    .controlStyling();
+    height: 32px;
+    line-height: 1;
+    padding: 0 10px;
+    &::-webkit-input-placeholder {
+        line-height: 1.333;
+    }
+    &:-ms-input-placeholder {
+        line-height: 1.333;
+    }
+    .eq-ie8 & {
+        padding-top: 8px;
+    }
+}
+
+.formFieldset() {
+    border: 0;
+    margin: 30px 10px 30px 30px;
+    padding: 0;
+    letter-spacing: -0.31em;
+    word-spacing: -0.43em;
+    > * {
+        letter-spacing: normal;
+        word-spacing: normal;
+    }
+    > .legend {
+        float: left;
+        font: @baseFontWeight @legendFontSize/1.2 @baseFont;
+        margin: -30px 30px 50px -30px;
+        width: 100%;
+        & + br {
+            display: block;
+            .clearfix();
+        }
+    }
+}
+
+.formField() {
+    .box-sizing();
+    margin: 0 0 20px;
+    > .label {
+        display: block;
+        padding-bottom: 5px;
+    }
+    .nested .field {
+        margin: 5px 0;
+    }
+    &.choice {
+        > .control {
+            width: auto;
+        }
+        > .label {
+            display: inline;
+        }
+        > input {
+            vertical-align: top;
+            margin-top: 2px;
+            margin-right: 5px;
+        }
+    }
+    &.required > .label > span:first-child:after {
+        content: '*';
+        color: @requiredField;
+    }
+    .addon {
+        display: table;
+        padding: 0;
+        width: 100%;
+        textarea,
+        select,
+        input {
+            box-shadow: none;
+            display: table-cell;
+            margin: 0;
+            width: 100%;
+        }
+        .addbefore,
+        .addafter {
+            height: 0;
+            white-space: nowrap;
+            display: inline-block;
+            display: table-cell;
+            vertical-align: middle;
+            width: 1px;
+            .inputText();
+        }
+    }
+    .note {
+        font-size: @baseFontSizeMiddle;
+        margin-top: 3px;
+        padding-left: 15px;
+        &:before {
+            border-bottom: 5px solid @baseColor;
+            border-left: 5px solid transparent;
+            border-right: 5px solid transparent;
+            content: '';
+            display: inline-block;
+            font-size: 0;
+            line-height: 0;
+            margin: 4px 0 0 -14px;
+            position: absolute;
+            vertical-align: top;
+            width: 0;
+        }
+    }
+}
+
+.formCols(@fieldWidth : 50%) {
+    .field {
+        display: inline-block;
+        padding-right: 20px;
+        vertical-align: top;
+        width: @fieldWidth;
+    }
+    .nested .field {
+        width: 100%;
+    }
+    .actions {
+        margin-right: 30px;
+    }
+}
+
+.hasRequired {
+    &:after {
+        content: attr(data-hasrequired);
+        display: block;
+        font-size: @baseFontSize;
+        margin: 10px 0 0;
+        color: @requiredField;
+        letter-spacing: normal;
+        word-spacing: normal;
+    }
+}
+
+.load.indicator {
+    display: inline-block;
+    margin: 20px auto;
+    padding: 8px;
+    vertical-align: middle;
+    span {
+        display: block;
+        line-height: 16px;
+        &:before {
+            content: '';
+            margin-right: 5px;
+            display: inline-block;
+            width: 16px;
+            height: 16px;
+            background: url("@{baseDir}/images/loader.gif") no-repeat 0 0;
+            background-color: @secondary1;
+            vertical-align: top;
+        }
+    }
+}
+
+// #Forms
+//
+//  ```html
+//    <form class="form">
+//        <fieldset class="fieldset">
+//            <legend class="legend"><span>Legend</span></legend>
+//            <br>
+//            <div class="field text">
+//                <label for="text" class="label"><span>Text field</span></label>
+//                <div class="control">
+//                    <input type="text" class="input-text" value="" name="text">
+//                </div>
+//            </div>
+//
+//            <div class="field search">
+//                <label for="search" class="label"><span>Search field</span></label>
+//                <div class="control">
+//                    <input type="search" class="input-text" value="" name="search">
+//                </div>
+//            </div>
+//
+//            <div class="field tel">
+//                <label for="tel" class="label"><span>Tel field</span></label>
+//                <div class="control">
+//                    <input type="tel" class="input-text" value="" name="tel">
+//                </div>
+//            </div>
+//
+//            <div class="field url">
+//                <label for="url" class="label"><span>Url field</span></label>
+//                <div class="control">
+//                    <input type="url" class="input-text" value="" name="url">
+//                </div>
+//            </div>
+//
+//            <div class="field email">
+//                <label for="email" class="label"><span>Email field</span></label>
+//                <div class="control">
+//                    <input type="email" class="input-text" value="" name="email">
+//                </div>
+//            </div>
+//
+//            <div class="field datetime">
+//                <label for="datetime" class="label"><span>Datetime field</span></label>
+//                <div class="control">
+//                    <input type="datetime" class="input-text" value="" name="datetime">
+//                </div>
+//            </div>
+//
+//            <div class="field password">
+//                <label for="password" class="label"><span>Password field</span></label>
+//                <div class="control">
+//                    <input type="password" class="input-text" value="" name="password">
+//                </div>
+//            </div>
+//
+//            <div class="field text2">
+//                <label for="name" class="label"><span>Text field with additional field</span></label>
+//                <div class="control">
+//                    <input type="text" class="input-text" value="" name="text2">
+//                </div>
+//                <div class="nested">
+//                    <div class="field additional">
+//                        <div class="control">
+//                            <input type="text" class="input-text" value="" name="text2_1" >
+//                        </div>
+//                    </div>
+//                </div>
+//            </div>
+//
+//            <div class="field text2">
+//                <label for="name" class="label"><span>Text field with note</span></label>
+//                <div class="control">
+//                    <input type="text" class="input-text" value="" name="text2">
+//                    <div class="note">This is a note to a text field</div>
+//                </div>
+//            </div>
+//
+//            <div class="field range">
+//                <label for="range" class="label"><span>Range field with an addon after input</span></label>
+//                <div class="control">
+//                    <div class="range price fields group group-2">
+//                        <div class="field no-label">
+//                            <div class="control">
+//                                <input type="text" class="input-text" value="" name="range[from]">
+//                            </div>
+//                        </div>
+//                        <div class="field with-addon no-label">
+//                            <div class="control">
+//                                <div class="addon">
+//                                    <input type="text" class="input-text" value="" name="range[to]">
+//                                    <label for="price_to" class="addafter">USD</label>
+//                                </div>
+//                            </div>
+//                        </div>
+//                    </div>
+//                </div>
+//            </div>
+//
+//            <div class="field date">
+//                <label for="date" class="label"><span>Date range field with calendar</span></label>
+//                <div class="control">
+//                    <div class="dates fields">
+//                        <div class="field date no-label">
+//                            <div class="control">
+//                                <input type="text" class="input-text" value="" name="date[from]" id="date_from">
+//                            </div>
+//                        </div>
+//                        <div class="field date no-label">
+//                            <div class="control">
+//                                <input type="text" class="input-text" value="" name="date[to]" id="date_to">
+//                            </div>
+//                        </div>
+//                    </div>
+//                </div>
+//            </div>
+//
+//            <div class="field file">
+//                <label for="file" class="label"><span>File field</span></label>
+//                <div class="control">
+//                    <input type="file" class="input-text" value="" name="file">
+//                </div>
+//            </div>
+//
+//            <div class="field choice">
+//                <input type="radio" class="radio" checked="" value="1" name="inputRadio">
+//                <label for="inputRadio" class="label"><span>Radiobutton choice</span></label>
+//            </div>
+//
+//            <div class="field choice">
+//                <input type="checkbox" class="checkbox" value="1" name="inputCheckbox">
+//                <label for="inputCheckbox" class="label"><span>Checkbox choice</span></label>
+//            </div>
+//
+//            <div class="field region">
+//                <label for="select" class="label"><span>Select</span></label>
+//                <div class="control">
+//                    <select name="select">
+//                        <option value="">Please select</option>
+//                        <option value="5">5</option>
+//                        <option value="10">10</option>
+//                        <option value="15">15</option>
+//                        <option value="20">20</option>
+//                    </select>
+//                </div>
+//            </div>
+//
+//            <div class="field multiselect">
+//                <label for="select" class="label"><span>Multiple select</span></label>
+//                <div class="control">
+//                    <select name="select" class="multiple" multiple="multiple">
+//                        <option value="Option 1">Option 1</option>
+//                        <option value="Option 2">Option 2</option>
+//                        <option value="Option 3">Option 3</option>
+//                        <option value="Option 4">Option 4</option>
+//                        <option value="Option 5">Option 5</option>
+//                        <option value="Option 6">Option 6</option>
+//                        <option value="Option 7">Option 7</option>
+//                    </select>
+//                </div>
+//            </div>
+//
+//            <div class="field textarea">
+//                <label for="textarea" class="label"><span>Textarea</span></label>
+//                <div class="control">
+//                    <textarea rows="3" cols="5" class="input-text" name="textarea"></textarea>
+//                </div>
+//            </div>
+//        </fieldset>
+//
+//        <div class="actions">
+//            <input type="submit" class="action submit" value="Input type='Submit'" name="action_submit">
+//            <input type="button" class="action button" value="Input type='button'" name="action_button">
+//            <input type="reset" class="action reset" value="Input type='reset'" name="action_reset">
+//        </div>
+//        <span class="please-wait load indicator" id="billing-please-wait">
+//            <span>Loading indicator...</span>
+//        </span>
+//    </form>
+//  ```
+//
+
+.form {
+    .actions {
+        margin-right: 10px;
+        text-align: right;
+    }
+}
+
+.fieldset {
+    .formFieldset();
+    > .field {
+        .formField();
+    }
+    .fields.range {
+        .field {
+            display: inline-block;
+            letter-spacing: normal;
+            margin: 0;
+            vertical-align: top;
+            word-spacing: normal;
+            &:first-child {
+                .control {
+                    .box-sizing();
+                    padding-right: 30px;
+                    &:after {
+                        content: '\2014';
+                        display: inline-block;
+                        margin-right: -30px;
+                        text-align: center;
+                        width: 29px;
+                    }
+                }
+                input {
+                    width: 98%;
+                }
+            }
+        }
+    }
+    .fields.dates {
+        .field {
+            display: inline-block;
+            letter-spacing: normal;
+            margin: 0 25px 0 0;
+            padding: 0 34px 0 0;
+            position: relative;
+            vertical-align: top;
+            &:first-child {
+                margin: 0 30px 0 0;
+                .control {
+                    .box-sizing();
+                    &:after {
+                        content: '\2014';
+                        display: inline-block;
+                        position: absolute;
+                        right: -39px;
+                        top: 7px;
+                        width: 29px;
+                    }
+                }
+            }
+            .ui-datepicker-trigger {
+                text-decoration: none;
+                position: absolute;
+                right: 0;
+                top: 9px;
+                &:extend(.button.link all);
+            }
+        }
+    }
+}
+
+input[type="text"],
+input[type="search"],
+input[type="tel"],
+input[type="url"],
+input[type="email"],
+input[type="datetime"],
+input[type="password"] {
+    .inputText();
+}
+
+input[type="submit"],
+input[type="button"] {
+    &:extend(.primary.action all);
+}
+
+input[type="reset"] {
+    &:extend(.secondary.action all);
+}
+
+select {
+    .controlStyling();
+    padding: 5px 10px 4px;
+    &.multiselect {
+        height: auto;
+    }
+}
+
+textarea {
+    .controlStyling();
+    height: auto;
+    line-height: 1.2;
+    min-height: 4.8em;
+    padding: 10px;
+    resize: vertical;
+}
+
+//  #Form validation
+//  Required field marked with '*' symbol
+//
+//  Validation passed hilighting
+//
+//  Validation error hilight and validation error message
+//
+//  '* Required fields' text
+//
+//  ```html
+//    <form class="form validation" data-hasrequired="* Required Fields">
+//        <fieldset class="fieldset">
+//            <div class="field text2 required">
+//                <label for="text2" class="label"><span>Required text field</span></label>
+//                <div class="control">
+//                    <input type="text" class="input-text" value="" name="text2">
+//                </div>
+//            </div>
+//
+//            <div class="field text3 required">
+//                <label for="text3" class="label"><span>Required text field, validation is passed</span></label>
+//                <div class="control valid">
+//                    <input type="text" class="input-text valid" value="" name="text3">
+//                </div>
+//            </div>
+//
+//            <div class="field text4 required">
+//                <label for="text4" class="label"><span>Required text field, validation is not passed</span></label>
+//                <div class="control mage-error">
+//                    <input type="text" class="input-text mage-error" value="" name="text4">
+//                    <div for="name" generated="true" class="mage-error">This is a required field.</div>
+//                </div>
+//            </div>
+//        </fieldset>
+//    </form>
+//  ```
+//
+
+.fieldset {
+    // Validation passed
+    textarea.valid,
+    select.valid,
+    input[type="text"].valid,
+    input[type="search"].valid,
+    input[type="tel"].valid,
+    input[type="url"].valid,
+    input[type="email"].valid,
+    input[type="datetime"].valid,
+    input[type="password"].valid {
+        border-color: @validHilight !important;
+    }
+    // Validation error
+    textarea.mage-error,
+    select.mage-error,
+    input[type="text"].mage-error,
+    input[type="search"].mage-error,
+    input[type="tel"].mage-error,
+    input[type="url"].mage-error,
+    input[type="email"].mage-error,
+    input[type="datetime"].mage-error,
+    input[type="password"].mage-error {
+        border-color: @nonValidHilight !important;
+    }
+    div.mage-error[generated] {
+        color: @nonValidHilight !important;
+        font-size: @baseFontSizeMiddle;
+        padding-top: 4px;
+    }
+}
+
+.form.validation {
+    .fieldset {
+        margin: 20px 0;
+    }
+    &:extend(.hasRequired all);
+}
+
+// #Form fields arranged to columns
+//
+//  ```html
+//    <form class="form settings">
+//        <fieldset class="fieldset">
+//            <legend class="legend"><span>Some Settings</span></legend>
+//            <br>
+//
+//            <div class="field text1">
+//                <label for="text1" class="label"><span>Text field 1</span></label>
+//                <div class="control">
+//                    <input type="text" class="input-text" value="" name="text1">
+//                </div>
+//            </div>
+//
+//            <div class="field text2">
+//                <label for="text2" class="label"><span>Text field 2</span></label>
+//                <div class="control">
+//                    <input type="text" class="input-text" value="" name="text2">
+//                </div>
+//            </div>
+//
+//            <div class="field text3">
+//                <label for="text3" class="label"><span>Text field 3</span></label>
+//                <div class="control">
+//                    <input type="text" class="input-text" value="" name="text3">
+//                </div>
+//            </div>
+//
+//            <div class="field text4">
+//                <label for="text4" class="label"><span>Text field 4</span></label>
+//                <div class="control">
+//                    <input type="text" class="input-text" value="" name="text4">
+//                </div>
+//            </div>
+//
+//            <div class="field text5">
+//                <label for="text5" class="label"><span>Text field 5</span></label>
+//                <div class="control">
+//                    <input type="text" class="input-text" value="" name="text5">
+//                </div>
+//                <div class="nested">
+//                    <div class="field additional">
+//                        <div class="control">
+//                            <input type="text" class="input-text" value="" name="text5_1">
+//                        </div>
+//                    </div>
+//                </div>
+//            </div>
+//
+//            <div class="field select">
+//                <label for="select" class="label"><span>Select</span></label>
+//                <div class="control">
+//                    <select title="Tax Class" class="multiselect" name="select">
+//                        <option value="">All</option>
+//                        <option value="5">5</option>
+//                        <option value="10">10</option>
+//                        <option value="15">15</option>
+//                    </select>
+//                </div>
+//            </div>
+//
+//            <div class="field textarea">
+//                <label for="textarea" class="label"><span>Textarea</span></label>
+//                <div class="control">
+//                    <textarea rows="3" cols="5" class="input-text" name="textarea"></textarea>
+//                    <div class="note">Please enter your message here</div>
+//                </div>
+//            </div>
+//
+//            <div class="field multiselect">
+//                <label for="multiselect" class="label"><span>Multiple select</span></label>
+//                <div class="control">
+//                    <select multiple="multiple" class="multiselect" name="multiselect">
+//                        <option value="Option 1">Option 1</option>
+//                        <option value="Option 2">Option 2</option>
+//                        <option value="Option 3">Option 3</option>
+//                        <option value="Option 4">Option 4</option>
+//                        <option value="Option 5">Option 5</option>
+//                        <option value="Option 6">Option 6</option>
+//                        <option value="Option 7">Option 7</option>
+//                    </select>
+//                </div>
+//            </div>
+//        </fieldset>
+//        <div class="actions">
+//            <button class="action submit" type="submit"><span>Submit</span></button>
+//        </div>
+//    </form>
+//  ```
+//
+
+.form.settings {
+    .formCols();
+    .action.submit {
+        &:extend(.primary.action all);
+    }
+}
+
+// #Datepicker custom styles
+@datepickerArrows : @secondary1;
+@datepickerArrowsHover : darken(@datepickerArrows, 10%);
+@datepickerTextColor : #000;
+@datepickerBg : #efefef;
+@datepickerBorder : #fff;
+@datepickerShadow : rgba(0, 0, 0, 0.35);
+@datepickerCalendarBg : #fff;
+@datepickerCalendarBorder : #cfcfcf;
+@datepickerCalendarHover : #f9eae7;
+@datepickerCalendarToday : #f3d7d2;
+@datepickerCalendarActive : lighten(@secondary1, 20%);
+@datepickerDisabledBg : #f9f9f9;
+@datepickerDisable : #959595;
+
+.ui-datepicker {
+    background: @datepickerBg;
+    border: 4px solid @datepickerBorder;
+    box-shadow: 5px 5px 10px 0 @datepickerShadow;
+    .box-sizing();
+    display: none;
+    padding: 15px;
+    width: auto;
+    z-index: 999999 !important;
+    .ui-datepicker-header {
+        position: relative;
+        padding: .2em 0;
+    }
+    .ui-datepicker-prev,
+    .ui-datepicker-next {
+        position: absolute;
+        top: 2px;
+        width: 1.8em;
+        height: 1.8em;
+        cursor: pointer;
+        span {
+            border: solid;
+            display: block;
+            font-size: 0;
+            margin-top: -5px;
+            position: absolute;
+            left: 50%;
+            top: 50%;
+            width: 0;
+            height: 0;
+        }
+    }
+    .ui-datepicker-prev {
+        left: 2px;
+        span {
+            margin-left: -8px;
+            border-width: 5px 8px 5px 0;
+            border-color: transparent @datepickerArrows transparent transparent;
+        }
+        &.ui-datepicker-prev-hover span {
+            border-color: transparent @datepickerArrowsHover transparent transparent;
+        }
+    }
+    .ui-datepicker-next {
+        right: 2px;
+        span {
+            margin-left: 0;
+            border-width: 5px 0 5px 8px;
+            border-color: transparent transparent transparent @datepickerArrows;
+        }
+        &.ui-datepicker-next-hover span {
+            border-color: transparent transparent transparent @datepickerArrowsHover;
+        }
+    }
+    .ui-datepicker-title {
+        margin: 0 2.3em;
+        line-height: 1.8em;
+        text-align: center;
+        select {
+            margin: 1px 0;
+            padding: 0;
+        }
+        .ui-datepicker-month,
+        .ui-datepicker-year {
+            width: 47%;
+        }
+        .ui-datepicker-month {
+            margin-right: 6%;
+        }
+        .ui-datepicker-month-year {
+            width: 100%;
+        }
+    }
+    table {
+        width: 100%;
+        font-size: @baseFontSizeMiddle;
+    }
+    th {
+        font-size: @baseFontSizeMiddle;
+    }
+    td {
+        padding: 0;
+    }
+    td span,
+    td a {
+        color: @datepickerTextColor;
+        display: block;
+        line-height: 14px;
+        padding: 4px;
+        text-align: right;
+        text-decoration: none;
+    }
+    .ui-datepicker-buttonpane {
+        overflow: hidden;
+        padding-top: 10px;
+        button {
+            float: right;
+            &.ui-datepicker-current {
+                float: left;
+            }
+        }
+    }
+    .ui-datepicker-calendar {
+        background: @datepickerCalendarBg;
+        border: 1px solid @datepickerCalendarBorder;
+        th {
+            background: @datepickerBg;
+            border: 1px solid @datepickerCalendarBorder;
+            padding: 4px;
+            text-transform: uppercase;
+        }
+        td {
+            border: 1px solid @datepickerCalendarBorder;
+        }
+        td a {
+            padding: 4px;
+            display: block;
+        }
+        td .ui-state-hover:hover {
+            background: @datepickerCalendarHover;
+        }
+        .ui-datepicker-week-col {
+            text-align: center;
+            border: 1px solid @datepickerCalendarBorder;
+        }
+        .ui-datepicker-today {
+            background: @datepickerCalendarToday;
+        }
+        .ui-state-active {
+            background: @datepickerCalendarActive;
+        }
+        .ui-state-disabled {
+            background: @datepickerDisabledBg;
+            span {
+                color: @datepickerDisable;
+            }
+        }
+    }
+}
+
+.ui-datepicker-rtl {
+    direction: rtl;
+    .ui-datepicker-prev {
+        right: 2px;
+        left: auto;
+        &:hover {
+            right: 1px;
+            left: auto;
+        }
+    }
+    .ui-datepicker-next {
+        left: 2px;
+        right: auto;
+        &:hover {
+            left: 1px;
+            right: auto;
+        }
+    }
+    .ui-datepicker-buttonpane {
+        clear: right;
+        button {
+            float: left;
+            &.ui-datepicker-current {
+                float: right;
+            }
+        }
+    }
+    .ui-datepicker-group {
+        float: right;
+    }
+    .ui-datepicker-group-last .ui-datepicker-header {
+        border-right-width: 0;
+        border-left-width: 1px;
+    }
+    .ui-datepicker-group-middle .ui-datepicker-header {
+        border-right-width: 0;
+        border-left-width: 1px;
+    }
+}
+
+.ui-timepicker-div {
+    padding: 10px 0 5px 0;
+    .ui-widget-header {
+        margin-bottom: 8px;
+    }
+    dl {
+        text-align: left;
+        dt {
+            height: 25px;
+            margin-bottom: -22px;
+        }
+        dd {
+            margin: 0 10px 10px 65px;
+        }
+        .ui_tpicker_time_label {
+            margin-bottom: -25px;
+        }
+    }
+    td {
+        font-size: 90%;
+    }
+}
+
+.ui-tpicker-grid-label {
+    background: none;
+    border: none;
+    margin: 0;
+    padding: 0;
+}
+
+.ui-slider {
+    position: relative;
+    text-align: left;
+    .ui-slider-handle {
+        position: absolute;
+        z-index: 2;
+        cursor: default;
+    }
+}
+
+.ui-slider-horizontal {
+    border-radius: 10px;
+    border: none;
+    background: @datepickerBg;
+    height: 10px;
+    .ui-slider-handle {
+        margin-left: -5px;
+        height: 10px;
+        width: 10px;
+        border-radius: 10px;
+        background: @datepickerArrows;
+        display: block;
+        position: absolute;
+    }
+}
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/less/lib/grids.less b/app/design/frontend/magento_plushe/less/lib/grids.less
new file mode 100644
index 0000000000000000000000000000000000000000..1af1730f683e6099e01fc365ee550dc13d2a9b58
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/lib/grids.less
@@ -0,0 +1,384 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+
+//  # 1. Grid using floated columns
+//  Full documentation about grid usage: https://github.com/clearleft/clearless#grids
+//
+//  # 1.1 One column
+//
+//  ```html
+//    <div class="clearlessgrid1 gridwrapper">
+//        <div class="grid-1">column</div>
+//    </div>
+//  ```
+//
+
+.clearlessgrid1 {
+    .column-wrapper();
+    > .grid-1 {
+        .column();
+        .span(12);
+        .end-column();
+    }
+}
+
+//  # 1.2 One main column and one right sidebar
+//
+//  ```html
+//    <div class="clearlessgrid2 gridwrapper">
+//        <div class="main">column</div>
+//        <div class="sidebar">column</div>
+//    </div>
+//  ```
+//
+
+.clearlessgrid2 {
+    .column-wrapper();
+    .main {
+        .column();
+        .span(9);
+    }
+    .sidebar {
+        .column();
+        .span(3);
+        .end-column();
+    }
+}
+
+//  # 1.3 One main column and one left sidebar
+//
+//  ```html
+//    <div class="clearlessgrid3 gridwrapper">
+//        <div class="sidebar">column</div>
+//        <div class="main">column</div>
+//    </div>
+//  ```
+//
+
+.clearlessgrid3 {
+    .column-wrapper();
+    .main {
+        .column();
+        .span(9);
+        .end-column();
+    }
+    .sidebar {
+        .column();
+        .span(3);
+    }
+}
+
+//  # 1.4 One main column and two sidebars
+//
+//  ```html
+//    <div class="clearlessgrid4 gridwrapper">
+//        <div class="sidebar1">column</div>
+//        <div class="main">column</div>
+//        <div class="sidebar2">column</div>
+//    </div>
+//  ```
+//
+
+.clearlessgrid4 {
+    .column-wrapper();
+    .main {
+        .column();
+        .span(6);
+    }
+    .sidebar1,
+    .sidebar2 {
+        .column();
+        .span(3);
+    }
+    .sidebar2 {
+        .end-column();
+    }
+}
+
+//  # 1.5 Four columns
+//
+//  ```html
+//    <div class="clearlessgrid5 gridwrapper">
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//    </div>
+//  ```
+//
+
+.clearlessgrid5 {
+    .column-wrapper();
+    > .grid-1 {
+        .column();
+        .span(3);
+        &:last-child {
+            .end-column();
+        }
+    }
+}
+
+//  # 1.6 Six columns
+//
+//  ```html
+//    <div class="clearlessgrid6 gridwrapper">
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//    </div>
+//  ```
+//
+
+.clearlessgrid6 {
+    .column-wrapper();
+    > .grid-1 {
+        .column();
+        .span(2);
+        &:last-child {
+            .end-column();
+        }
+    }
+}
+
+//  # 1.7 Twelve columns
+//
+//  ```html
+//    <div class="clearlessgrid12 gridwrapper">
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//    </div>
+//    ```
+//
+
+.clearlessgrid12 {
+    .column-wrapper();
+    > .grid-1 {
+        .column();
+        .span(1);
+        &:last-child {
+            .end-column();
+        }
+    }
+}
+
+//  # 2. Grid columns using display: inline-block
+//
+//  # 2.1 One column
+//
+//  ```html
+//    <div class="inlinegrid1 inlinegridwrapper">
+//        <div class="grid-1">column</div>
+//    </div>
+//    ```
+//
+
+.inlinegrid1 {
+    .inline-column-wrapper();
+    > .grid-1 {
+        .inline-column();
+        .span(12);
+        .inline-end-column();
+    }
+}
+
+//  # 2.2 One main column and two right sidebar
+//
+//  ```html
+//    <div class="inlinegrid2 inlinegridwrapper">
+//        <div class="main">column</div>
+//        <div class="sidebar">column</div>
+//    </div>
+//    ```
+//
+
+.inlinegrid2 {
+    .inline-column-wrapper();
+    .main {
+        .inline-column();
+        .span(9);
+    }
+    .sidebar {
+        .inline-column();
+        .span(3);
+        .inline-end-column();
+    }
+}
+
+//  # 2.3 One main column and one left sidebar
+//
+//  ```html
+//    <div class="inlinegrid3 inlinegridwrapper">
+//        <div class="sidebar">column</div>
+//        <div class="main">column</div>
+//    </div>
+//    ```
+//
+
+.inlinegrid3 {
+    .inline-column-wrapper();
+    .main {
+        .inline-column();
+        .span(9);
+        .inline-end-column();
+    }
+    .sidebar {
+        .inline-column();
+        .span(3);
+    }
+}
+
+//  # 2.4 One main column and two sidebars
+//
+//  ```html
+//    <div class="inlinegrid4 inlinegridwrapper">
+//        <div class="sidebar1">column</div>
+//        <div class="main">column</div>
+//        <div class="sidebar2">column</div>
+//    </div>
+//    ```
+//
+
+.inlinegrid4 {
+    .inline-column-wrapper();
+    .main {
+        .inline-column();
+        .span(6);
+    }
+    .sidebar1,
+    .sidebar2 {
+        .inline-column();
+        .span(3);
+    }
+    .sidebar2 {
+        .inline-end-column();
+    }
+}
+
+//  # 2.5 Four columns
+//
+//  ```html
+//    <div class="inlinegrid5 inlinegridwrapper">
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//    </div>
+//    ```
+//
+
+.inlinegrid5 {
+    .inline-column-wrapper();
+    > .grid-1 {
+        .inline-column();
+        .span(3);
+        &:last-child {
+            .inline-end-column();
+        }
+    }
+}
+
+//  # 2.6 Six columns
+//
+//  ```html
+//    <div class="inlinegrid6 inlinegridwrapper">
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//    </div>
+//    ```
+//
+
+.inlinegrid6 {
+    .inline-column-wrapper();
+    > .grid-1 {
+        .inline-column();
+        .span(2);
+        &:last-child {
+            .inline-end-column();
+        }
+    }
+}
+
+//  # 2.7 Twelve columns
+//
+//  ```html
+//    <div class="inlinegrid12 inlinegridwrapper">
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//        <div class="grid-1">column</div>
+//    </div>
+//    ```
+//
+
+.inlinegrid12 {
+    .inline-column-wrapper();
+    > .grid-1 {
+        .inline-column();
+        .span(1);
+        &:last-child {
+            .inline-end-column();
+        }
+    }
+}
+
+//  #Common settings
+
+@total-columns: 12;
+@column-width: 60px;
+@gutter-width: 20px;
+
+.gridwrapper > div,
+.inlinegridwrapper > div {
+    background: #e5e5e5;
+    border: 1px solid #999;
+    padding: 5px 0;
+    text-align: center;
+    .box-sizing();
+}
diff --git a/app/design/frontend/magento_plushe/less/lib/icons.less b/app/design/frontend/magento_plushe/less/lib/icons.less
new file mode 100644
index 0000000000000000000000000000000000000000..6fde98162105c698d3a535be9c451709d1bf5db8
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/lib/icons.less
@@ -0,0 +1,205 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+
+// # Icons
+//  ```
+//  <span class="icon example" data-icon="&#xe006;">@icon-pencil</span>
+//  <span class="icon example" data-icon="&#xe007;">@icon-menu</span>
+//  <span class="icon example" data-icon="&#xe008;">@icon-location</span>
+//  <span class="icon example" data-icon="&#xe00a;">@icon-info</span>
+//  <span class="icon example" data-icon="&#xe00c;">@icon-flag</span>
+//  <span class="icon example" data-icon="&#xe00d;">@icon-expand</span>
+//  <span class="icon example" data-icon="&#xe00e;">@icon-exclamation</span>
+//  <span class="icon example" data-icon="&#xe010;">@icon-dropdown</span>
+//  <span class="icon example" data-icon="&#xe011;">@icon-collapse</span>
+//  <span class="icon example" data-icon="&#xe012;">@icon-close-thick</span>
+//  <span class="icon example" data-icon="&#xe013;">@icon-checkmark</span>
+//  <span class="icon example" data-icon="&#xe014;">@icon-cart</span>
+//  <span class="icon example" data-icon="&#xe015;">@icon-arrow-up-thin</span>
+//  <span class="icon example" data-icon="&#xe016;">@icon-arrow-right-thin</span>
+//  <span class="icon example" data-icon="&#xe017;">@icon-arrow-left-thin</span>
+//  <span class="icon example" data-icon="&#xe018;">@icon-arrow-down-thin</span>
+//  <span class="icon example" data-icon="&#xe019;">@icon-arrow-up-thick</span>
+//  <span class="icon example" data-icon="&#xe01a;">@icon-arrow-right-thick</span>
+//  <span class="icon example" data-icon="&#xe01b;">@icon-arrow-left-thick</span>
+//  <span class="icon example" data-icon="&#xe01c;">@icon-arrow-down-thick</span>
+//  <span class="icon example" data-icon="&#xe01d;">@icon-wishlist</span>
+//  <span class="icon example" data-icon="&#xe01e;">@icon-comment</span>
+//  <span class="icon example" data-icon="&#xe01f;">@icon-comment-reflected</span>
+//  <span class="icon example" data-icon="&#xe002;">@icon-list</span>
+//  <span class="icon example" data-icon="&#xe003;">@icon-grid</span>
+//  <span class="icon example" data-icon="&#xe004;">@icon-close-thin</span>
+//  <span class="icon example" data-icon="&#xe000;">@icon-trash</span>
+//  <span class="icon example" data-icon="&#xe001;">@icon-envelope</span>
+//  <span class="icon example" data-icon="&#xe005;">@icon-magnifying-glass</span>
+//  <span class="icon example" data-icon="&#xe02b;">@icon-arrow-right-filled</span>
+//  <span class="icon example" data-icon="&#xe02c;">@icon-arrow-bottom-filled</span>
+//  <span class="icon example" data-icon="&#xe02a;">@icon-arrow-left-filled</span>
+//  <span class="icon example" data-icon="&#xe029;">@icon-arrow-up-filled</span>
+//  <span class="icon example" data-icon="&#xe009;">@icon-star</span>
+//  <span class="icon example" data-icon="&#xe00b;">@icon-calendar</span>
+// ```
+
+@icon-pencil: "\e006";
+@icon-menu: "\e007";
+@icon-location: "\e008";
+@icon-info: "\e00a";
+@icon-flag: "\e00c";
+@icon-expand: "\e00d";
+@icon-exclamation: "\e00e";
+@icon-dropdown: "\e010";
+@icon-collapse: "\e011";
+@icon-close-thick: "\e012";
+@icon-checkmark: "\e013";
+@icon-cart: "\e014";
+@icon-arrow-up-thin: "\e015";
+@icon-arrow-right-thin: "\e016";
+@icon-arrow-left-thin: "\e017";
+@icon-arrow-down-thin: "\e018";
+@icon-arrow-up-thick: "\e019";
+@icon-arrow-right-thick: "\e01a";
+@icon-arrow-left-thick: "\e01b";
+@icon-arrow-down-thick: "\e01c";
+@icon-wishlist: "\e01d";
+@icon-comment: "\e01e";
+@icon-comment-reflected: "\e01f";
+@icon-list: "\e002";
+@icon-grid: "\e003";
+@icon-close-thin: "\e004";
+@icon-trash: "\e000";
+@icon-envelope: "\e001";
+@icon-magnifying-glass: "\e005";
+@icon-arrow-right-filled: "\e02b";
+@icon-arrow-bottom-filled: "\e02c";
+@icon-arrow-left-filled: "\e02a";
+@icon-arrow-up-filled: "\e029";
+@icon-star: "\e009";
+@icon-calendar: "\e00b";
+
+.example.icon {
+    display: inline-block;
+    margin: 0 0 16px;
+    width: 20%;
+    text-align: center;
+    .iconBefore("", 32px, 0 0 10px 0, 'icons');
+    &:before {
+        content: attr(data-icon);
+        display: block;
+    }
+    &:hover {
+        color: @secondary2;
+    }
+}
+
+// #iconBefore
+//Add an icon *before* the specified element
+//
+//**.iconBefore(["content"], [height], [margin], ["font"]);**
+//  ```
+//  <a class="action primary showcart1" href="#"><span>My Cart</span></a>
+//  ```
+.action.showcart1 {
+    .iconBefore(@icon-cart, 16px, 0 5px 0 0, "icons");
+}
+
+// #iconAfter
+//Add an icon *after* the specified element
+//
+//**.iconAfter(["content"], [height], [margin], ["font"]);**
+//  ```
+//  <a class="action showcart2" href="#"><span>My Cart</span></a>
+//  ```
+.action.showcart2 {
+    .iconAfter(@icon-cart, 16px, 0 0 0 10px, "icons");
+}
+
+// #iconHideText
+//Hide the text to the specified element (not hide the icon)
+//
+//**.iconHideText([limitWidth]);**
+//  ```
+//  <a class="action showcart3" href="#"><span>My Cart</span></a>
+//  ```
+.action.showcart3 {
+    .iconAfter(@icon-cart, 16px, 10px,"icons");
+    .iconHideText(16px);
+}
+
+//#Using mixin:
+.iconBefore(@content: '', @size: 16px, @margin: 0 , @font: 'icons') {
+    &:before {
+        font-family: "@{font}";
+        font-size: @size;
+        line-height: @size;
+        height: @size;
+        margin: @margin;
+        overflow: hidden;
+        content: @content;
+        font-style: normal;
+        speak: none;
+        font-weight: normal;
+        -webkit-font-smoothing: antialiased;
+        display: inline-block;
+        vertical-align: middle;
+        text-align: center;
+    }
+}
+
+.iconAfter(@content: '', @size: 16px, @margin: 0 , @font: 'icons') {
+    &:after {
+        font-family: "@{font}";
+        font-size: @size;
+        line-height: @size;
+        height: @size;
+        margin: @margin;
+        overflow: hidden;
+        content: @content;
+        font-style: normal;
+        speak: none;
+        font-weight: normal;
+        -webkit-font-smoothing: antialiased;
+        display: inline-block;
+        vertical-align: middle;
+        text-align: center;
+    }
+}
+
+.iconHideText(@limitWidth: 16px) {
+    width: @limitWidth;
+    display: block;
+    line-height: 0;
+    white-space: nowrap;
+    vertical-align: middle;
+    text-align: center;
+    text-indent: -999em;
+    &:active {
+        outline: 0;
+    }
+    &:after {
+        text-indent: 0;
+        display: block;
+        margin: 0;
+    }
+}
diff --git a/app/design/frontend/magento_plushe/less/lib/messages.less b/app/design/frontend/magento_plushe/less/lib/messages.less
new file mode 100644
index 0000000000000000000000000000000000000000..b48940c5dc93e18a1394cf83cb9f9aade0dcf80d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/lib/messages.less
@@ -0,0 +1,214 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+
+//  #Messages - base styles
+
+ul.messages {
+    .resetList();
+}
+
+.message.base {
+    display: block;
+    .clearfix();
+    padding: 13px 60px 12px 20px;
+    margin: 3px 0 3px;
+    border-radius: 3px;
+    position: relative;
+    line-height: 16px;
+    z-index: 1;
+    &:before {
+        content: '';
+        position: absolute;
+        width: 31px;
+        text-align: center;
+        right: 0;
+        top: 0;
+        height: 100%;
+        display: block;
+        padding: 0;
+        border-radius: 3px;
+        z-index: 1;
+    }
+    > *:first-child:before {
+        content: '';
+        .arrow(left, 5px, @messageNoticeIconBg);
+        position: absolute;
+        overflow: hidden;
+        top: 50%;
+        margin-top: -3px;
+        right: 31px;
+        z-index: 2;
+    }
+    > *:first-child:after {
+        font-family: "icons";
+        color: @messageIconColor;
+        font-size: 20px;
+        line-height: 20px;
+        position: absolute;
+        top: 50%;
+        right: 0;
+        margin-top: -10px;
+        width: 31px;
+        text-align: center;
+        display: block;
+        z-index: 3;
+    }
+    ul {
+        .resetList();
+    }
+    li {
+        margin-top: 5px;
+
+        &:first-child {
+            margin-top: 0;
+        }
+    }
+}
+
+//  # Error messages
+//
+//  ```html
+//  <ul class="messages">
+//      <li class="error-msg">
+//          <ul>
+//              <li><span>Oh snap! Change a few things up and try submitting again.</span></li>
+//          </ul>
+//      </li>
+//  </ul>
+//  ```
+//
+
+.message.error {
+    &:extend(.message.base all);
+    background: @messageErrorBg;
+    color: @messageErrorColor;
+    &:before {
+        background: @messageErrorIconBg;
+    }
+    > *:first-child:before {
+        border-right-color: @messageErrorIconBg;
+    }
+    > *:first-child:after {
+        content: @icon-exclamation;
+    }
+}
+
+.error-msg {
+    &:extend(.message.error all);
+}
+
+//  # Success messages
+//
+//  ```html
+//  <ul class="messages">
+//      <li class="success-msg">
+//          <ul>
+//              <li><span>Well done! You successfully read this important alert message.</span></li>
+//          </ul>
+//      </li>
+//  </ul>
+//  ```
+//
+
+.message.success {
+    &:extend(.message.base all);
+    background: @messageSuccessBg;
+    color: @messageSuccessColor;
+    &:before {
+        background: @messageSuccessIconBg;
+    }
+    > *:first-child:before {
+        border-right-color: @messageSuccessIconBg;
+    }
+    > *:first-child:after {
+        content: @icon-checkmark;
+    }
+}
+
+.success-msg {
+    &:extend(.message.success all);
+}
+
+//  # Notice messages
+//
+//  ```html
+//  <ul class="messages">
+//      <li class="notice-msg">
+//          <ul>
+//              <li><span>Heads up! This alert needs your attention, but it's not super important.</span></li>
+//          </ul>
+//      </li>
+//  </ul>
+//  ```
+//
+
+.message.notice {
+    &:extend(.message.base all);
+    background: @messageNoticeBg;
+    color: @messageNoticeColor;
+    &:before {
+        background: @messageNoticeIconBg;
+    }
+    > *:first-child:before {
+        border-right-color: @messageNoticeIconBg;
+    }
+    > *:first-child:after {
+        content: @icon-info;
+    }
+}
+
+.notice-msg,
+.note-msg {
+    &:extend(.message.notice all);
+}
+
+//  # Customized info message
+//
+//  ```html
+//  <div class="message info">
+//    <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p>
+//  </div>
+//  ```
+//
+
+.message.info {
+    &:extend(.message.base all);
+    background: @messageNoticeBg;
+    color: @messageNoticeColor;
+    border: 1px solid darken(@messageNoticeBg, 10%);
+    .box-sizing();
+    &:before {
+        background: @messageNoticeIconBg;
+        top: -2px;
+        height: auto;
+        bottom: -2px;
+    }
+    > *:first-child:before {
+        border-right-color: @messageNoticeIconBg;
+    }
+    > *:first-child:after {
+        content: @icon-info;
+    }
+}
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/less/lib/navigation.less b/app/design/frontend/magento_plushe/less/lib/navigation.less
new file mode 100644
index 0000000000000000000000000000000000000000..5c1f1cbf41e933193e012e8417b9a65fb71788e3
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/lib/navigation.less
@@ -0,0 +1,658 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+
+//  # Navigation
+//
+//
+//  ```html
+//<div class="header"></div>
+//<nav class="navigation" data-role="navigation" data-mage-init="{ navigationMenu: { submenuContiniumEffect: false } }">
+//    <ul>
+//        <li class="level0 nav-1 first level-top parent"><a href="http://m2.loc/index.php/ewr.html" class="level-top"><span> First level 1 </span></a>
+//            <div class="submenu">
+//                <ul class="level0">
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-1-1 first parent"><a href="http://m2.loc/index.php/ewr/subcategory-1.html"><span> Subcategory 1 </span></a>
+//                                <div class="submenu">
+//                                    <ul class="level1">
+//                                        <li class="level2 nav-1-1-1 first"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-1.html"><span> Third level 1 </span></a></li>
+//                                        <li class="level2 nav-1-1-2 parent"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-2.html"><span> Third level 2 </span></a>
+//                                            <div class="submenu">
+//                                                <ul class="level2">
+//                                                    <li class="level3 nav-1-1-2-1 first"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-2/fourth-level-1.html"><span> Fourth level 1 </span></a></li>
+//                                                    <li class="level3 nav-1-1-2-2"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-2/fourth-level-2.html"><span> Fourth level 2 </span></a></li>
+//                                                    <li class="level3 nav-1-1-2-3"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-2/fourth-level-3.html"><span> Fourth level 3 </span></a></li>
+//                                                    <li class="level3 nav-1-1-2-4 last"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-2/fourth-level-4.html"><span> Fourth level 4 </span></a></li>
+//                                                </ul>
+//                                            </div>
+//                                        </li>
+//                                        <li class="level2 nav-1-1-3 parent"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-3.html"><span> Third level 3 </span></a>
+//                                            <div class="submenu">
+//                                                <ul class="level2">
+//                                                    <li class="level3 nav-1-1-3-1 first"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-3/fourth-level-1.html"><span> Fourth level 1 </span></a></li>
+//                                                    <li class="level3 nav-1-1-3-2 last"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-3/fourth-level-2.html"><span> Fourth level 2 </span></a></li>
+//                                                </ul>
+//                                            </div>
+//                                        </li>
+//                                        <li class="level2 nav-1-1-4"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-4.html"><span> Third level 4 </span></a></li>
+//                                        <li class="level2 nav-1-1-5"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-5.html"><span> Third level 5 </span></a></li>
+//                                        <li class="level2 nav-1-1-6"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-6.html"><span> Third level 6 </span></a></li>
+//                                        <li class="level2 nav-1-1-7"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-7.html"><span> Third level 7 </span></a></li>
+//                                        <li class="level2 nav-1-1-8"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-8.html"><span> Third level 8 </span></a></li>
+//                                        <li class="level2 nav-1-1-9"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-9.html"><span> Third level 9 </span></a></li>
+//                                        <li class="level2 nav-1-1-10"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-10.html"><span> Third level 10 </span></a></li>
+//                                        <li class="level2 nav-1-1-11 last"><a href="http://m2.loc/index.php/ewr/subcategory-1/third-level-11.html"><span> Third level 11 </span></a></li>
+//                                    </ul>
+//                                </div>
+//                            </li>
+//                        </ul>
+//                    </li>
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-1-2 parent"><a href="http://m2.loc/index.php/ewr/subcategory-2.html"><span> Subcategory 2 </span></a>
+//                                <div class="submenu">
+//                                    <ul class="level1">
+//                                        <li class="level2 nav-1-2-1 first"><a href="http://m2.loc/index.php/ewr/subcategory-2/third-level-1.html"><span> Third level 1 </span></a></li>
+//                                        <li class="level2 nav-1-2-2"><a href="http://m2.loc/index.php/ewr/subcategory-2/third-level-2.html"><span> Third level 2 </span></a></li>
+//                                        <li class="level2 nav-1-2-3"><a href="http://m2.loc/index.php/ewr/subcategory-2/third-level-3.html"><span> Third level 3 </span></a></li>
+//                                        <li class="level2 nav-1-2-4"><a href="http://m2.loc/index.php/ewr/subcategory-2/third-level-4.html"><span> Third level 4 </span></a></li>
+//                                        <li class="level2 nav-1-2-5 last"><a href="http://m2.loc/index.php/ewr/subcategory-2/third-level-5.html"><span> Third level 5 </span></a></li>
+//                                    </ul>
+//                                </div>
+//                            </li>
+//                        </ul>
+//                    </li>
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-1-3"><a href="http://m2.loc/index.php/ewr/subcategory-3.html"><span> Subcategory 3 </span></a></li>
+//                        </ul>
+//                    </li>
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-1-4"><a href="http://m2.loc/index.php/ewr/subcategory-4.html"><span> Subcategory 4 </span></a></li>
+//                        </ul>
+//                    </li>
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-1-5"><a href="http://m2.loc/index.php/ewr/subcategory-5.html"><span> Subcategory 5 </span></a></li>
+//                        </ul>
+//                    </li>
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-1-6 last parent"><a href="http://m2.loc/index.php/ewr/subcategory-6.html"><span> Subcategory 6 </span></a>
+//                                <div class="submenu">
+//                                    <ul class="level1">
+//                                        <li class="level2 nav-1-6-1 first"><a href="http://m2.loc/index.php/ewr/subcategory-6/third-level-1.html"><span> Third level 1 </span></a></li>
+//                                        <li class="level2 nav-1-6-2"><a href="http://m2.loc/index.php/ewr/subcategory-6/third-level-2.html"><span> Third level 2 </span></a></li>
+//                                        <li class="level2 nav-1-6-3"><a href="http://m2.loc/index.php/ewr/subcategory-6/third-level-3.html"><span> Third level 3 </span></a></li>
+//                                        <li class="level2 nav-1-6-4"><a href="http://m2.loc/index.php/ewr/subcategory-6/third-level-4.html"><span> Third level 4 </span></a></li>
+//                                        <li class="level2 nav-1-6-5"><a href="http://m2.loc/index.php/ewr/subcategory-6/third-level-5.html"><span> Third level 5 </span></a></li>
+//                                        <li class="level2 nav-1-6-6"><a href="http://m2.loc/index.php/ewr/subcategory-6/third-level-6.html"><span> Third level 6 </span></a></li>
+//                                        <li class="level2 nav-1-6-7 last"><a href="http://m2.loc/index.php/ewr/subcategory-6/third-level-7.html"><span> Third level 7 </span></a></li>
+//                                    </ul>
+//                                </div>
+//                            </li>
+//                        </ul>
+//                    </li>
+//                </ul>
+//            </div>
+//        </li>
+//        <li class="level0 nav-2 level-top parent"><a href="http://m2.loc/index.php/123456.html" class="level-top"><span> First level 2 </span></a>
+//            <div class="submenu">
+//                <ul class="level0">
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-2-1 first"><a href="http://m2.loc/index.php/123456/subcategory-1.html"><span> Subcategory 1 </span></a></li>
+//                        </ul>
+//                    </li>
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-2-2"><a href="http://m2.loc/index.php/123456/subcategory-2.html"><span> Subcategory 2 </span></a></li>
+//                        </ul>
+//                    </li>
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-2-3 last"><a href="http://m2.loc/index.php/123456/subcategory-3.html"><span> Subcategory 3 </span></a></li>
+//                        </ul>
+//                    </li>
+//                </ul>
+//            </div>
+//        </li>
+//        <li class="level0 nav-3 level-top parent"><a href="http://m2.loc/index.php/first-level-3.html" class="level-top"><span> First level 3 </span></a>
+//            <div class="submenu">
+//                <ul class="level0">
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-3-1 first"><a href="http://m2.loc/index.php/first-level-3/subcategory-1.html"><span> Subcategory 1 </span></a></li>
+//                        </ul>
+//                    </li>
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-3-2"><a href="http://m2.loc/index.php/first-level-3/subcategory-2.html"><span> Subcategory 2 </span></a></li>
+//                        </ul>
+//                    </li>
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-3-3"><a href="http://m2.loc/index.php/first-level-3/subcategory-3.html"><span> Subcategory 3 </span></a></li>
+//                        </ul>
+//                    </li>
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-3-4"><a href="http://m2.loc/index.php/first-level-3/subcategory-4.html"><span> Subcategory 4 </span></a></li>
+//                        </ul>
+//                    </li>
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-3-5 last"><a href="http://m2.loc/index.php/first-level-3/subcategory-5.html"><span> Subcategory 5 </span></a></li>
+//                        </ul>
+//                    </li>
+//                </ul>
+//            </div>
+//        </li>
+//        <li class="level0 nav-4 level-top"><a href="http://m2.loc/index.php/first-level-4.html" class="level-top"><span> First level 4 </span></a></li>
+//        <li class="level0 nav-5 level-top"><a href="http://m2.loc/index.php/first-level-5.html" class="level-top"><span> First level 5 </span></a></li>
+//        <li class="level0 nav-6 level-top"><a href="http://m2.loc/index.php/first-level-6.html" class="level-top"><span> First level 6 </span></a></li>
+//        <li class="level0 nav-7 level-top"><a href="http://m2.loc/index.php/first-level-7.html" class="level-top"><span> First level 7 </span></a></li>
+//        <li class="level0 nav-8 level-top"><a href="http://m2.loc/index.php/first-level-8.html" class="level-top"><span> First level 8 </span></a></li>
+//        <li class="level0 nav-9 level-top parent"><a href="http://m2.loc/index.php/first-level-4-1.html" class="level-top"><span> First level 9 </span></a>
+//            <div class="submenu">
+//                <ul class="level0">
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-9-1 first parent"><a href="http://m2.loc/index.php/first-level-4-1/subcategory-1.html"><span> Subcategory 1 </span></a>
+//                                <div class="submenu">
+//                                    <ul class="level1">
+//                                        <li class="level2 nav-9-1-1 first"><a href="http://m2.loc/index.php/first-level-4-1/subcategory-1/third-level-1.html"><span> Third level 1 </span></a></li>
+//                                        <li class="level2 nav-9-1-2 parent"><a href="http://m2.loc/index.php/first-level-4-1/subcategory-1/third-level-2.html"><span> Third level 2 </span></a>
+//                                            <div class="submenu">
+//                                                <ul class="level2">
+//                                                    <li class="level3 nav-9-1-2-1 first"><a href="http://m2.loc/index.php/first-level-4-1/subcategory-1/third-level-2/fourth-level-1.html"><span> Fourth level 1 </span></a></li>
+//                                                    <li class="level3 nav-9-1-2-2 last"><a href="http://m2.loc/index.php/first-level-4-1/subcategory-1/third-level-2/fourth-level-2.html"><span> Fourth level 2 </span></a></li>
+//                                                </ul>
+//                                            </div>
+//                                        </li>
+//                                        <li class="level2 nav-9-1-3 last"><a href="http://m2.loc/index.php/first-level-4-1/subcategory-1/third-level-3.html"><span> Third level 3 </span></a></li>
+//                                    </ul>
+//                                </div>
+//                            </li>
+//                        </ul>
+//                    </li>
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-9-2"><a href="http://m2.loc/index.php/first-level-4-1/subcategory-2.html"><span> Subcategory 2 </span></a></li>
+//                        </ul>
+//                    </li>
+//                    <li class="column">
+//                        <ul>
+//                            <li class="level1 nav-9-3 last"><a href="http://m2.loc/index.php/first-level-4-1/subcategory-3.html"><span> Subcategory 3 </span></a></li>
+//                        </ul>
+//                    </li>
+//                </ul>
+//            </div>
+//        </li>
+//        <li class="level0 nav-10 level-top"><a href="http://m2.loc/index.php/first-level-10.html" class="level-top"><span> First level 10 </span></a></li>
+//        <li class="level0 nav-11 level-top"><a href="http://m2.loc/index.php/first-level-11.html" class="level-top"><span> First level 11 </span></a></li>
+//        <li class="level0 nav-12 level-top"><a href="http://m2.loc/index.php/first-level-12.html" class="level-top"><span> First level 12 </span></a></li>
+//        <li class="level0 nav-13 level-top"><a href="http://m2.loc/index.php/first-level-13.html" class="level-top"><span> First level 13 </span></a></li>
+//        <li class="level0 nav-14 level-top"><a href="http://m2.loc/index.php/first-level-14.html" class="level-top"><span> First level 14 </span></a></li>
+//        <li class="level0 nav-15 level-top"><a href="http://m2.loc/index.php/first-level-15.html" class="level-top"><span> First level 15 </span></a></li>
+//        <li class="level0 nav-16 level-top"><a href="http://m2.loc/index.php/first-level-16.html" class="level-top"><span> First level 16 </span></a></li>
+//        <li class="level0 nav-17 level-top"><a href="http://m2.loc/index.php/first-level-17.html" class="level-top"><span> First level 17 </span></a></li>
+//    </ul>
+//</nav>
+//  ```
+//
+
+@subNavHeight: auto;
+@subNavPadding: 45px;
+
+@navBg : @headerBg;
+@navBgImage : @headerBgImage;
+
+.navigation {
+    background-color: @navBg;
+    background-image: @navBgImage;
+    background-repeat: repeat;
+    background-position: 0 0;
+    border-top: 1px solid;
+    .borderColorI(@navBg);
+    position: relative;
+    z-index: 2;
+    .clearfix();
+
+    > ul > .level-top {
+        display: inline-block;
+        line-height: 1.2;
+        vertical-align: top;
+        padding-right: 40px;
+
+        &:last-child {
+            padding-right: 0;
+        }
+
+        &.active {
+            > a:after {
+                opacity: 1;
+                border-bottom-color: @primary7;
+            }
+        }
+
+        &.hover {
+            > a:after {
+                border-bottom-color: @primary1;
+            }
+            > .submenu {
+                border-bottom: 1px solid @primary3;
+            }
+        }
+
+        &.hover,
+        &:hover {
+            > .submenu {
+                z-index: 2;
+            }
+            &:hover > a span,
+            &.parent.hover > a span,
+            &.parent > a span {
+                color: @primary6;
+            }
+            &:hover > a:after,
+            &.hover > a:after,
+            &.parent > a:after {
+                opacity: 1;
+            }
+        }
+
+        &.more {
+            &:after {
+                cursor: pointer;
+                content: "\e010";
+                font-family: "icons";
+                font-size: 16px;
+                display: inline-block;
+                padding: .6em .7em 1em;
+                margin-top: 0.4em;
+                border-radius: 4px 4px 0 0;
+                position: relative;
+                z-index: 1;
+            }
+
+            &.hover:after {
+                background: @primary1;
+            }
+
+            li.level-top {
+                width: 200px;
+                margin: 0 0 0 -10px !important;
+                padding: 7px 10px 7px 30px;
+                > a {
+                    font-size: 16px;
+                }
+                &.hover,
+                &:hover {
+                    background: @primary1;
+                    > a span {
+                        color: @primary6;
+                    }
+                    &.parent {
+                        .iconBefore(@content: @icon-arrow-right-thick, @margin: 0 8px 0 0, @font: "icons");
+                        &:before {
+                            float: right;
+                            color: @secondary1;
+                        }
+                    }
+                    .submenu {
+                        display: block !important;
+                    }
+                }
+                > a span {
+                    color: @primary5;
+                }
+                .submenu {
+                    display: none;
+                }
+                > .submenu {
+                    position: absolute;
+                    right: 0;
+                    padding: 0;
+                    left: 0;
+                    top: 0;
+                    margin-left: 230px;
+                    min-height: 100%;
+                    background: @primary1;
+                    .box-sizing();
+                    .box-shadow(0 10px 8px rgba(0,0,0,0.3));
+                    .no-boxshadow & {
+                        border: 2px solid @primary3;
+                        border-width: 0 2px 2px;
+                    }
+                    > ul {
+                        background: @primary1;
+                        position: relative;
+                        z-index: 1;
+                        padding: 10px;
+                    }
+                }
+            }
+            > .submenu {
+                background: none;
+                border-width: 0;
+                > ul {
+                    position: relative;
+                }
+            }
+        }
+
+        > a {
+            position: relative;
+            display: inline-block;
+            vertical-align: top;
+            padding: 1em 0;
+            font-size: 16px;
+            text-align: center;
+            color: @primary5;
+            &:after {
+                opacity: 0;
+                content: '';
+                overflow: hidden;
+                display: block;
+                position: absolute;
+                bottom: 0;
+                left: 50%;
+                zoom: 1;
+                z-index: 2;
+                color: @primary6;
+                .arrow(top, 10px, @primary1);
+            }
+            > span {
+                color: @primary5;
+            }
+            &:active span,
+            &:focus span {
+                color: @primary6;
+            }
+            &:active:after,
+            &:focus:after {
+                opacity: 1;
+            }
+        }
+
+        > .submenu {
+            display: none;
+            position: absolute;
+            left: 0;
+            top: 100%;
+            background: @primary1;
+            width: 100%;
+            z-index: 1;
+            > ul {
+                height: @subNavHeight;
+                padding-top: @subNavPadding;
+                padding-bottom: @subNavPadding;
+                li.column {
+                    .box-sizing( border-box );
+                    width: 25%;
+                    display: inline-block;
+                    padding-right: 30px;
+                    vertical-align: top;
+                }
+                .level1 > a {
+                    text-transform: uppercase;
+                }
+                .parent ul {
+                    padding-left: 10px;
+                }
+                li {
+                    margin: 8px 0;
+                    &:fist-child {
+                        margin-top: 0;
+                    }
+                }
+            }
+        }
+    }
+}
+
+@media only screen and (max-width: 640px) {
+    html {
+        height: 100%;
+        min-width: 0;
+        overflow: hidden;
+    }
+
+    body {
+        -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+        position: relative;
+        height: 100%;
+        width: 100%;
+        overflow: hidden;
+        &.opened {
+            .navigation {
+                left: 0;
+            }
+            .page.wrapper {
+                margin-right: -86%;
+                cursor: pointer;
+            }
+        }
+    }
+
+    .page.wrapper {
+        position: relative;
+        width: 100%;
+        float: right;
+        margin: 0;
+        .transition(margin .3s ease-out 0);
+    }
+
+    .navigationLink() {
+        & > a {
+            display: block;
+            padding: 10px 20px;
+            text-transform: none;
+            font-size: 20px;
+            font-weight: 600;
+            border-bottom: 1px solid @primary2;
+            color: @primary6;
+            text-align: left;
+            &:hover,
+            &:visited {
+                color: @primary6;
+            }
+            &:active {
+                background: #dbdcd7;
+            }
+            &:after {
+                border: 0;
+            }
+        }
+    }
+
+    .navigationSubmenu() {
+        position: absolute;
+        display: block;
+        left: 100%;
+        top: 0;
+        width: 100%;
+        overflow-x: hidden;
+        background: @primary7;
+        .transition(left .3s ease-out 0);
+        &.opened {
+            left: 0;
+            z-index: 3;
+        }
+        > ul {
+            padding-top: 0;
+            padding-bottom: 0;
+            li {
+                margin: 0;
+                .navigationLink();
+            }
+            li.column {
+                width: 100%;
+                display: block;
+                padding-right: 0;
+            }
+            .parent ul {
+                padding-left: 0;
+            }
+        }
+    }
+
+    .navigation {
+        display: block;
+        position: absolute;
+        width: 86%;
+        left: -86%;
+        height: 100%;
+        background: @primary7;
+        overflow-x: hidden;
+        border-right: #b6b8af 1px solid;
+        .box-sizing();
+        .transition(left .3s ease-out 0);
+        ul {
+            margin: 0;
+            padding: 0;
+            li.hidden {
+                display: none;
+            }
+        }
+        & > ul {
+            .transition(left .3s linear 0);
+            position: relative;
+            overflow: hidden;
+            > .level-top {
+                display: block;
+                padding: 0;
+                background: @primary7;
+                .navigationLink();
+                &.parent {
+                    &:after {
+                        display: none;
+                    }
+                    > a {
+                        position: relative;
+                        .iconAfter(@content: @icon-arrow-right-thick, @size: 18px, @font: 'icons');
+                        text-transform: none !important;
+                        &:after {
+                            position: absolute;
+                            width: 18px;
+                            top: 12px;
+                            right: 17px;
+                            left: auto;
+                            opacity: 1;
+                            z-index: auto;
+                        }
+                    }
+                    > .submenu {
+                        .navigationSubmenu();
+                    }
+                }
+
+            }
+        }
+        .action.back {
+            a {
+                background: @primary6;
+                position: relative;
+                color: @primary7 !important;
+                border-bottom-color: transparent;
+                cursor: pointer;
+                .iconBefore(@content: @icon-arrow-left-thick, @size: 18px, @font: 'icons');
+                &:hover,
+                &:active,
+                &:visited {
+                    color: @primary7 !important;
+                    background: @primary6 !important;
+                }
+                &:before {
+                    position: absolute;
+                    top: 12px;
+                    left: 3px;
+                }
+                span:before {
+                    content: "";
+                }
+            }
+        }
+        .parent {
+            &:after {
+                display: none;
+            }
+            > a {
+                position: relative;
+                .iconAfter(@content: @icon-arrow-right-thick, @size: 18px, @font: 'icons');
+                &:after {
+                    position: absolute;
+                    width: 18px;
+                    top: 16px;
+                    right: 17px;
+                    left: auto;
+                    opacity: 1;
+                    z-index: auto;
+                }
+            }
+            .submenu {
+                .navigationSubmenu();
+            }
+        }
+    }
+
+    .action.toggle.nav {
+        display: block;
+        margin-top: 19px;
+        position: absolute;
+        top: 0;
+        left: 20px;
+        font-size: 0;
+        .iconAfter(@content: @icon-menu, @size: 32px, @font: 'icons');
+        .iconHideText(32px);
+        cursor: pointer;
+        &:before {
+            position: absolute;
+            width: 100%;
+            height: 100%;
+            left: -100%;
+            top: -20px;
+            padding: 20px 0;
+            content: "";
+        }
+        .active-nav &:before {
+            position: fixed;
+            padding: 0;
+            left: 86%;
+            right: 0;
+            top: 0;
+            bottom: 0;
+        }
+    }
+
+    .header {
+        padding: 0;
+        position: relative;
+        margin-bottom: 35px;
+    }
+}
diff --git a/app/design/frontend/magento_plushe/less/lib/sections.less b/app/design/frontend/magento_plushe/less/lib/sections.less
new file mode 100644
index 0000000000000000000000000000000000000000..600060c24659413e419a7dced31c73df42d7a5f2
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/lib/sections.less
@@ -0,0 +1,203 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+
+.data-tabs() {
+    .clearfix();
+    position: relative;
+    z-index: 1;
+    > .item.title {
+        float: left;
+        > .switch {
+            display: block;
+            position: relative;
+            top: 1px;
+            z-index: 2;
+        }
+    }
+    > .item.content {
+        width: 100%;
+        float: right;
+        margin-left: -100%;
+        display: none;
+        .box-sizing();
+        &.active {
+            display: block;
+        }
+    }
+
+    .tabs > .term-content.active {
+        border: 1px solid #BFBFBF;
+        color: hsl(0, 0%, 50%);
+        display: block;
+    }
+}
+
+.data-tabs-styling() {
+    > .item.title {
+        margin-right: 1px;
+        min-height: 35px;
+        > .switch {
+            font-size: 14px;
+            line-height: 1;
+            font-weight: 600;
+            text-decoration: none;
+            padding: 11px 11px 8px;
+            border: 2px solid #e5e5e5;
+            background: rgba(0, 0, 0, 0.03);
+            border-bottom: none;
+            text-transform: uppercase;
+            border-radius: 4px 4px 0 0;
+        }
+        &:not(.disabled) > .switch:active,
+        &:not(.disabled) > .switch:focus,
+        &:not(.disabled) > .switch:hover,
+        &.active > .switch {
+            background: #fff;
+            border-width: 3px;
+            padding: 10px 10px 8px;
+            outline: none;
+        }
+        &.active > .switch {
+            padding: 10px 20px 11px !important;
+        }
+    }
+    > .item.content {
+        .clearfix;
+        margin-top: 36px;
+        padding: 20px;
+        &:before {
+            content: '';
+            border-top: 3px solid #e5e5e5;
+            width: 100%;
+            display: block;
+            position: absolute;
+            left: 0;
+            .box-sizing();
+            margin: -20px 0 20px;
+        }
+    }
+}
+
+.data-accordion() {
+    > .item.title {
+        .box-sizing();
+        width: 100%;
+        > .item.switch {
+            display: block;
+        }
+    }
+    > .item.content {
+        .clearfix();
+        .box-sizing();
+        display: none;
+        &.active {
+            display: block;
+        }
+    }
+}
+
+.data-accordion-styling() {
+    margin: 0;
+    padding: 0;
+    > .item.title {
+        margin: 3px 0 0;
+        > .switch {
+            display: block;
+            font-size: 14px;
+            line-height: 1;
+            font-weight: 600;
+            text-decoration: none;
+            padding: 11px;
+            border: 2px solid #e5e5e5;
+            background: #f8f8f8;
+            text-transform: uppercase;
+            border-radius: 4px;
+        }
+        &:not(.disabled) > .switch:active,
+        &:not(.disabled) > .switch:focus,
+        &:not(.disabled) > .switch:hover,
+        &.active > .switch {
+            background: #fff;
+            border-width: 3px;
+            padding: 10px;
+            outline: none;
+        }
+        &.active > .switch {
+            border-radius: 4px 4px 0 0;
+        }
+    }
+    > .item.content {
+        margin: 0;
+        padding: 20px;
+        background: #fff;
+    }
+}
+
+//  # Sections
+//
+//  ```html
+//  <dl class="product data items" data-sections="tabs">
+//    <dt class="data item title active" data-section="title">
+//        <a class="data switch" data-toggle="switch" href="#product.info.description">Details</a>
+//    </dt>
+//    <dd class="data item content active" id="product.info.description" data-section="content">
+//        <p>Fit to be tied. Get the perfect level of lift in our Tie-front Tankini. Featuring removable padding and cup-specific sizes for support and shaping. From our Forever Sexy Swim collection of push-up tops and bottoms in sun-loving colors and prints.</p>
+//        <p>- Removable push-up padding<br>- Lined hidden underwire cups<br>- Front tie<br>- Adjustable straps can be worn classic or cross-back<br>- Available in two lengths: 17 3/4" and 18 3/4"<br>- Imported Italian nylon/Lycra® spandex</p>
+//    </dd>
+//
+//    <dt class="data item title" data-section="title">
+//        <a class="data switch" data-toggle="switch" href="#product_tags">Tags</a>
+//    </dt>
+//    <dd class="data item content" id="product_tags" data-section="content">
+//        <p>A playful little push-up. Bring the lightweight lift and custom comfort of the Fabulous by Victoria’s Secret bra to the beach. This triangle top is finished with pretty ruching and a sweet center bow. From our fun, flirty Beach Sexy Swim Collection.</p>
+//        <p>- Ruched cups with center bow<br>- Push-up padding for extreme lift<br>- Underwire<br>- Ties at neck; looped back tie for adjustability and extra support<br>- Imported nylon/spandex</p>
+//    </dd>
+//
+//    <dt class="data item title" data-section="title">
+//        <a class="data switch" data-toggle="switch" href="#product_reviews">Reviews</a>
+//    </dt>
+//    <dd class="data item content" id="product_reviews" data-section="content">
+//        <p>Relaxed elegance. The flowy fit of this halter tankini makes beach style a breeze. The built in bra top provides just the right amount of support. Look slimmer in seconds® in this figure-loving top designed exclusively for Victoria’s Secret.</p>
+//        <p>- Built-in bra with molded foam padding<br>- Halter straps tie at neck<br>- Imported nylon/spandex</p>
+//    </dd>
+//  </dl>
+//  ```
+//
+
+@media only screen
+and (max-width : 99999px) {
+    .product.data {
+        .data-tabs();
+        .data-tabs-styling();
+    }
+}
+
+@media only screen
+and (max-width : 768px) {
+    .product.data {
+        .data-accordion();
+        .data-accordion-styling();
+    }
+}
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/less/lib/snippets.less b/app/design/frontend/magento_plushe/less/lib/snippets.less
new file mode 100644
index 0000000000000000000000000000000000000000..65ff1c139ac782b62b7410de3adb46bbe8d36ff5
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/lib/snippets.less
@@ -0,0 +1,142 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+
+.resetList(@margin: 0, @padding: 0) {
+    padding: @padding;
+    margin: @margin;
+    list-style-type: none;
+    list-style-image: none;
+}
+
+.borderColor (@color) when (lightness(@color) > 50%) {
+    border-color: darken(@color, 13%);
+}
+
+.borderColor (@color) when (lightness(@color) =< 50%) {
+    border-color: lighten(@color, 13%);
+}
+
+.borderColorI (@color) when (lightness(@color) > 50%) {
+    border-color: lighten(@color, 13%);
+}
+
+.borderColorI (@color) when (lightness(@color) =< 50%) {
+    border-color: darken(@color, 13%);
+}
+
+.pageWidth(@maxWidth: @LayoutMaxWidth, @minWidth: @LayoutMinWidth, @padding: 10px) {
+    padding-left: @padding;
+    padding-right: @padding;
+    margin: 0 auto;
+    min-width: (@minWidth - (2 * @padding));
+    max-width: (@maxWidth - (2 * @padding));
+}
+
+.transitionDelay(@delay) {
+    -webkit-transition-delay: @delay;
+    -moz-transition-delay: @delay;
+    -ms-transition-delay: @delay;
+    -o-transition-delay: @delay;
+    transition-delay: @delay;
+}
+
+.resetAction() {
+    border: none;
+    border-radius: 0;
+    background: none;
+    margin: 0;
+    padding: 0;
+    box-shadow: none;
+    text-shadow: none;
+    outline: none;
+}
+
+.actionLink() {
+    display: inline;
+    color: @link;
+    text-decoration: none;
+    &:focus,
+    &:active,
+    &:hover {
+        color: @linkHover;
+    }
+}
+
+.colorA(@c1, @c2) {
+    color: @c1;
+    > span {
+        color: @c1;
+    }
+    &:hover,
+    &:hover > span {
+        color: @c2;
+    }
+}
+
+.fieldStyle() {
+    margin: 0 0 10px;
+    &:last-child {
+        margin-bottom: 0;
+    }
+    .nested {
+        .field {
+            margin: 5px 0;
+        }
+        padding: 0 0 0;
+    }
+}
+
+.labelStyle() {
+    text-transform: uppercase;
+    font-weight: 600;
+    padding: 0 0 5px;
+}
+
+.formInline(@labelWidth: 50%) {
+    > .field {
+        .clearfix();
+    }
+    > .field > .control,
+    > .field > .label {
+        margin: 0;
+        float: left;
+        width: @labelWidth;
+        .box-sizing();
+    }
+    > .field > .control {
+        width: 100% - @labelWidth;
+    }
+    > .field.no-label {
+        .control {
+            margin-left: @labelWidth;
+        }
+    }
+}
+
+.profileBlockWithBg {
+    .box-sizing();
+    background: @primary1;
+    padding: 30px;
+}
\ No newline at end of file
diff --git a/app/design/frontend/magento_plushe/less/styles.less b/app/design/frontend/magento_plushe/less/styles.less
new file mode 100644
index 0000000000000000000000000000000000000000..e9cdfbb7f61e44bb7042917191004057b239c0a2
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/styles.less
@@ -0,0 +1,5180 @@
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+
+.normalize();
+
+@import "clearless/all"; // import ClearLess
+@import "styles/base";
+@import "lib/snippets";
+@import "lib/buttons";
+@import "lib/forms";
+@import "lib/grids";
+@import "lib/icons";
+@import "lib/messages";
+@import "lib/navigation";
+@import "lib/sections";
+@import "vars";
+@import "styles/magento";
+
+strong {
+    font-weight: 700;
+}
+
+.items {
+    .resetList();
+}
+
+/*
+    Forms
+-------------------------------------- */
+.field.required > .label > span:first-child:after {
+    content: ' *';
+    color: @requiredField;
+}
+
+/*
+    Magento_Page
+-------------------------------------- */
+html, body, button, input, select, textarea {
+    color: @textColor;
+    font: 400 14px/1.33 "sourcesanspro";
+}
+
+html {
+    background: @footerBg;
+}
+
+body {
+    position: relative;
+}
+
+.page.wrapper {
+    background: @pageMainBg;
+}
+
+/*
+    Page Layout
+-------------------------------------- */
+.columns {
+    .pageWidth();
+}
+
+.page.main {
+    .clearfix();
+    clear: both;
+    padding: 30px 0;
+}
+
+.page.title {
+    .clearfix();
+    margin-bottom: 30px;
+    .title {
+        display: inline;
+        margin: 0;
+        line-height: 1.2;
+        font-weight: @baseFontWeightLighter;
+        font-size: 30px;
+        color: @primary5;
+    }
+    .action {
+        float: right;
+        &:extend(.primary.action all);
+    }
+}
+
+.page.main > .page.title {
+    .pageWidth();
+    margin-bottom: 30px;
+}
+
+.column.main {
+    min-height: 500px;
+}
+
+.column.left,
+.column.right {
+    .box-sizing();
+    min-height: 1px;
+}
+
+.col1-layout {
+    .column.main {
+        .column(12);
+    }
+}
+
+.col2-left-layout {
+    .column.main {
+        float: right !important;
+        .column(10);
+    }
+    .column.left {
+        .column(2);
+        padding-right: 12px;
+    }
+}
+
+.col2-right-layout {
+    .column.main {
+        .column(10);
+    }
+    .column.right {
+        .column(2);
+        padding-left: 12px;
+    }
+}
+
+.col3-layout {
+    .column.main {
+        .clearfix();
+        .column(8);
+        float: none !important;
+        display: inline-block !important;
+        vertical-align: top;
+    }
+    .column.left {
+        .column(2);
+        float: left;
+        padding-right: 12px;
+    }
+    .column.right {
+        .column(2);
+        float: none !important;
+        display: inline-block !important;
+        padding-left: 12px;
+    }
+}
+
+/*
+    Header
+-------------------------------------- */
+.header {
+    background-color: @headerBg;
+    background-image: @headerBgImage;
+    background-repeat: repeat;
+    background-position: 0;
+    border-bottom: 1px solid;
+    .borderColor(@headerBg);
+    padding: 15px 0;
+    > .content {
+        .pageWidth();
+        .clearfix();
+        .links {
+            .resetList();
+            margin-bottom: 5px;
+            li {
+                margin-left: 20px;
+                display: inline;
+                text-transform: capitalize;
+            }
+            a {
+                .colorA(@primary5, @secondary1);
+            }
+        }
+        text-align: right;
+    }
+
+    .panel {
+        .pageWidth();
+        .clearfix();
+        margin-bottom: 15px;
+        text-align: right;
+    }
+}
+
+.logo {
+    font-family: "marvel";
+    font-style: normal;
+    font-weight: @baseFontWeight;
+    font-size: 55px;
+    display: block;
+    float: left;
+    line-height: 1;
+    text-align: center;
+    img {
+        display: inline-block;
+        vertical-align: middle;
+        margin: 0 auto;
+    }
+    span {
+        display: inline-block;
+        vertical-align: middle;
+        margin-left: 15px;
+        color: @primary5;
+        margin-top: -8px;
+    }
+    &:active {
+        outline: 0;
+    }
+}
+
+/*
+    Header Banner
+-------------------------------------- */
+.header .panel .widget {
+    display: inline-block;
+    text-align: left;
+}
+
+.banner-header:visited,
+.banner-header:hover,
+.banner-header {
+    font-size: @baseFontSizeBigger;
+    text-transform: uppercase;
+    color: @secondary1;
+}
+
+/*
+    Search
+-------------------------------------- */
+.block.search {
+    float: right;
+    > .content {
+        white-space: nowrap;
+    }
+    .field,
+    .actions,
+    .field .control {
+        float: left;
+    }
+    .actions {
+        margin-right: 0;
+    }
+    .search.autocomplete {
+        background: @primary7;
+        border: 1px solid @primary3;
+        border-width: 0 1px 1px;
+        border-radius: 0 0 5px 5px;
+        z-index: 5;
+        ul {
+            .resetList();
+            li {
+                border-top: 1px solid @primary2;
+                cursor: pointer;
+                padding: 5px 40px 5px 10px;
+                position: relative;
+                text-align: left;
+                white-space: normal;
+                &:first-child {
+                    border-top: none;
+                }
+                &:hover {
+                    background: @primary1;
+                }
+                .amount {
+                    color: @primary4;
+                    font-weight: 600;
+                    position: absolute;
+                    right: 7px;
+                    top: 6px;
+                }
+            }
+        }
+    }
+}
+
+/*
+    Navigation
+-------------------------------------- */
+.navigation {
+    z-index: 4;
+    > ul > .level-top {
+        &.hover,
+        &:hover {
+            > .submenu {
+                z-index: 3;
+            }
+        }
+        &.more {
+            > .submenu {
+                background: @primary1;
+                > ul {
+                    .pageWidth();
+                    position: relative;
+                }
+            }
+            &.hover {
+                > .submenu {
+                    border-bottom: 1px solid @primary3;
+                    overflow: visible !important;
+                }
+            }
+        }
+    }
+}
+
+.navigation > ul,
+.navigation > ul > .level0 > .submenu > ul.level0 {
+    .pageWidth();
+    padding-left: 0;
+    padding-right: 0;
+}
+
+@media only screen and (max-width: 640px) {
+    .navigation > ul {
+        min-width: 100%;
+        max-width: 100%;
+    }
+    .action.toggle.nav {
+        top: 100%;
+    }
+}
+
+/*
+    General block
+-------------------------------------- */
+.column.main .block,
+.sidebar .block {
+    margin-bottom: 45px;
+    > .title {
+        margin-bottom: 15px;
+        strong {
+            line-height: 1.2;
+            font-weight: @baseFontWeightLighter;
+            font-size: 20px;
+        }
+    }
+    &.filter {
+        .item {
+            margin-bottom: 10px;
+        }
+    }
+}
+
+.sidebar .block > .title strong {
+    font-size: 18px;
+}
+
+/*
+    Breadcrumbs
+-------------------------------------- */
+.breadcrumbs {
+    .pageWidth();
+    margin-top: 30px;
+}
+
+/*
+    Footer
+-------------------------------------- */
+.footer {
+    background: @footerBg;
+    border-top: 1px solid;
+    .borderColor(@footerBg);
+    padding: 30px 0 80px;
+    > .content {
+        .pageWidth();
+        text-align: left;
+    }
+    .links {
+        ul {
+            .resetList();
+        }
+        display: inline-block;
+        padding: 0;
+        margin: 1px 3px 19px 0;
+        li {
+            list-style: none;
+            list-style-image: none;
+            margin: 0;
+            padding: 0;
+            display: inline;
+            &:after {
+                content: ' | ';
+            }
+            &:last-child:after {
+                content: '';
+            }
+        }
+        + .links li:first-child:before {
+            content: ' | ';
+        }
+        a {
+            .colorA(@primary5, @secondary1);
+        }
+    }
+    .copyright {
+        font-size: @base-font-size;
+        display: block;
+        padding-top: 10px;
+    }
+    .bugs {
+        margin-top: 25px;
+        font-size: 11px;
+        a {
+            font-weight: bold;
+            &:before {
+                content: ' - ';
+                display: inline-block;
+            }
+
+        }
+    }
+}
+
+/*
+    Switchers
+-------------------------------------- */
+.switcher {
+    display: inline-block;
+    text-align: left;
+    .header .panel & {
+        margin-right: 25px;
+        &:last-child {
+            margin-right: 0;
+        }
+    }
+    font-size: 11px;
+    vertical-align: middle;
+    .label {
+        display: none;
+    }
+    strong {
+        color: @primary5;
+        font-weight: 600;
+    }
+    .options {
+        display: inline-block;
+        position: relative;
+        z-index: 1;
+        > ul {
+            .resetList();
+            margin: 0;
+            padding: 5px 10px;
+            position: absolute;
+            top: 100%;
+            right: 0;
+            margin-left: -11px;
+            min-width: 100%;
+            float: left;
+            background: @primary1;
+            border: 1px solid darken(@headerBg, 5%);
+            visibility: hidden;
+            opacity: 0;
+            .transition(visibility 0s linear 2s);
+            li {
+                margin: 5px 0;
+                white-space: nowrap;
+            }
+        }
+        &.active {
+            z-index: 999;
+            > ul {
+                visibility: visible;
+                opacity: 1;
+                .transitionDelay(0s);
+            }
+        }
+        &.active strong,
+        &:hover strong {
+            color: @primary6;
+        }
+    }
+}
+
+.action.switch {
+    .resetAction();
+    vertical-align: top;
+    color: @primary5;
+    span {
+        .iconAfter(@content: '\e02c', @font: "icons");
+        .iconHideText();
+        &:after {
+            line-height: 12px;
+        }
+    }
+    &:focus,
+    &:hover,
+    &.active {
+        color: @primary6;
+    }
+    &.active span:after {
+        content: "\e029";
+    }
+    .no-js &:focus + ul {
+        visibility: visible;
+        opacity: 1;
+        .transitionDelay(0s);
+    }
+}
+
+/*
+    Global Notices
+-------------------------------------- */
+.notice.global.site {
+    .box-sizing();
+    position: absolute;
+    width: 100%;
+    padding: 8px;
+    background: #4d5d64;
+    color: #fff;
+    top: 0;
+    left: 0;
+    text-align: center;
+    p {
+        margin: 0;
+    }
+}
+
+/*
+    Reviews
+-------------------------------------- */
+@starSize : 16px;
+.reviews.summary {
+    line-height: @starSize;
+    .action {
+        font-size: @baseFontSizeMiddle;
+    }
+    .reviews.actions {
+        font-size: @baseFontSizeMiddle;
+        display: inline;
+    }
+    .action.view {
+        span:before {
+            content: ' ';
+        }
+    }
+    .action.view + .action.add {
+        &:before {
+            content: '\00A0|\00A0\00A0';
+            display: inline-block;
+            color: @link;
+        }
+    }
+    &.short:not(.no-rating) {
+        .action.view {
+            span {
+                display: none;
+            }
+            &:before {
+                content: '(';
+                display: inline-block;
+            }
+            &:after {
+                content: ')';
+                display: inline-block;
+            }
+        }
+    }
+}
+
+.block.reviews.dashboard .rating,
+.reviews.summary .rating {
+    width: 5 * @starSize;
+    margin-right: 3px;
+    line-height: 1;
+    color: fade(@secondary1, 30%);
+    display: inline-block;
+    vertical-align: top;
+    margin-top: -1px;
+    > span {
+        display: block;
+        overflow: hidden;
+        color: @secondary1;
+        height: 0;
+        padding-top: @starSize;
+        line-height: 1;
+        margin-top: -@starSize;
+        &:before {
+            margin-top: -@starSize;
+        }
+    }
+    &:before,
+    > span:before {
+        display: block;
+        top: 0;
+        left: 0;
+        width: 100%;
+        font-family: "icons";
+        content: @icon-star@icon-star@icon-star@icon-star@icon-star;
+        font-style: normal;
+        font-size: @starSize;
+        speak: none;
+        font-weight: normal;
+        -webkit-font-smoothing: antialiased;
+    }
+}
+
+/*
+    Customer Reviews
+-------------------------------------- */
+.block.reviews.list {
+    margin: 0 0 30px -20px;
+    padding: 0;
+    > .title {
+        display: none;
+    }
+    .item.review {
+        padding: 15px;
+        .review.title {
+            font-weight: 600;
+            display: block;
+            margin: 15px 0;
+        }
+        &:nth-child(odd) {
+            background: @primary1;
+        }
+    }
+    .review.details {
+        .author {
+            strong {
+                text-transform: uppercase;
+                font-weight: 600;
+            }
+        }
+        .review.date {
+            font-size: 12px;
+        }
+        p {
+            margin: 5px 0;
+            span {
+                display: none;
+            }
+        }
+    }
+}
+
+.block.add.review {
+    margin: 0 0 30px -20px;
+    padding: 20px;
+    background: @primary1;
+    .title {
+        display: none;
+    }
+    .fieldset {
+        .formFieldset();
+        border: 0;
+        padding: 0;
+        margin: 0;
+        > .legend {
+            .box-sizing();
+            float: left;
+            width: 100%;
+            margin: 0 0 20px;
+            padding: 10px 0 30px;
+            border-bottom: 1px solid;
+            .borderColor(@primary1);
+            & + br {
+                clear: both;
+                display: block !important;
+            }
+            span {
+                line-height: 1.2;
+                font-weight: @baseFontWeightLighter;
+                font-size: 20px;
+            }
+            strong {
+                margin-left: 20px;
+                font-size: @baseFontSize;
+                font-weight: 600;
+            }
+        }
+        > .field:not(.ratings) {
+            .formField();
+            .fieldStyle();
+            > .label {
+                padding: 0 0 5px;
+            }
+        }
+    }
+    .action.submit {
+        &:extend(.primary.action all);
+    }
+    .action.cancel {
+        .resetAction();
+        .actionLink();
+        position: absolute;
+        left: 100%;
+        text-decoration: underline;
+        text-transform: uppercase;
+        margin-left: 20px;
+        margin-top: 10px;
+    }
+    .actions,
+    .field:not(.ratings) {
+        width: 60%;
+    }
+    .actions {
+        padding-top: 20px;
+        text-align: right;
+        position: relative;
+        z-index: 1;
+    }
+}
+
+/*
+    Review details
+-------------------------------------- */
+.review.view {
+    .product.name {
+        display: inline-block;
+        margin: 0;
+    }
+    .product.details {
+        float: left;
+        margin-right: 30px;
+    }
+    .product.photo {
+        display: block;
+        margin-bottom: 30px;
+    }
+    .review.details {
+        margin: 30px 0;
+        display: table;
+
+        .ratings.summary {
+            margin-bottom: 30px;
+            strong {
+                font-weight: 600;
+                display: block;
+                margin: 0 0 15px;
+            }
+            .item {
+                display: table-row;
+            }
+            .label {
+                padding: 0 0 10px;
+                padding-right: 10px;
+                display: table-cell;
+                &:after {
+                    content: ': ';
+                }
+            }
+        }
+        .review.date {
+            font-size: @baseFontSizeMiddle;
+        }
+        .review.title {
+            font-weight: 600;
+            font-size: @baseFontSizeBigger;
+            margin: 0 0 15px;
+        }
+    }
+}
+
+.customer.review.view + .actions {
+    clear: both;
+}
+
+/*
+    Messages
+-------------------------------------- */
+.page.messages {
+    .pageWidth();
+    margin: 15px auto;
+}
+
+/*
+    Magento_Checkout
+    One page
+-------------------------------------- */
+.block.progress.onepage {
+    float: left;
+    width: 200px;
+    dt {
+        font-size: @baseFontSizeBigger;
+        font-weight: @baseFontWeight;
+        margin: 0 0 10px 0;
+        a {
+            font-size: @baseFontSize;
+        }
+    }
+    dd.complete {
+        padding: 0;
+        margin: 0 0 30px;
+    }
+    address {
+        font-style: normal;
+    }
+}
+
+.opc.wrapper {
+    float: right;
+    width: 725px;
+    > .opc {
+        .resetList();
+        .section {
+            margin-bottom: 4px;
+            > .step-title {
+                padding: 15px 20px;
+                line-height: 1;
+                background: @secondary1;
+                font-size: 22px;
+                h2 {
+                    font-weight: @baseFontWeight;
+                    font-size: 18px;
+                    margin: 0;
+                    padding: 0;
+                    color: #fff;
+                }
+                .number {
+                    display: none;
+                }
+            }
+            &.active {
+                > .step-title {
+                    background: @primary1;
+                    margin-bottom: 0;
+                    h2 {
+                        color: @primary6;
+                    }
+                }
+            }
+            &.allow > .step-title {
+                cursor: pointer;
+                h2:after {
+                    display: block;
+                }
+            }
+            > .step {
+                padding: 0 20px 20px;
+                background: @primary1;
+                &:before {
+                    content: '';
+                    border-top: 3px solid @primary2;
+                    display: block;
+                    margin-bottom: 20px;
+                }
+            }
+        }
+    }
+    .form:not(.login) {
+        .fieldset {
+            .formCols();
+            padding: 0;
+            margin: 20px 0;
+            border: 0;
+        }
+        .field {
+            .fieldStyle();
+            &:not(.choice) {
+                .label {
+                    display: block;
+                    padding-bottom: 5px;
+                }
+            }
+        }
+        .actions {
+            .clearfix();
+            text-align: right;
+            button.action {
+                float: right;
+                &:extend(.primary.action all);
+            }
+            .secondary {
+                padding-top: 10px;
+                clear: right;
+                float: right;
+            }
+        }
+        .field.fullname + .field.company,
+        .field.name-lastname + .field.company,
+        .field.country,
+        .field.taxvat {
+            margin: 0 40% 30px 0;
+        }
+        .field.confirm,
+        .field.password {
+            margin-top: 20px;
+            margin-bottom: 20px;
+        }
+        .field.choice {
+            width: 100%;
+            display: block;
+        }
+        .field.persistent,
+        .field.save {
+            margin: 20px 0 0;
+        }
+        .field.addresses {
+            margin-bottom: 20px;
+        }
+        &:after {
+            content: attr(data-hasrequired);
+            display: block;
+            letter-spacing: normal;
+            word-spacing: normal;
+            color: @secondary1;
+        }
+    }
+}
+
+.opc.loading .active {
+    position: relative;
+    z-index: 1;
+    &:before {
+        content: '';
+        display: block;
+        position: absolute;
+        top: 0;
+        left: 0;
+        width: 100%;
+        height: 100%;
+        background: rgba(255, 255, 255, 0.1);
+    }
+    .actions .action {
+        visibility: hidden;
+        width: 1px;
+        overflow: hidden;
+    }
+}
+
+/*
+    Load Indicator
+-------------------------------------- */
+.load.indicator {
+    display: inline-block;
+    padding: 8px;
+    vertical-align: middle;
+    span {
+        display: block;
+        line-height: 16px;
+        &:before {
+            content: '';
+            margin-right: 5px;
+            display: inline-block;
+            width: 16px;
+            height: 16px;
+            background: url(../images/loader.gif) no-repeat 0 0;
+            background-color: @secondary1;
+            vertical-align: top;
+        }
+    }
+}
+
+/*
+    Step Login
+-------------------------------------- */
+.step.login.wrapper {
+    .clearfix();
+    position: relative;
+    z-index: 1;
+    padding-bottom: 70px;
+    .block {
+        .column(6);
+        .box-sizing();
+        .fieldset {
+            border: 0;
+            margin: 0;
+            padding: 0;
+            .field {
+                width: 100%;
+            }
+        }
+        &.guest {
+            padding-left: 50px;
+            &:before {
+                content: '';
+                border-left: 1px solid @primary2;
+                position: absolute;
+                top: 0;
+                margin-left: -25px;
+                bottom: 20px;
+            }
+        }
+    }
+    button.action:not(.reload) {
+        &:extend(.primary.action all);
+    }
+    .actions {
+        position: absolute;
+        bottom: 0;
+        padding: 20px 0;
+        text-align: right;
+        margin: 0;
+        width: 50%;
+        .secondary {
+            font-size: @baseFontSizeMiddle;
+            margin-top: .5em;
+            line-height: 1.4em;
+            margin-bottom: -1.9em;
+        }
+    }
+    .guest .actions {
+        margin-left: -50px;
+    }
+}
+
+.fieldset.guest {
+    > .field {
+        .fieldStyle();
+    }
+}
+
+/*
+    Step Review
+-------------------------------------- */
+.checkout.submit.order {
+    .actions {
+        margin-top: 15px;
+        .clearfix();
+        .primary {
+            float: right;
+        }
+        .secondary {
+            float: left;
+            line-height: 32px;
+        }
+    }
+}
+
+.order.data.items {
+    tfoot tr:first-child td {
+        border-top: 3px solid @primary2;
+        padding-top: 15px;
+    }
+    tr.total td {
+        padding-top: 5px;
+        padding-bottom: 5px;
+        text-align: right;
+    }
+    tr.total:last-child td {
+        padding-bottom: 20px;
+    }
+    tr.grand.total td {
+        vertical-align: middle;
+    }
+    tr.grand.total .amount {
+        font-size: 24px;
+        color: @secondary1;
+    }
+}
+
+.order.review.data {
+    th.col.price,
+    th.col.subtotal {
+        text-align: right;
+        padding-right: 10px;
+    }
+    th.col.item {
+        text-align: left;
+        padding-left: 20px;
+    }
+}
+
+/*
+    Magento_Checkout
+    Multishipping
+-------------------------------------- */
+.multicheckout {
+    &.progress {
+        .resetList();
+        float: left;
+        width: 200px;
+        li {
+            font-size: 16px;
+            font-weight: 400;
+            margin: 0 0 10px 0;
+            &.active {
+                font-weight: bold;
+            }
+        }
+        + .form.address.edit {
+            float: right;
+            width: 725px;
+        }
+    }
+    &.form.address,
+    &.form.billing,
+    &.form.shipping,
+    &.form.overview,
+    &.success,
+    &.change.billing {
+        float: right;
+        width: 725px;
+    }
+    .title {
+        .clearfix();
+        margin: 0 0 30px;
+        > strong {
+            font-size: 20px;
+            font-weight: 400;
+            margin: 4px 0 0;
+        }
+    }
+    .subtitle {
+        display: block;
+        .clearfix();
+        margin: 0 0 20px;
+        > span {
+            font-size: 18px;
+            font-weight: normal;
+            margin: 4px 0 0;
+        }
+    }
+    .title,
+    .subtitle {
+        .action {
+            font-weight: 400;
+            font-size: 14px;
+            margin-left: 20px;
+            text-decoration: underline;
+            display: inline-block;
+            text-transform: lowercase;
+            &:hover {
+                text-decoration: none;
+            }
+        }
+    }
+    .content {
+        .clearfix();
+        > .block {
+            margin-bottom: 20px;
+            &:last-child {
+                margin-bottom: 0;
+            }
+        }
+    }
+    address {
+        font-style: normal;
+    }
+// Shipping metods
+    > .block.shipping .box,
+    > .block.billing .box {
+        &:extend(.profileBlockWithBg all);
+        margin-bottom: 20px;
+        &:last-child {
+            margin-bottom: 0;
+        }
+    }
+    > .block.shipping,
+    &.overview > .block.billing {
+        .box {
+            &.address {
+                float: left;
+                width: 49%;
+            }
+            &.method {
+                float: right;
+                width: 49%;
+            }
+            &.items {
+                clear: both;
+            }
+        }
+    }
+// Overview
+    &.overview {
+        > .block.billing {
+            .clearfix();
+            .box.method {
+                p {
+                    margin: 0 0 10px;
+                }
+                th,
+                td {
+                    font-size: 14px;
+                    padding: 0;
+                }
+            }
+        }
+        > .block.shipping {
+            .content {
+                margin-bottom: 20px;
+                &:last-child {
+                    margin-bottom: 0;
+                }
+            }
+        }
+        .checkout.agreements {
+            .resetList();
+            margin: 10px 0;
+            .item {
+                margin: 0 0 10px;
+                &:last-child {
+                    margin: 0;
+                }
+            }
+            .agreement {
+                background-color: @primary1;
+                border: 1px solid @primary2;
+                font-size: 11px;
+                overflow: auto;
+                margin: 0 0 10px;
+                padding: 15px;
+            }
+        }
+        > .checkout.review {
+            .grand.total {
+                margin: 15px 0;
+                text-align: right;
+                .label {
+                    font-size: 18px;
+                    font-weight: 400;
+                }
+                .price {
+                    color: @secondary1;
+                    font-size: 24px;
+                    font-weight: 700;
+                }
+            }
+        }
+    }
+
+// Oher goods (can't be shipped: virtual, downloadable)
+    .block.other .content {
+        &:extend(.profileBlockWithBg all);
+    }
+
+// Change billing
+    &.change.billing {
+        .box {
+            .box-sizing();
+            background: @primary1;
+            float: left;
+            margin-bottom: 20px;
+            margin-left: 2%;
+            padding: 30px;
+            width: 49%;
+            &.odd {
+                clear: left;
+                margin-left: 0;
+            }
+            .actions {
+                margin: 15px 0 0;
+            }
+        }
+        .actions {
+             clear: left;
+        }
+    }
+
+// Actions
+    .actions {
+        .clearfix();
+        margin: 20px 0;
+    }
+    &.change.billing .actions {
+        margin-top: 0;
+    }
+    .action {
+        &.update {
+            &:extend(.secondary.action all);
+        }
+        &.back {
+            float: left;
+            margin: 9px 0 0;
+            span:before {
+                content: "\00AB\00A0";
+            }
+        }
+        &.continue,
+        &.submit {
+            &:extend(.primary.action all);
+            &.disabled {
+                opacity: 0.3;
+                &:hover {
+                    background: @primaryActionBg;
+                }
+            }
+        }
+        &.add {
+            &:extend(.primary.action all);
+            float: right;
+            text-decoration: none;
+            text-transform: uppercase;
+        }
+    }
+    &.success .action.continue {
+        &:extend(.button.link all);
+        text-decoration: none;
+        text-transform: none;
+    }
+
+// Tables
+    .product.name {
+        margin-bottom: 0;
+    }
+    .items.data {
+        td.col.address {
+            padding-top: 10px;
+        }
+        td.col.delete,
+        td.col.product {
+            padding-top: 18px;
+        }
+        .col {
+            &.item {
+                padding-left: 0;
+                text-align: left;
+            }
+        }
+        th.col {
+            &.item,
+            &.qty {
+                padding-bottom: 5px;
+            }
+        }
+        .mark,
+        .amount {
+            text-align: right;
+        }
+        tfoot tr {
+            &.total {
+                &:first-child td {
+                    border-top: 3px solid #e5e5e5;
+                    padding-top: 15px;
+                }
+                &:last-child td {
+                    border-bottom: 0;
+                }
+                td {
+                    padding-top: 5px;
+                    padding-bottom: 5px;
+                    text-align: right;
+
+                }
+                &.grand {
+                    td {
+                        vertical-align: middle;
+                    }
+                    .amount {
+                        color: @secondary1;
+                        font-size: 24px;
+                    }
+                }
+            }
+        }
+        .applicable {
+            padding-top: 7px;
+        }
+    }
+    .block .items.data {
+        tr td {
+            &:first-child {
+                padding-left: 0;
+            }
+            &:last-child {
+                padding-right: 0;
+            }
+        }
+    }
+    .shipping .items.data tr:last-child td {
+        border-bottom: 1px solid @primary2;
+    }
+    .sp-methods,
+    .items.methods {
+        margin: 0;
+        dt {
+            margin: 0;
+        }
+        dd {
+            margin: 0;
+            padding: 0;
+            ul {
+                margin: 0 0 15px;
+                padding: 10px;
+            }
+        }
+    }
+    &.form.address {
+        .col.address select {
+            max-width: 450px;
+        }
+    }
+}
+
+.checkout-multishipping-address-newshipping,
+.checkout-multishipping-address-editshipping {
+    .form.address.edit {
+        float: right;
+        width: 725px;
+    }
+}
+
+.block.gift.message {
+    margin: 30px 0 0;
+    .title {
+        font-size: 16px;
+        font-weight: 400;
+        margin-bottom: 15px;
+    }
+}
+
+/*
+    Magento_Checkout
+    Gift Message
+-------------------------------------- */
+.gift.message {
+    > .legend {
+        font-size: 16px;
+        margin: 0 0 20px;
+    }
+    .block.items {
+        .box-sizing();
+        border: 1px solid @primary2;
+        height: 310px;
+        overflow: auto;
+        padding: 20px;
+
+    }
+    dt {
+        margin: 30px 0 0;
+        &:first-child {
+            margin: 0;
+        }
+        .title {
+            font-size: 16px;
+            margin: 0 0 15px;
+        }
+        > .price {
+            margin: 0 0 10px;
+        }
+    }
+    dd {
+        margin: 20px 0 0 20px;
+    }
+    .field.choice input {
+        margin-right: 5px;
+        margin-top: 2px;
+        vertical-align: top;
+    }
+    .design {
+        .clearfix();
+        margin: 10px 0 0;
+        img {
+            height: 75px;
+            width: 75px;
+            float: left;
+            margin-right: 15px;
+        }
+        > .price {
+            float: left;
+        }
+    }
+    .field.gift.wrapping {
+        .label {
+            display: block;
+            padding-bottom: 5px;
+        }
+        .control {
+            select {
+                width: 100%;
+            }
+        }
+    }
+    .activate.message {
+        display: inline-block;
+        margin: 10px 0 0;
+        + div {
+            .fieldset {
+                margin-top: 0;
+            }
+        }
+    }
+    .field.gift.wrapping .design > .price,
+    dt > .price {
+        > .price {
+            display: block;
+            > span {
+                display: inline-block;
+            }
+        }
+    }
+    .no-display {
+        display: none;
+    }
+    .options.order {
+        .field.gift.wrapping,
+        .field.text {
+            width: 100%;
+        }
+    }
+    .options.individual {
+        ol {
+            .resetList();
+        }
+        li {
+            .clearfix();
+            border-bottom: 1px solid @primary2;
+            margin: 0 0 15px;
+            padding: 0 0 15px;
+            overflow: hidden;
+        }
+        .number {
+            border-bottom: 1px solid @primary2;
+            color: @primary4;
+            margin: 0 0 15px;
+            padding: 0 0 5px;
+        }
+        .product {
+            float: left;
+            margin-right: 20px;
+            text-align: center;
+            > .product {
+                float: none;
+                margin: 0;
+            }
+            .img {
+                margin-bottom: 5px;
+            }
+        }
+        .options-items-container {
+            width: 100%;
+            .field {
+                .box-sizing();
+                width: 100%;
+            }
+        }
+        .field.text {
+            width: 100%;
+        }
+        .item.options {
+            overflow: hidden;
+        }
+    }
+    .extra-options-container {
+        margin: 10px 0 0;
+        .field.choice {
+            margin: 0 0 10px;
+        }
+    }
+    .multicheckout & {
+        margin: 20px 0;
+        .fieldset {
+            margin: 20px 0;
+        }
+        .block.message {
+            margin: 0;
+            .fieldset {
+                margin: 0;
+            }
+        }
+        .field {
+            display: inline-block;
+            padding-right: 20px;
+            vertical-align: top;
+            width: 50%;
+        }
+    }
+}
+.data.table .gift.wrapping {
+    font-size: 13px;
+    margin: 0;
+    dt {
+        font-weight: 600;
+        margin: 5px 0 0;
+    }
+    dd {
+        margin: 0 0 5px;
+    }
+}
+
+/*
+    Magento_Checkout
+    Shopping Cart
+-------------------------------------- */
+.cart.container {
+    .clearfix();
+    position: relative;
+    z-index: 1;
+}
+
+.cart.main.actions {
+    padding: 20px 0;
+    .action.continue {
+        position: absolute;
+        text-decoration: underline;
+        right: 0;
+        top: 3px;
+    }
+    .action.update,
+    .action.clear {
+        &:extend(.secondary.action all);
+    }
+}
+
+.items.data {
+    width: 100%;
+    thead tr:last-child th {
+        padding-bottom: 10px;
+    }
+    th.col.item > span {
+        display: none;
+    }
+    td.col.qty {
+        width: 40px;
+        padding-top: 20px;
+        text-align: center;
+        .review & {
+            padding-top: @baseFontSizeBigger;
+        }
+    }
+    th.col.qty {
+        text-transform: uppercase;
+    }
+    input.qty {
+        width: 50px;
+        text-align: center
+    }
+    td.col.price,
+    td.col.subtotal {
+        text-align: right;
+    }
+    .product.photo {
+        padding-right: 20px;
+        display: table-cell;
+        width: 1%;
+        vertical-align: top;
+    }
+    .product.details {
+        display: table-cell;
+        width: 99%;
+        vertical-align: top;
+    }
+    .item.actions {
+        text-align: right;
+        div.actions {
+            padding-bottom: 30px;
+        }
+    }
+    td {
+        border-left:0;
+        border-right:0;
+        padding: 26px 10px 10px;
+        vertical-align: top;
+        background: transparent;
+    }
+    td:first-child {
+        padding-left: 20px;
+    }
+    td:last-child {
+        padding-right: 20px;
+    }
+    tbody:nth-child(even) tr {
+        background: @primary1;
+    }
+    th {
+        border-left:0;
+        border-right:0;
+        text-align: center;
+        font-weight: @baseFontWeight;
+        font-size: @baseFontSize;
+        vertical-align: top;
+    }
+    tr:first-child th {
+        font-weight: @baseFontWeight;
+        font-size: @baseFontSizeBigger;
+    }
+    .item.actions td {
+        padding: 0 20px 10px;
+        line-height: 16px;
+        .action {
+            margin-left: 20px;
+        }
+        .action.towishlist {
+            font-size: @baseFontSize;
+        }
+        .action.delete {
+            vertical-align: top;
+            margin-top: 0;
+        }
+        &:before {
+            content: '';
+            border-top: 1px solid @primary2;
+            display: block;
+            height: 0;
+            overflow: hidden;
+            margin: 0 0 10px;
+        }
+    }
+    .item.options {
+        dt {
+            font-weight: @baseFontWeight;
+            display: inline;
+            margin-right: 10px;
+            float: left;
+            clear: left;
+            &:after {
+                content: ': ';
+            }
+        }
+        dd {
+            font-weight: @baseFontWeightLighter;
+            margin: 0 0 10px 10px;
+            padding: 0;
+        }
+
+    }
+}
+
+.cart.table.wrapper {
+    float: left;
+    width: 665px;
+}
+
+.cart.summary {
+    position: relative;
+    z-index: 1;
+    margin-top: 33px;
+    background: @primary1;
+    display: inline-block;
+    width: 290px;
+    padding: 20px;
+    margin-left: 10px;
+    .summary.title {
+        font-size: 20px;
+        font-weight: 200;
+        display: block;
+        border-bottom: 3px solid @primary2;
+        padding-bottom: 15px;
+    }
+    .block {
+        margin-bottom: 0;
+        border-bottom: 1px solid @primary2;
+        > .title {
+            cursor: pointer;
+            padding: 10px 5px;
+            margin: 0;
+            line-height: 16px;
+            strong {
+                font-size: @baseFontSizeMiddle;
+                font-weight: 600;
+                &:after {
+                    content: @icon-expand;
+                    font-family: "icons";
+                    float: right;
+                    font-weight: @baseFontWeight;
+                    font-size: @baseFontSizeBigger;
+                    line-height: 16px;
+                }
+            }
+            &.active strong:after {
+                content: @icon-collapse;
+            }
+
+        }
+        > .content {
+            display: none;
+            padding: 15px 15px 20px;
+        }
+        &.active {
+            > .content {
+                display: block;
+            }
+        }
+        .fieldset {
+            padding: 0;
+            margin: 0;
+            border: 0;
+            .field {
+                margin: 0 0 10px;
+            }
+        }
+        font-size: @baseFontSizeMiddle;
+        input[type="text"] {
+            padding: 0 5px;
+            font-size: @baseFontSizeMiddle;
+            height: 30px;
+        }
+        .field:not(.choice) {
+            .label {
+                padding: 0 0 5px;
+                display: block;
+            }
+        }
+        select {
+            padding: 5px 5px 4px;
+            font-size: @baseFontSizeMiddle;
+        }
+        .action {
+            &:extend(.primary.action all)
+        ;
+            padding: 6px 11px 5px;
+            span {
+                font-size: @baseFontSizeMiddle;
+                line-height: 12px;
+            }
+            &.check span {
+                .actionLink();
+            }
+        }
+    }
+}
+
+.cart.container {
+    & > .summary.sticky {
+        position: fixed;
+        display: inline-block !important;
+    }
+    & > .summary.bottom {
+        position: absolute;
+        vertical-align: bottom;
+        bottom: 0;
+    }
+}
+
+.cart &>.summary.fixed,
+.cart.container &>.summary &>.container.fixed {
+    position: fixed;
+    top: 0;
+}
+
+.cart.table.wrapper.detailed + .cart.summary {
+    margin-top: 54px;
+}
+
+.block.shipping {
+    .content {
+        .clearfix();
+    }
+    .fieldset.estimate {
+        .actions {
+            display: table-cell;
+            width: 1%;
+            white-space: nowrap;
+            vertical-align: bottom;
+        }
+    }
+    .fieldset.rates {
+        padding-top: 20px;
+        .actions {
+            text-align: right;
+        }
+    }
+    .field.postcode {
+        display: table-cell;
+        width: 99%;
+        vertical-align: bottom;
+        div.mage-error {
+            position: absolute;
+        }
+        padding-right: 10px;
+    }
+}
+
+.block.discount {
+    .content {
+        .clearfix();
+    }
+    .fieldset.coupon {
+        position: relative;
+        &.applied {
+            padding-bottom: 20px;
+        }
+        .field {
+            display: table-cell;
+            width: 99%;
+            vertical-align: bottom;
+            .label {
+                float: left;
+                margin-right: -100px;
+            }
+            input {
+                clear: left;
+            }
+            padding-right: 10px;
+            div.mage-error {
+                position: absolute;
+            }
+        }
+        .actions {
+            vertical-align: bottom;
+            display: table-cell;
+            width: 1%;
+            white-space: nowrap;
+        }
+        .action.cancel {
+            .resetAction();
+            .actionLink();
+            position: absolute;
+            left: 0;
+            bottom: 0;
+            margin-bottom: -15px;
+            span {
+                text-transform: none;
+            }
+        }
+    }
+}
+
+.sp-methods,
+.items.methods {
+    dt,
+    .item.title {
+        font-weight: bold;
+    }
+    dd,
+    .item.options {
+        margin: 0 0 15px;
+        padding: 10px;
+    }
+}
+.field.choice.payment {
+    > .label {
+        font-weight: bold;
+    }
+}
+
+.data-table {
+    width: 100%;
+    border: 0;
+    td {
+        border-right: 1px solid @primary2;
+        padding: 5px;
+        vertical-align: top;
+    }
+    td:last-child {
+        border: 0;
+    }
+}
+
+.cart.totals {
+    .table.totals {
+        width: 100%;
+    }
+    padding: 20px 0;
+    td,
+    th {
+        text-align: right;
+        padding: 4px 0 4px 5px;
+    }
+    td:not(:first-child) {
+        strong {
+            font-size: 24px;
+            color: @secondary1;
+        }
+    }
+    td:first-child {
+        text-align: left;
+        padding-left: 0;
+        strong {
+            font-size: @baseFontSize;
+        }
+    }
+}
+
+.checkout.methods.items {
+    background: #fff;
+    padding: 20px;
+    .item {
+        margin: 15px auto;
+        text-align: center;
+    }
+    .action.multicheckout {
+        text-decoration: underline;
+    }
+}
+
+/*
+    Magento_Checkout
+    Mini cart
+-------------------------------------- */
+.minicart.wrapper {
+    float: right;
+    margin-right: 40px;
+    z-index: 11;
+    .block.minicart {
+        .clearfix();
+        left: -100%;
+        margin-top: 15px;
+        position: absolute;
+        z-index: 2;
+        background: @primary1;
+        border: 2px solid darken(@primary1, 13%);
+        border-radius: 3px;
+        text-align: center;
+        padding: 58px 345px 25px 15px;
+        &:before {
+            content: '';
+            border-left: 10px solid transparent;
+            border-right: 10px solid transparent;
+            border-bottom: 10px solid @primary1;
+            height: 0;
+            width: 0;
+            overflow: hidden;
+            display: block;
+            position: absolute;
+            top: 0;
+            margin-top: -10px;
+            margin-right: 25px;
+            right: 0;
+            zoom: 1;
+            z-index: 2;
+        }
+        > .content {
+            margin-top: -33px;
+            .subtotal {
+                .clearfix();
+                .mark {
+                    display: inline-block;
+                    font-weight: 600;
+                    font-size: 18px;
+                    float: left;
+                    line-height: 24px;
+                }
+                > .amount {
+                    text-align: right;
+                    float: right;
+                    display: inline-block;
+                    font-weight: @baseFontWeightBolder;
+                    font-size: 24px;
+                    line-height: 24px;
+                    color: @secondary1;
+                }
+                .amount.incl.tax {
+                    display: block;
+                    font-size: @baseFontSize;
+                    &:after {
+                        content: ')';
+                    }
+                    .price:after {
+                        content: ' (';
+                    }
+                }
+            }
+            .disclaimer {
+                font-size: @baseFontSizeMiddle;
+            }
+            .actions {
+                .secondary {
+                    margin-top: 15px;
+                    margin-bottom: -15px;
+                    text-align: right;
+                    a {
+                        color: @secondary1;
+                    }
+                }
+            }
+            .subtitle {
+                display: block;
+                text-align: left;
+                padding: 0 50px;
+                margin: 0 0 15px 0;
+                font-weight: @baseFontWeight;
+                &.empty {
+                    margin: 10px -320px 0 0;
+                    padding: 0;
+                    float: right;
+                    width: 310px;
+                    clear: right;
+                }
+            }
+        }
+        .minicart.empty.text,
+        > .title,
+        > .content .subtotal,
+        > .content .disclaimer,
+        > .content > .actions {
+            margin: 0 -330px 15px 0;
+            text-align: left;
+            float: right;
+            width: 310px;
+            clear: right;
+        }
+        > .title {
+            .text {
+                display: none;
+            }
+            .qty:before {
+                content: attr(title) ": ";
+            }
+        }
+        .minicart.empty.text {
+            margin-top: 15px;
+        }
+        > .title strong {
+            font-weight: 400;
+        }
+    }
+    &.active {
+        &:before {
+            content: '';
+            position: fixed;
+            z-index: 1;
+            top: 0;
+            left: 0;
+            right: 0;
+            bottom: 0;
+            background: #000;
+            opacity: 0.01;
+        }
+        position: relative;
+        z-index: 11;
+        .block.minicart {
+            left: auto;
+            right: -20px;
+        }
+    }
+    .action.previous,
+    .action.next {
+        .resetAction();
+        width: 25px;
+        overflow: hidden;
+        span {
+            .iconAfter(@content: @icon-arrow-right-thick, @size: 42px, @font: "icons");
+            .iconHideText(42px);
+            color: @primary3;
+            margin-left: -10px;
+            overflow: hidden;
+        }
+        &[disabled] {
+            opacity: 0.3;
+        }
+        position: absolute;
+        right: 10px;
+        top: 50%;
+        margin-top: -22px;
+    }
+    .action.previous {
+        right: auto;
+        left: 0;
+        span:after {
+            content: @icon-arrow-left-thick;
+        }
+    }
+    .action.close {
+        position: absolute;
+        top: 10px;
+        right: 15px;
+    }
+    p {
+        clear: both;
+    }
+}
+
+.block.minicart.empty > .title,
+.eq-ie8 .minicart.wrapper.active:before {
+    display: none;
+}
+
+/*
+    Product options
+-------------------------------------- */
+.minicart {
+    @textColor: @primary6;
+    @optionsBg: rgba(0, 0, 0, .8);
+    @optionsColor: #fff;
+    .product.options.wrapper {
+        position: relative;
+        display: inline;
+        z-index: 1;
+        margin: 7px 0;
+        .more {
+            color: @textColor;
+            font-size: @baseFontSizeMiddle;
+            line-height: 1;
+            padding: 0;
+            border-bottom: 1px dotted @textColor;
+            cursor: help;
+        }
+        &:hover {
+            z-index: 99;
+            .product.options.details {
+                display: block;
+            }
+            &:before {
+                content: '';
+                border-left: 10px solid @optionsBg;
+                border-top: 10px solid transparent;
+                border-bottom: 10px solid transparent;
+                height: 0;
+                width: 0;
+                overflow: hidden;
+                display: block;
+                position: absolute;
+                top: 0;
+                margin-top: 0;
+                left: -10px;
+                zoom: 1;
+                z-index: 2;
+            }
+        }
+
+    }
+    .product.options.details {
+        display: none;
+        position: absolute;
+        background: @optionsBg;
+        border-radius: 6px;
+        padding: 10px;
+        right: 100%;
+        top: 50%;
+        margin-top: -20px;
+        margin-right: 10px;
+        float: left;
+        max-width: 200px;
+        min-width: 100px;
+        .title {
+            font-weight: 600;
+        }
+        color: @optionsColor;
+    }
+    .product.options.list {
+        padding-left: 10px;
+        dt {
+            font-size: @baseFontSizeMiddle;
+            display: inline;
+            margin: 0;
+            padding: 0;
+            font-weight: 600;
+            &:after {
+                content: ': ';
+            }
+            &:before {
+                content: '';
+                display: block;
+            }
+        }
+        dd {
+            font-size: @baseFontSizeMiddle;
+            display: inline-block;
+            padding: 0;
+            margin: 0;
+        }
+    }
+    .item:not(.shown) + .shown,
+    :first-child {
+        .product.options.details {
+            right: auto;
+            left: 100%;
+            margin-left: 10px;
+        }
+        .product.options.wrapper:before {
+            border-right: 10px solid @optionsBg;
+            border-left: 0;
+            left: auto;
+            right: -10px;
+        }
+    }
+}
+
+.minicart.wrapper .block.minicart > .content > .actions .primary {
+    .clearfix();
+    text-align: center;
+    .checkout.paypal {
+        display: inline;
+        input[type="image"] {
+            margin-top: 5px;
+            float: left;
+        }
+        &:after {
+            float: none;
+        }
+    }
+    .checkout.paypal + .action.checkout {
+        float: right;
+    }
+}
+
+.block.minicart {
+    .products.minilist {
+        @itemWidth : 187px;
+        float: left;
+        padding: 0;
+        border-right: 1px solid darken(@primary1, 13%);
+        max-width: @itemWidth*3;
+        padding: 0 30px;
+        position: relative;
+        z-index: 1;
+        .minilist.items {
+            position: relative;
+            white-space: nowrap;
+        }
+        &.animation {
+            .items-wrapper {
+                overflow: hidden;
+            }
+            position: relative;
+            .item {
+                visibility: visible;
+            }
+        }
+        .item {
+            padding: 0 20px;
+            .box-sizing();
+            vertical-align: top;
+            text-align: left;
+            &:before {
+                content: '';
+                width: 0;
+                display: block;
+                border-left: 1px solid darken(@primary1, 13%);
+                height: 100%;
+                margin-left: -20px;
+                position: absolute;
+            }
+            &.item:not(.shown) + .shown:before,
+            &:first-child:before {
+                display: none;
+            }
+            white-space: normal;
+            display: none;
+            display: inline-block;
+            width: @itemWidth;
+            visibility: hidden;
+            .box-sizing();
+            margin-left: 0;
+
+            .wrapper.active &.shown {
+                visibility: visible;
+            }
+            &.hidden {
+                margin-left: -@itemWidth !important;
+            }
+
+            .product.photo {
+                display: block;
+                margin-bottom: 10px;
+                .photo.container {
+                    overflow: visible !important;
+                    margin: 0 auto;
+                }
+                .photo.image {
+                    border: 1px solid darken(@primary1, 11%);
+                    display: block;
+                    margin: 0 auto;
+                }
+            }
+            .pricing {
+                margin-top: 10px;
+                &:not(.complex) {
+                    .label.display {
+                        display: none;
+                    }
+                }
+                .label:after {
+                    content: ': ';
+                }
+            }
+            .actions {
+                float: right;
+            }
+            .action.edit {
+                font-size: @baseFontSizeMiddle;
+            }
+            .product.options.wrapper + .action.edit {
+                margin-right:8px;
+                &:before {
+                    content: '|';
+                    display: inline-block;
+                    text-decoration: none;
+                    padding: 0 8px;
+                    margin-right:-16px;
+                }
+                &:hover:before {
+                    color: @primary6;
+                }
+            }
+            .action.delete {
+                position: absolute;
+                margin-left: -5px;
+                margin-top: -1.35em;
+                bottom: 0;
+            }
+        }
+    }
+}
+
+.eq-ie8 .block.minicart {
+    .products.minilist {
+        .action.delete,
+        .action.edit {
+            visibility: hidden;
+        }
+        .shown {
+            .action.delete,
+            .action.edit {
+                visibility: visible;
+            }
+        }
+        .item {
+            &:before {
+                border-left: 0;
+            }
+        }
+    }
+}
+
+.action.delete {
+    display: inline-block;
+    span {
+        color: @primary3;
+        .iconAfter(@content: @icon-trash, @font: 'icons');
+        .iconHideText();
+    }
+    &:focus,
+    &:active,
+    &:hover {
+        outline: none;
+        span {
+            color: @primary4;
+        }
+    }
+}
+
+.action.checkout {
+    &:extend(.primary.action all);
+}
+
+.action.checkout.shadow {
+    span {
+        text-shadow: 0px 1px 2px #000;
+    }
+}
+
+.action.close {
+    .resetAction;
+    span {
+        .iconAfter(@content: @icon-close-thick, @size: 11px, @font: 'icons');
+        .iconHideText(11px);
+    }
+}
+
+.action.showcart {
+    .iconAfter(@content: @icon-cart, @size: 32px, @font: 'icons');
+    .iconHideText(32px);
+    margin-top: 20px;
+    margin-left: 20px;
+    color: @primary5;
+    position: relative;
+    &:hover,
+    &:active,
+    &:focus,
+    &.active {
+        color: @primary4;
+        outline: none;
+    }
+
+    .qty {
+        position: absolute;
+        left: 70%;
+        top: 0;
+        margin-top: -30%;
+        text-indent: 0;
+        background: @secondary1;
+        display: inline-block;
+        border: 1px solid @secondary1;
+        border-radius: 50px;
+        font-size: @baseFontSize;
+        font-weight: 600;
+        color: #fff;
+        @height: 1.7em;
+        line-height: @height;
+        vertical-align: middle;
+        .box-sizing();
+        min-width: 1.1 * @height;
+        min-height: @height;
+        text-align: center;
+        padding: 0 4px;
+    }
+    .qty.empty {
+        display: none;
+    }
+}
+
+/*
+    Paypal button
+-------------------------------------- */
+.checkout.paypal {
+    display: none;
+    input[type="image"] {
+        display: inline-block;
+        vertical-align: top;
+    }
+    display: inline-block;
+    vertical-align: top;
+    &.before:before {
+        content: "- " attr(data-label) " -";
+        text-transform: uppercase;
+        display: inline-block;
+        line-height: 32px;
+        font-size: @baseFontSize;
+        vertical-align: middle;
+        margin: 0 5px;
+    }
+    &.after:after {
+        content: "- " attr(data-label) " -";
+        text-transform: uppercase;
+        display: inline-block;
+        line-height: 32px;
+        font-size: 14px;
+        vertical-align: middle;
+        margin: 0 5px;
+    }
+}
+
+.box.tocart .checkout.paypal {
+    &.after:after {
+        display: none;
+    }
+    &.after:before {
+        content: "- " attr(data-label) " -";
+        text-transform: uppercase;
+        display: inline-block;
+        line-height: 32px;
+        font-size: @baseFontSize;
+        vertical-align: middle;
+        margin: 0 5px;
+    }
+}
+
+.checkout.methods .checkout.paypal {
+    &.after:after {
+        display: block;
+        text-align: center;
+    }
+}
+
+/*
+    Magento_Sales
+-------------------------------------- */
+.block.reorder {
+    padding-right: 30px;
+    .item {
+        padding-left: 20px;
+        input {
+            float: left;
+            margin-top: 2px;
+            margin-left: -20px;
+        }
+    }
+    .subtitle {
+        display: block;
+        margin: 0 0 15px;
+        font-weight: 600;
+    }
+    .actions {
+        margin: 15px 0 0;
+        .primary,
+        .secondary {
+            margin-right: 5px;
+            display: inline-block;
+            vertical-align: middle;
+        }
+    }
+}
+
+/*
+    Magento_Newsletter
+-------------------------------------- */
+.block.newsletter {
+    @fit: 45px;
+    text-align: left;
+    .title {
+        display: none;
+    }
+    .field {
+        .clearfix();
+    }
+    .label {
+        display: block;
+        font-size: 16px;
+        margin-bottom: 10px;
+        line-height: 1.2;
+    }
+    .control {
+        float: left;
+        width: 100%;
+        .box-sizing();
+        padding-right: @fit;
+    }
+    .actions {
+        padding-left: 10px;
+        float: right;
+        margin-left: -@fit;
+    }
+    input[type="text"] {
+        width: 100%;
+    }
+    .footer & {
+        width: 310px;
+        float: right;
+    }
+}
+
+.action.subscribe {
+    .resetAction();
+    background: @secondary1;
+    border-radius: 3px;
+    padding: 7px;
+    border: 1px solid @secondary1;
+    vertical-align: top;
+    span {
+        .iconAfter(@content: @icon-envelope, @font: 'icons');
+        .iconHideText();
+        color: #fff;
+    }
+}
+
+.form.newsletter.manage {
+    .fieldset {
+        margin: 0 0 20px;
+        padding: 0;
+        border: 0;
+        .legend {
+            float: left;
+            margin: 0 0 20px;
+            font-weight: 600;
+        }
+        .legend + br {
+            display: block;
+            clear: both;
+        }
+    }
+    .action.save {
+        &:extend(.primary.action all);
+    }
+    .actions .primary {
+        margin-bottom: 15px;
+    }
+}
+
+/*
+    Widgets
+-------------------------------------- */
+.widget ul {
+    .resetList();
+}
+
+/*
+    Magento_Catalog
+    Compare
+-------------------------------------- */
+.block.compare {
+    > .title .qty {
+        font-size: 16px;
+        margin-right: -5px;
+        &:before {
+            content: '(';
+        }
+        &:after {
+            content: ')';
+        }
+    }
+    .item {
+        padding-right: 20px;
+        overflow: hidden;
+    }
+    .product.name {
+        float: left;
+    }
+    .action.delete {
+        margin-right: -20px;
+        float: right;
+    }
+    .action.compare {
+        &:extend(.secondary.action all);
+        float: right;
+    }
+    .action.clear {
+        float: left;
+        margin-top: 10px;
+    }
+    .actions {
+        .clearfix();
+        margin-top: 15px;
+    }
+}
+
+.catalog-product-compare-index {
+    .action.print {
+        float: right;
+        margin-top: -50px;
+    }
+}
+
+.comparison.wrapper {
+    clear: both;
+    position: relative;
+    z-index: 1;
+    &:after {
+        content: '';
+        position: absolute;
+        z-index: 2;
+        right: 0;
+        top: 0;
+        height: 100%;
+        width: 15px;
+    }
+    margin-bottom: 50px;
+}
+
+.comparison.container {
+    overflow-y: hidden;
+    overflow-x: auto;
+}
+
+.data.comparison {
+    table-layout: fixed;
+
+    .cell.label {
+        width: 130px;
+        padding-left: 10px;
+        font-weight: 600;
+        text-align: left;
+        border-right: 1px solid @primary2;
+        .attribute.label {
+            display: block;
+            width: 100%;
+            word-break: break-all;
+        }
+        &.product {
+            border-bottom: 1px solid @primary2;
+        }
+    }
+    .cell {
+        padding: 15px;
+        vertical-align: top;
+        p:first-child {
+            margin-top: 0;
+        }
+        .attibute.value {
+            width: 100%;
+            overflow: hidden;
+        }
+    }
+    .cell.product {
+        width: 140px;
+        &.info {
+            border-bottom: 1px solid @primary2;
+        }
+    }
+    .cell.attribute {
+        font-size: @baseFontSizeMiddle;
+    }
+    td:last-child {
+        border-right: 1px solid @primary2;
+    }
+    tr:nth-child(odd) .cell.attribute {
+        background-color: @primary1;
+    }
+    .product.photo {
+        .img.photo.container {
+            display: inline-block !important;
+        }
+        text-align: center;
+        display: block;
+        margin: 0 auto 15px;
+    }
+    .actions,
+    .price-box,
+    .product.rating,
+    .product.name {
+        margin: 15px 0;
+    }
+    .addto.links {
+        margin-top: 15px;
+        padding-top: 15px;
+        border-top: 1px solid @primary2;
+        font-size: @baseFontSizeMiddle;
+    }
+    .cell.remove {
+        padding-top: 0;
+        padding-bottom: 0;
+        text-align: right;
+        .action.delete {
+            &:extend(.secondary.action all);
+            float: right;
+            padding: 4px;
+            span {
+                overflow: hidden;
+                line-height: 0;
+                &:after {
+                    content: @icon-close-thick;
+                    font-size: @baseFontSizeMiddle;
+                    color: #fff;
+                }
+            }
+            margin-right: -15px;
+        }
+    }
+}
+
+.comparison.headings {
+    position: absolute;
+    z-index: 2;
+    top: 0;
+    left: 0;
+    width: auto;
+    background-color: @pageMainBg;
+    th {
+        background-color: @pageMainBg;
+    }
+}
+
+/*
+    Magento_Catalog
+    Compare
+-------------------------------------- */
+.item.link.compare {
+    .qty {
+        &:before {
+            content: '(';
+        }
+        &:after {
+            content: ')';
+        }
+    }
+}
+
+/*
+    Magento_Catalog
+    Product lists
+-------------------------------------- */
+.productItems() {
+    @spacing: 0 0 10px;
+    .item.product {
+        .column(4);
+        .box-sizing();
+        .col3-layout & {
+            width: 50%;
+        }
+        display: inline-block;
+        vertical-align: top;
+        margin: 0;
+        padding: 20px;
+        float: none;
+        .product.photo {
+            float: left;
+            margin-right: 20px;
+        }
+        .product.details {
+            overflow: hidden;
+        }
+        .product.name,
+        .price-box {
+            margin: @spacing;
+        }
+        .addto.links {
+            .action:after {
+                content: '';
+                display: block;
+            }
+        }
+        .actions {
+            visibility: hidden;
+            .primary {
+                margin: 0 0 10px;
+            }
+        }
+        &:hover {
+            .actions {
+                visibility: visible;
+            }
+        }
+    }
+}
+
+.blocklist() {
+    clear: both;
+    margin: 30px 0;
+    padding-top: 25px;
+    border-top: 1px solid @primary2;
+    .products.list {
+        clear: both;
+        margin: 0 -20px;
+        .productItems();
+    }
+}
+
+.block.related {
+    .action.select {
+        .resetAction();
+        .actionLink();
+    }
+    .field.choice.related {
+        margin: 0 0 10px;
+    }
+}
+
+.block.widget.viewed,
+.block.crosssell,
+.block.upsell,
+.block.related,
+.block.widget.new,
+.block.widget.compared {
+    .blocklist();
+}
+
+.block.crosssell {
+    .products.list.items.crosssell {
+        margin: 0 -13px;
+        .item.product {
+            .column(2);
+            padding: 13px;
+            .product.photo {
+                float: none;
+                display: block;
+                margin: 0 0 10px;
+            }
+            margin-bottom: 90px;
+            .actions {
+                position: absolute;
+            }
+        }
+    }
+}
+
+.block.widget.viewed {
+    .products.list.items.widget-viewed-grid {
+        .item.product {
+            .column(2);
+            float: none;
+            display: inline-block;
+            .col2-left-layout &,
+            .col2-right-layout & {
+                width: 19.99%;
+            }
+            .col3-layout & {
+                width: 25%;
+            }
+            .product.photo {
+                float: none;
+                display: block;
+                margin: 0 0 10px;
+            }
+        }
+    }
+    .products.list.items.widget-viewed-list {
+        .item.product {
+            .column(12);
+            float: none;
+            display: inline-block;
+        }
+    }
+}
+
+.block.widget.compared {
+    .products.list.items.widget-compared-grid {
+        .item.product {
+            .column(2);
+            float: none;
+            display: inline-block;
+            .col2-left-layout &,
+            .col2-right-layout & {
+                width: 19.99%;
+            }
+            .col3-layout & {
+                width: 25%;
+            }
+            .product.photo {
+                float: none;
+                display: block;
+                margin: 0 0 10px;
+            }
+        }
+    }
+    .products.list.items.widget-compared-list {
+        .item.product {
+            .column(12);
+            float: none;
+            display: inline-block;
+        }
+    }
+}
+
+.block.widget.new {
+    .products.list.items.widget-new-grid {
+        .item.product {
+            width: 20%;
+            float: none;
+            display: inline-block;
+            .col2-left-layout &,
+            .col2-right-layout & {
+                .column(3);
+                float: none;
+                display: inline-block;
+            }
+            .col3-layout & {
+                .column(4);
+                float: none;
+                display: inline-block;
+            }
+            .product.photo {
+                float: none;
+                display: block;
+                margin: 0 0 10px;
+            }
+        }
+    }
+    .products.list.items.widget-new-list {
+        .item.product {
+            .column(12);
+            float: none;
+            display: inline-block;
+        }
+    }
+}
+
+.product.info.detailed + .block.upsell,
+.product.info.detailed + .block.related {
+    margin-top: 70px;
+    clear: none;
+    float: right;
+    width: 140px;
+    border-top: 0;
+    padding-top: 0;
+    padding-left: 25px;
+    border-left: 1px solid @primary2;
+    .products.list {
+        margin: 0;
+        .item.product {
+            display: block;
+            width: auto;
+            padding: 13px 0;
+            .product.photo {
+                float: none;
+                display: block;
+                margin: 0 0 10px;
+            }
+        }
+    }
+}
+
+.block.widget {
+    @optionsHeigth: 23px;
+    .pager {
+        float: right;
+        .amount {
+            float: left;
+            line-height: @optionsHeigth + 2px;
+            margin: 2px 15px 0 0;
+            display: none;
+        }
+        .text {
+            display: none;
+        }
+    }
+    .pages {
+        margin-left: 15px;
+        float: left;
+        .label {
+            line-height: @optionsHeigth + 2px;
+            display: inline-block;
+        }
+        strong.label {
+            font-weight: 400;
+            float: left;
+            line-height: @optionsHeigth + 2px;
+            margin-top: 2px;
+            margin-right: 5px;
+            display: none;
+        }
+        input {
+            width: 30px;
+            margin: 0 5px;
+            text-align: center;
+            padding: 0 5px;
+            height: @optionsHeigth + 2px;
+            line-height: @optionsHeigth + 2px;
+        }
+        > ol {
+            .resetList;
+            display: inline-block;
+            vertical-align: top;
+            margin-top: 2px;
+            line-height: @optionsHeigth + 2px;
+            vertical-align: middle;
+            li {
+                display: inline;
+            }
+            strong,
+            a {
+                padding: 0 3px;
+            }
+            strong {
+                font-weight: 400;
+                color: @secondary1;
+            }
+        }
+    }
+    .action.next,
+    .action.previous {
+        overflow: hidden;
+        display: inline-block;
+        vertical-align: middle;
+        span {
+            color: @primary3;
+            .iconAfter(@content: '', @font: "icons");
+            .iconHideText();
+        }
+    }
+    .action.next span:after {
+        content: @icon-arrow-right-thin;
+    }
+    .action.previous span:after {
+        content: @icon-arrow-left-thin;
+    }
+}
+
+/*
+    Magento_Catalog
+    Layered Navigation
+-------------------------------------- */
+.block.filter {
+    .subtitle {
+        display: none;
+    }
+    > .content {
+        padding: 0;
+    }
+    .filtered {
+        .item {
+            border-top: 1px solid @primary3;
+            padding: 2px 0 5px;
+            margin: 0 0 5px;
+            position: relative;
+            z-index: 1;
+        }
+        .label {
+            font-weight: 600;
+            text-transform: uppercase;
+            display: block;
+        }
+    }
+    .action.remove {
+        overflow: hidden;
+        display: inline-block;
+        padding: 4px;
+        position: absolute;
+        top: -1px;
+        right: 0;
+        background: @primary3;
+        span {
+            color: #fff;
+            .iconAfter(@content: @icon-close-thick, @size: 13px, @font: "icons");
+            .iconHideText(13px);
+        }
+    }
+    .actions {
+        margin-bottom: 30px;
+    }
+    .action.reset {
+        font-size: 12px;
+        text-transform: lowercase;
+        text-decoration: underline;
+    }
+    dt {
+        text-transform: uppercase;
+    }
+    dd {
+        margin: 0;
+        padding: 15px 0 25px;
+    }
+    .count {
+        font-size: 12px;
+        &:before {
+            content: ' (';
+        }
+        &:after {
+            content: ')';
+        }
+    }
+}
+
+/*
+    Magento_Catalog
+    Product Listing
+-------------------------------------- */
+.toolbar {
+    @optionsHeigth: 23px;
+    clear: both;
+    margin: 17px 0;
+    &:first-child {
+        margin-top: 0;
+    }
+    &.alternative {
+        direction: rtl;
+        .pager {
+            direction: ltr;
+        }
+        .settings {
+            display: inline;
+            direction: ltr;
+        }
+        .pages,
+        .amount,
+        .limiter {
+            border-left: 1px solid @primary2;
+            padding: 2px 0 2px 15px;
+        }
+    }
+    .amount {
+        display: none;
+    }
+    .clearfix();
+    .settings {
+        display: inline;
+    }
+    .modes {
+        margin-left: 30px;
+        display: inline-block;
+        margin-top: 3px;
+        margin-right: 14px;
+        vertical-align: top;
+        .label {
+            display: none;
+        }
+    }
+    .limiter,
+    .sorter {
+        .clearfix();
+        padding: 2px 0;
+        float: left;
+        display: inline-block;
+        select {
+            margin-top: 1px;
+            margin-right: 5px;
+        }
+    }
+    .options {
+        float: left;
+        border: 1px solid @primary2;
+        white-space: nowrap;
+        height: @optionsHeigth;
+        line-height: @optionsHeigth;
+        overflow: visible;
+        display: block;
+        padding: 0 7px;
+        .current {
+            font-weight: 400;
+            float: left;
+            padding-right: 7px;
+        }
+        ul {
+            .resetList();
+            height: 0;
+            overflow: hidden;
+            clear: both;
+            padding: 0 30px 0 7px;
+            margin: 0 -8px;
+            border: 1px solid @primary3;
+            visibility: hidden;
+            top: -(@optionsHeigth + 1px);
+            background: #fff;
+            position: relative;
+            z-index: 2;
+        }
+        .action.switch {
+            float: right;
+            margin-top: 4px;
+        }
+        .selected {
+            color: @secondary1;
+        }
+        &.active {
+            ul {
+                height: auto;
+                visibility: visible;
+            }
+        }
+    }
+    .pager {
+        float: right;
+        .amount {
+            float: left;
+            line-height: @optionsHeigth + 2px;
+            margin: 2px 15px 0 0;
+        }
+        .text {
+            display: none;
+        }
+    }
+    .pages {
+        margin-left: 15px;
+        float: left;
+        .label {
+            line-height: @optionsHeigth + 2px;
+            display: inline-block;
+        }
+        strong.label {
+            font-weight: 400;
+            float: left;
+            line-height: @optionsHeigth + 2px;
+            margin-top: 2px;
+            margin-right: 5px;
+            display: none;
+        }
+        input {
+            width: 30px;
+            margin: 0 5px;
+            text-align: center;
+            padding: 0 5px;
+            height: @optionsHeigth + 2px;
+            line-height: @optionsHeigth + 2px;
+        }
+        > ol {
+            .resetList();
+            display: inline-block;
+            vertical-align: top;
+            margin-top: 2px;
+            line-height: @optionsHeigth + 2px;
+            vertical-align: middle;
+            li {
+                display: inline;
+            }
+            strong,
+            a {
+                padding: 0 3px;
+            }
+            strong {
+                font-weight: 400;
+                color: @secondary1;
+            }
+        }
+    }
+}
+
+/*
+    Magento_Catalog
+    Product List
+-------------------------------------- */
+@imageHeight: 180px;
+@imageWidth: 180px;
+
+.products.wrapper .products.list {
+    .item {
+        .product.photo {
+            display: block;
+            margin-bottom: 10px;
+            text-align: center;
+            > .photo {
+                display: block;
+                margin: 0 auto;
+            }
+        }
+        z-index: 1;
+        position: relative;
+        border: 1px solid transparent;
+        background: transparent;
+        &:hover {
+            border: 1px solid @primary3;
+            background: @primary1;
+            .product.actions {
+                opacity: 1;
+                visibility: hidden;
+                .action.tocart,
+                .secondary {
+                    visibility: visible;
+                }
+            }
+            z-index: 99;
+        }
+        .product.actions {
+            opacity: 0.8;
+            visibility: hidden;
+            .action.tocart,
+            .secondary {
+                visibility: hidden;
+            }
+        }
+        .price-box,
+        .product.reviews {
+            display: block;
+            margin-bottom: 7px;
+        }
+        .secondary {
+            border: solid @primary3;
+            .box-sizing();
+            white-space: nowrap;
+            position: absolute;
+            .action {
+                padding: 10px;
+                white-space: normal;
+                vertical-align: top;
+                display: inline-block;
+                line-height: 1;
+            }
+        }
+    }
+}
+
+.products.wrapper.grid {
+    margin-bottom: 20px;
+}
+
+.products.wrapper.grid .products.list {
+    .item.product {
+        @total-columns: 10;
+        .column(2);
+        display: inline-block;
+        float: none;
+        .col2-left-layout &,
+        .col2-right-layout & {
+            @total-columns: 12;
+            .column(3);
+            display: inline-block;
+            float: none;
+            margin-bottom: 30px;
+        }
+        .col3-layout & {
+            @total-columns: 12;
+            .column(4);
+            display: inline-block;
+            float: none;
+            margin-bottom: 30px;
+        }
+        padding: 9px 9px 9px;
+        vertical-align: top;
+    }
+    .secondary {
+        border-width: 1px;
+        background: @primary1;
+        top: 100%;
+        .box-sizing();
+        left: -1px;
+        right: -1px;
+        .action {
+            padding: 10px 0;
+            text-align: center;
+            width: 49%;
+        }
+    }
+}
+
+.products.wrapper.list .products.list {
+    margin-bottom: 20px;
+    .item.product {
+        .clearfix();
+        display: block;
+        border-bottom: 1px solid @primary3;
+        padding: 9px 9px 9px 9px;
+        .product.details {
+            padding-bottom: 40px;
+        }
+        margin-bottom: -1px;
+    }
+    .product.details {
+        display: table;
+    }
+    .product.photo {
+        float: left;
+        margin-right: 9px;
+        margin-bottom: 0;
+    }
+    .secondary {
+        bottom: 0;
+        top: auto !important;
+        margin-left: 18px;
+        border-width: 1px 0 0;
+        right: 20px;
+    }
+    .product.description {
+        margin: 9px 0;
+    }
+}
+
+/*
+    General product item styling
+-------------------------------------- */
+.product.name {
+    color: @primary6;
+    font-weight: 600;
+    line-height: 1.2;
+    display: block;
+    margin-bottom: 10px;
+}
+
+.price-box p,
+.pricing p {
+    margin: 5px 0;
+    &:first-child {
+        margin-top: 0;
+    }
+    &:last-child {
+        margin-bottom: 0;
+    }
+}
+
+.stock[title] {
+    line-height: 16px;
+    span:before {
+        content: '';
+        line-height: 16px;
+        background: #42b649;
+        display: inline-block;
+        border-radius: 5px;
+        width: 10px;
+        height: 10px;
+        margin-right: 5px;
+        vertical-align: middle;
+    }
+    &.unavailable {
+        color: @primary3;
+        span:before {
+            background: @primary3;
+        }
+    }
+}
+
+.product.item .product.description {
+    font-size: @baseFontSizeMiddle;
+}
+
+.action.tocart {
+    &:extend(.primary.action all);
+    padding: 5px 11px;
+
+    .block .product.actions & {
+        display: inline-block;
+        margin: 10px 0;
+    }
+}
+
+.action.tocompare,
+.action.towishlist {
+    font-size: 12px;
+    span:before {
+        content: "\002B\00A0";
+    }
+    .item.product & {
+        margin-left: 0;
+    }
+}
+
+/*
+    Magento_Catalog
+    Product View
+-------------------------------------- */
+.fieldset {
+    .formFieldset();
+    > .field {
+        .formField();
+    }
+}
+
+.product.info.main {
+    float: right;
+    width: 430px;
+    padding-bottom: 30px;
+
+    .col2-left-layout &,
+    .col2-right-layout & {
+        width: 370px;
+    }
+    .col3-layout & {
+        float: none;
+        width: 100%;
+    }
+}
+
+.product.info.main {
+    .price-box {
+        font-size: 20px;
+        padding-bottom: 10px;
+        margin: 15px 0;
+        line-height: 1.2;
+        font-weight: @baseFontWeightLighter;
+    }
+    .page.title.product + .price-box {
+        border-bottom: 1px solid @primary2;
+    }
+    p {
+        margin: 5px 0;
+    }
+    .old-price {
+        font-size: @baseFontSizeBigger;
+        .price-label {
+            //display: none;
+        }
+        .price {
+            text-decoration: line-through;
+        }
+    }
+    .special-price {
+        color: @secondary1;
+    }
+    .stock {
+        margin: 15px 0;
+    }
+    .product.options.bottom {
+        .price-box {
+            display: none;
+        }
+    }
+    .product.addto.links {
+        margin: 15px 0 0;
+        padding-top: 10px;
+        border-top: 1px solid @primary2;
+        .action {
+            float: left;
+            margin-right: 15px;
+        }
+    }
+}
+
+.product.main.info {
+    .product.options.wrapper {
+        .field {
+            .fieldStyle();
+            .formField();
+            &:not(.choice) > .label {
+                .labelStyle();
+            }
+        }
+        .type-configurable & {
+            select {
+                min-width: 40%;
+                width: auto;
+                padding: 2px;
+            }
+        }
+    }
+    .product.options.wrapper .fieldset {
+        margin: 0;
+        .field.required .control .field.choice .label span:after {
+            content: "";
+        }
+        .field.date {
+            input[type="text"] {
+                width: auto;
+            }
+        }
+        .datetime-picker + .ui-datepicker-trigger {
+            margin: 0 15px 0 7px;
+        }
+    }
+}
+
+.action.primary.customize,
+.action.primary.tocart {
+    &:extend(.primary.action all);
+    line-height: 16px;
+    padding: 9px 15px;
+    span {
+        font-weight: 400;
+        font-size: @baseFontSizeBigger;
+    }
+}
+
+.product.media {
+    float: left;
+    width: 540px;
+    padding-bottom: 30px;
+
+    .col2-left-layout &,
+    .col2-right-layout & {
+        width: 400px;
+    }
+    .col3-layout & {
+        float: none;
+        width: 100%;
+    }
+}
+
+.box.tocart {
+    .clearfix();
+    margin: 15px 0;
+    .field {
+        float: left;
+        padding-right: 10px;
+    }
+    .label {
+        display: block;
+        text-align: left;
+        font-weight: 600;
+        text-transform: uppercase;
+        line-height: 25px;
+    }
+    .control {
+        width: 60px;
+        text-align: center;
+    }
+    .actions {
+        float: left;
+        padding-top: 24px;
+    }
+    .qty {
+        text-align: center;
+    }
+}
+
+.prices.tier {
+    padding: 20px;
+    margin: 15px 0;
+    background: @primary1;
+    strong {
+        font-weight: @baseFontWeight;
+    }
+}
+
+.product.social.links {
+    float: right;
+    text-align: right;
+}
+
+.action.mailto {
+    span {
+        .iconAfter(@content: @icon-envelope, @font: "icons");
+        .iconHideText();
+        color: @primary3;
+    }
+}
+
+.product.photo.thumbs {
+    float: left;
+    padding-left: 15px;
+    .title {
+        display: none;
+    }
+    .item.thumb {
+        margin-bottom: 8px;
+        img {
+            border: 1px solid transparent;
+        }
+        .active img {
+            border: 1px solid @primary5;
+        }
+    }
+}
+
+.product.photo.main {
+    float: left;
+    text-align: center;
+    .notice {
+        font-size: 11px;
+    }
+}
+
+.product.attibute.sku {
+    font-size: @baseFontSizeMiddle;
+    .value {
+        display: inline
+    }
+    .type:after {
+        content: '#';
+    }
+}
+
+@media only screen
+and (max-width : 99999px) {
+    .product.data {
+        .column(10);
+        .data-tabs();
+        .data-tabs-styling();
+    }
+
+    .temp-upsell-placeholder {
+        .column(2);
+        background: red;
+        height: 200px;
+        margin-top: 50px;
+    }
+}
+
+@media only screen
+and (max-width : 768px) {
+    .product.data {
+        .column(12);
+        .data-accordion();
+        .data-accordion-styling();
+    }
+
+    .temp-upsell-placeholder {
+        .column(12);
+        background: red;
+        height: 200px;
+        margin-top: 20px;
+    }
+}
+
+/*
+    Magento_Bundle
+    Product View
+-------------------------------------- */
+body.type-bundle {
+    overflow-x: hidden;
+}
+
+@media only screen
+and (max-width : 768px) {
+    body.type-bundle {
+        overflow: auto;
+        .customize {
+            &:before {
+                left: -10px;
+                right: -10px;
+
+            }
+        }
+    }
+}
+
+.product.info.main {
+    .action.primary.customize {
+        margin: 40px 0;
+    }
+}
+
+.bundle.options.container {
+    margin: 45px 0;
+    clear: both;
+    position: relative;
+    z-index: 1;
+    &:before {
+        position: relative;
+        z-index: 1;
+        content: '';
+        display: block;
+        position: absolute;
+        left: -999em;
+        right: -999em;
+        z-index: -1;
+        background: @primary1;
+        top: 0;
+        bottom: 0;
+    }
+
+    .product.add.form {
+        .clearfix();
+        position: relative;
+        z-index: 1;
+        display: none;
+        padding: 45px 0;
+    }
+    .product.options.wrapper {
+        float: left;
+        width: 500px;
+
+        .col2-left-layout &,
+        .col2-right-layout & {
+            width: 450px;
+        }
+        .col3-layout & {
+            width: 360px;
+        }
+    }
+    .product.options.bottom {
+        float: left;
+        width: 500px;
+        clear: left;
+    }
+}
+
+.fieldset.bundle.options {
+    border: 0;
+    padding: 0;
+    margin: 0;
+    .legend {
+        font-size: 26px;
+        font-weight: 200;
+        float: left;
+        margin-bottom: 20px;
+    }
+    .legend + br {
+        display: block;
+        clear: both;
+    }
+    .bundle-slide-back {
+        float: right;
+    }
+    > .field {
+        > .label {
+            font-size: 20px;
+            font-weight: 200;
+            display: block;
+            margin-bottom: 20px;
+        }
+        margin: 0 0 50px;
+        padding: 20px;
+        background: @primary7;
+        &:last-child {
+            margin-bottom: 0;
+        }
+    }
+    .nested {
+        .field {
+            margin: 10px 0;
+        }
+        .field.qty {
+            margin-top: 20px;
+            .label {
+                display: inline-block;
+                vertical-align: middle;
+                span:after {
+                    content: ':';
+                }
+            }
+            .control {
+                width: 60px;
+                display: inline-block;
+                vertical-align: middle;
+            }
+            input {
+                text-align: center;
+            }
+        }
+    }
+}
+
+.product.options.wrapper {
+    .nested.mage-error-group {
+        position: relative;
+        z-index: 1;
+        .field {
+            z-index: 2;
+            position: relative;
+        }
+        &:before {
+            z-index: 1;
+            border:1px solid @nonValidHilight !important;
+            background: fadeout(@nonValidHilight,96%);
+            content: '';
+            left:-8px;
+            right:-8px;
+            top:-5px;
+            bottom:-5px;
+            display: block;
+            position: absolute;
+        }
+    }
+}
+
+.block.bundle.summary {
+    background: @primary7;
+    margin-top: 54px;
+    float: right;
+    position: relative;
+    width: 380px;
+
+    .col2-left-layout &,
+    .col2-right-layout & {
+        width: 320px;
+    }
+    .col3-layout & {
+        width: 230px;
+    }
+    > .title {
+        font-weight: 400;
+        border-bottom: 3px solid @primary2;
+        line-height: 1;
+        padding: 20px 20px 10px;
+        margin-bottom: 0;
+    }
+    .photo {
+        float: left;
+        border: 1px solid @primary2;
+        margin-right: 20px;
+        .photo {
+            float: none;
+            border: none;
+            margin-right: 0;
+        }
+    }
+    > .content {
+        padding: 20px;
+    }
+    .price-box {
+        .clearfix();
+        padding: 20px 0 0;
+        clear: both;
+        line-height: 24px;
+        .price-label {
+            float: left;
+            font-size: 18px;
+            font-weight: 600;
+        }
+        .full-product-price {
+            float: right;
+            .price {
+                color: @secondary1;
+                font-weight: 700;
+                font-size: 24px;
+            }
+        }
+    }
+    .box.tocart {
+        padding: 10px 0 20px;
+        border-top: 1px solid @primary2;
+        border-bottom: 1px solid @primary2;
+    }
+    .addto.links {
+        .action {
+            font-size: 14px;
+            margin-right: 20px;
+            &:last-child {
+                margin-right: 0;
+            }
+        }
+    }
+    .subtitle {
+        display: block;
+        margin: 20px -20px 0;
+        font-weight: @baseFontWeightLighter;
+        font-size: 20px;
+        border-bottom: 3px solid @primary2;
+        line-height: 1;
+        padding: 20px 20px 10px;
+        margin-bottom: 0;
+    }
+    .bundle.summary {
+        div > ul {
+            list-style: none;
+            margin: 10px 0 0;
+            padding: 0;
+            > li {
+                margin: 0 0 10px;
+                > div > div {
+                    margin: 0 0 5px;
+                }
+            }
+        }
+    }
+}
+
+.action.back.customization {
+    .resetAction();
+    .actionLink();
+    position: absolute;
+    top: 57px;
+    right: 0;
+}
+
+/*
+    CMS
+-------------------------------------- */
+img[align="left"] {
+    margin: 0 22px 22px 0;
+}
+
+img[align="right"] {
+    margin: 0 0 22px 22px;
+}
+
+.home.main.slider {
+    img {
+        width: 100%;
+        display: block;
+    }
+}
+
+/*
+    Magento_Customer
+-------------------------------------- */
+.customer.welcome {
+    display: inline-block !important;
+    position: relative;
+    z-index: 1;
+    cursor: pointer;
+    .menu > ul {
+        font-weight: 600;
+        font-size: @baseFontSizeMiddle;
+        margin: 0;
+        position: absolute;
+        top: 100%;
+        margin-left: -11px;
+        float: left;
+        right: 0;
+        text-align: left;
+        background: @primary1;
+        border: 1px solid darken(@headerBg, 5%);
+        visibility: hidden;
+        opacity: 0;
+        .transition(visibility 0s linear .2s);
+        li {
+            margin: 15px;
+            display: block;
+            white-space: nowrap;
+        }
+    }
+    &.active {
+        z-index: 9999;
+        .menu > ul {
+            visibility: visible;
+            opacity: 1;
+            .transitionDelay(0s);
+        }
+    }
+    .header .content & .customer.name {
+        font-weight: 400;
+        span {
+            color: @primary5;
+            .iconAfter(@content: @icon-arrow-bottom-filled, @font: "icons");
+            &:after {
+                line-height: @base-font-size;
+            }
+        }
+        &:focus span,
+        &:hover span,
+        &.active span {
+            color: @primary6;
+            outline: 0;
+        }
+        &.active span:after {
+            content: @icon-arrow-up-filled;
+        }
+    }
+    & + li {
+        display: none;
+    }
+}
+
+.customer.welcome + li {
+    display: none !important;
+}
+
+.login.container {
+    .clearfix();
+    background: @primary1;
+    padding: 40px;
+    position: relative;
+    z-index: 1;
+    padding-bottom: 150px;
+    .block {
+        .box-sizing();
+        float: left;
+        width: 50%;
+        > .title {
+            margin-bottom: 25px;
+        }
+        .actions {
+            .box-sizing();
+            text-align: right;
+            position: absolute;
+            bottom: 140px;
+            width: 50%;
+            padding: 0 40px;
+            .secondary {
+                margin-bottom: -2em;
+                margin-top: 0.8em;
+                line-height: 1.2em;
+                float: right;
+            }
+        }
+        &.login {
+            padding-right: 90px;
+            .actions {
+                margin-left: -90px;
+            }
+        }
+        &.new {
+            padding-left: 40px;
+            .actions {
+                margin-left: -40px;
+            }
+            &:before {
+                content: '';
+                border-left: 1px solid;
+                .borderColor(@primary1);
+                position: absolute;
+                top: 40px;
+                margin-left: -40px;
+                bottom: 60px;
+            }
+        }
+    }
+    .action.login,
+    .action.create {
+        &:extend(.primary.action all);
+    }
+}
+
+.form.login {
+    .fieldset.login {
+        .formFieldset();
+        .formInline(40%);
+        margin: 0;
+        padding: 0;
+        border: 0;
+        .field {
+            .fieldStyle();
+            .label {
+                padding-top: 7px;
+                padding-right: 10px;
+                text-align: right;
+            }
+        }
+    }
+}
+
+.action.reload {
+    .resetAction();
+    position: absolute;
+    background: #fff;
+    padding: 2px;
+    span {
+        // TODO: add 'reload' icon to mui
+        .iconAfter(@content: @icon-info, @size: 22px, @font: "icons");
+        .iconHideText(22px);
+        color: @secondary1;
+        text-shadow: 0px 1px rgba(0, 0, 0, 0.4);
+    }
+}
+
+/*
+    Registration
+-------------------------------------- */
+.form.send.friend,
+.form.address.edit,
+.form.edit.account,
+.form.search.advanced,
+.form.orders.search,
+.form.contact,
+.form.password.forget,
+.form.create.account,
+.form.wishlist.share,
+.form.password.reset,
+.form.paypal.review {
+    .fieldset {
+        .box-sizing();
+        .formCols();
+        .formFieldset();
+        width: 690px;
+        background: @primary1;
+        padding: 30px 10px 30px 30px;
+        border: 0;
+        margin: 0 0 40px;
+        position: relative;
+        z-index: 1;
+        .legend {
+            float: left;
+            line-height: 1.2;
+            font-size: 20px;
+            font-weight: @baseFontWeight;
+            padding-bottom: 20px;
+            width: 100%;
+            padding: 0 40px 20px 0;
+            background: #fff;
+            margin: -30px -10px 30px -30px;
+            & + br {
+                display: block;
+                clear: both;
+            }
+        }
+        > .field {
+            .formField();
+            .fieldStyle();
+            > .label {
+                display: block;
+                padding: 0 0 5px;
+            }
+            margin-bottom: 20px;
+        }
+        > .field.note,
+        .field.street,
+        .field.choice.newsletter {
+            width: 100%;
+        }
+        .field.fullname {
+            width: 100%;
+            .fields.group-5 .field {
+                width: 20%;
+            }
+        }
+        .field.dob {
+            .fields.group .field {
+                width: 33%;
+                position: relative;
+                z-index: 1;
+                .label {
+                    position: absolute;
+                    bottom: 0;
+                    font-size: @baseFontSizeMiddle;
+                    line-height: 16px;
+                }
+                input {
+                    margin-bottom: 16px;
+                }
+            }
+        }
+    }
+    .action.save,
+    .action.submit,
+    .action.add {
+        &:extend(.primary.action all);
+    }
+    .actions {
+        .clearfix();
+        .primary {
+            float: right;
+        }
+        .secondary {
+            float: left;
+        }
+        width: 690px;
+    }
+    .fieldset.create.account {
+        &:after {
+            content: attr(data-hasrequired);
+            display: block;
+            position: absolute;
+            top: 100%;
+            left: 0;
+            padding: 10px 0 0;
+            letter-spacing: normal;
+            word-spacing: normal;
+            color: @secondary1;
+        }
+    }
+}
+
+.form.send.friend {
+    .fieldset.recipients {
+        .fields {
+            .clearfix();
+            margin-bottom: 30px;
+            position: relative;
+            z-index: 1;
+            .field {
+                .box-sizing();
+                width: 50%;
+                padding-right: 20px;
+                float: left;
+            }
+            .action.delete {
+                position: absolute;
+                right: 0;
+                top: 50%;
+            }
+        }
+    }
+    .actions > .primary {
+        .action.submit {
+            float: right;
+            margin-left: 10px;
+        }
+        float: right;
+        text-align: right;
+        .action.add {
+            &:extend(.secondary.action all)
+        ;
+        }
+        .limit {
+            margin: 0;
+            display: inline-block;
+        }
+    }
+}
+
+.form.address.edit .field.company,
+.form.edit.account .field.password.current,
+.form.edit.account .field.choice {
+    margin-right: 30%;
+}
+
+.form.address.edit .field.note.default,
+.form.address.edit .field.choice.set,
+.form.wishlist.share .field.emails,
+.form.wishlist.share .field.text,
+.form.wishlist.share .field.choice {
+    width: 100%;
+}
+
+// Move to other place
+.form.search.advanced,
+.form.orders.search,
+.form.contact {
+    .box-sizing();
+    background: @primary1;
+    padding: 40px;
+    .fieldset {
+        width: auto;
+        background: none;
+        margin-bottom: 0;
+        .legend {
+            background: none;
+        }
+    }
+    .actions {
+        width: auto;
+        padding-right: 30px;
+        text-align: right;
+    }
+    .action {
+        &:extend(.primary.action all);
+    }
+    .fields.range {
+        .field:first-child {
+            .control {
+                padding-right: 30px;
+                position: relative;
+                &:after {
+                    content: '\2014';
+                    display: inline-block;
+                    margin-right: 0;
+                    position: absolute;
+                    right: 6px;
+                    top: 5px;
+                    text-align: center;
+                    width: 25px;
+                }
+            }
+        }
+    }
+}
+
+.form.contact {
+    .fieldset {
+        .field {
+            float: left;
+            width: 40%;
+            margin-right: 60%;
+            &.comment {
+                width: 55%;
+                margin-left: -55%;
+                margin-right: 0;
+                float: none;
+                textarea {
+                    min-height: 13.2em;
+                }
+            }
+        }
+    }
+}
+
+/*
+    Review paypal express checkout order
+-------------------------------------- */
+.paypal.review.view {
+    .paypal.subtitle.caption {
+        margin-bottom: 25px;
+        .action {
+            margin-left: 10px;
+        }
+        strong {
+            font-size: 20px;
+            font-weight: 200;
+            line-height: 1.2;
+        }
+    }
+    .form.paypal.review {
+        .fieldset {
+            width: 100%;
+            &.shipping.address {
+                float: right;
+                width: 49%;
+            }
+            &.billing.address {
+                float: left;
+                width: 49%;
+            }
+            &.shipping.method {
+                clear: both;
+            }
+            .nested {
+                margin-top: 10px;
+            }
+        }
+    }
+    .actions {
+        margin-top: 35px;
+        .action.update {
+            &:extend(.secondary.action all)
+        ;
+            margin-left: 10px;
+        }
+    }
+    .data.table.paypal.review.items {
+        width: 100%;
+        td,
+        th {
+            padding: 10px 20px;
+            text-align: left;
+            &.col.total {
+                text-align: right;
+            }
+        }
+        th {
+            font-size: 16px;
+            font-weight: 400;
+        }
+        tbody tr:nth-child(odd) td {
+            background: @primary1;
+        }
+        tfoot tr:first-child td {
+            border-top: 3px solid @primary2;
+            padding-top: 15px;
+        }
+    }
+}
+
+/*
+    MISC
+-------------------------------------- */
+.action.back {
+    span:before {
+        content: '\00AB\00A0';
+    }
+}
+
+/*
+    Magento_Customer
+    Account
+-------------------------------------- */
+.col2-left-layout.account {
+    .column.main {
+        .column(9);
+    }
+    .column.left {
+        .column(3);
+    }
+}
+
+.block.account.nav {
+    .title {
+        font-size: 18px;
+    }
+    .item {
+        margin-bottom: 10px;
+        &.current {
+            color: @secondary1;
+        }
+    }
+    .item strong {
+        font-weight: 400;
+    }
+}
+
+.my-account {
+    .pager {
+        .amount,
+        .limiter {
+            display: inline-block;
+        }
+    }
+    .form {
+        .fieldset > .legend {
+            margin: 0 0 30px;
+        }
+    }
+    > .actions,
+    .form > .actions,
+    .block > .actions {
+        .clearfix();
+        margin: 30px 0 0;
+        > .primary {
+            float: right;
+        }
+        > .secondary {
+            float: left;
+        }
+    }
+
+    .data.table {
+        width: 100%;
+        td,
+        th {
+            padding: 10px 20px;
+            text-align: left;
+            &.col.actions {
+                white-space: nowrap;
+                .action:last-child {
+                    margin-left: 20px;
+                }
+            }
+            em {
+                font-style: normal;
+            }
+        }
+        th {
+            font-size: 16px;
+            font-weight: @baseFontWeight;
+        }
+        tr:nth-child(odd) td {
+            background: @primary1;
+        }
+    }
+}
+
+.block.dashboard {
+    .title .action,
+    .subtitle .action {
+        font-weight: @baseFontWeight;
+        font-size: @baseFontSize;
+        margin-left: 20px;
+        text-decoration: underline;
+        display: inline-block;
+        text-transform: lowercase;
+        span {
+        }
+        &:first-letter {
+            text-transform: uppercase;
+        }
+    }
+    .box {
+        .box-sizing();
+        float: left;
+        width: 50%;
+        line-height: 1.666;
+        address {
+            font-style: normal;
+        }
+    }
+    .content {
+        .clearfix();
+    }
+}
+
+.block.dashboard:not(.welcome):not(.orders) {
+    .content {
+        background: @primary1;
+        padding: 30px;
+    }
+    .subtitle {
+        font-size: 18px;
+        font-weight: @baseFontWeightLighter;
+        display: block;
+        margin-bottom: 20px;
+    }
+}
+
+.data.table.orders {
+    td,
+    th {
+        &.col.total {
+            text-align: right;
+        }
+    }
+}
+
+/*
+    Address book
+-------------------------------------- */
+.block.addresses:not(.dashboard) {
+    .box-sizing();
+    float: left;
+    .title .action,
+    .subtitle .action {
+        font-weight: @baseFontWeight;
+        font-size: @baseFontSize;
+        margin-left: 20px;
+        text-decoration: underline;
+        display: inline-block;
+        text-transform: lowercase;
+        &:first-letter {
+            text-transform: uppercase;
+        }
+    }
+    .content {
+        background: @primary1;
+        padding: 30px;
+    }
+    .subtitle {
+        font-size: 18px;
+        font-weight: @baseFontWeightLighter;
+        display: block;
+        margin-bottom: 20px;
+    }
+    .box {
+        &:first-child {
+            margin-bottom: 30px;
+        }
+    }
+    address {
+        line-height: 1.666;
+        font-style: normal;
+    }
+    &.default {
+        float: left;
+        width: 60%;
+    }
+    &.list {
+        float: right;
+        width: 35%;
+        .item {
+            margin-bottom: 30px;
+        }
+        .item.actions {
+            margin-top: 15px;
+        }
+        .action {
+            margin-right: 10px;
+        }
+    }
+}
+
+.customer-address-index .column.main .actions {
+    clear: left;
+}
+
+/*
+    My Account -> My Product Reviews
+-------------------------------------- */
+.data.table.reviews {
+    .product.name {
+        margin: 0;
+    }
+}
+
+/*
+    My Account -> My Wishlist
+-------------------------------------- */
+.data.table.wishlist {
+    @optionsBg: rgba(0, 0, 0, .8);
+    @optionsColor: #fff;
+
+    margin-bottom: 15px;
+
+    thead th {
+        padding-top: 0;
+        padding-bottom: 10px;
+        text-align: left;
+        font-weight: @baseFontWeight;
+        font-size: @baseFontSizeBigger;
+    }
+
+    td,
+    th {
+        padding: 16px 10px 10px;
+        vertical-align: top;
+    }
+
+    td:first-child,
+    th:first-child {
+        padding-left: 20px;
+    }
+
+    td:last-child,
+    th:last-child {
+        padding-right: 20px;
+    }
+
+    tbody tr:nth-child(even) {
+        background: @primary1;
+    }
+
+    textarea {
+        width: 100%;
+    }
+
+    .box.tocart .qty {
+        width: 50px;
+    }
+
+    & + .actions {
+        .primary {
+            margin-bottom: 15px;
+            .action.share,
+            .action.update {
+                &:extend(.primary.action all);
+                padding: 5px 11px;
+            }
+            .action.update {
+                margin-left: 5px;
+            }
+        }
+    }
+
+    .col.photo {
+        width: 100px;
+    }
+    .col.actions {
+        width: 200px;
+    }
+
+    .item-options {
+        background: @optionsBg;
+        color: @optionsColor;
+        display: none;
+        position: absolute;
+        border-radius: 5px;
+        padding: 10px;
+        right: 100%;
+        top: 50%;
+        margin-top: -20px;
+        margin-right: 15px;
+        max-width: 200px;
+        min-width: 100px;
+        > p {
+            margin-top: 0;
+        }
+        dl {
+            margin: 0;
+            dt {
+                display: inline;
+                float: left;
+                clear: left;
+                font-weight: 600;
+                &:after {
+                    content: ':';
+                    margin-right: 5px;
+                }
+            }
+            dd {
+                margin: 0;
+            }
+        }
+    }
+
+    .truncated {
+        .truncated_full_value {
+            position: relative;
+            &.show {
+                &:before {
+                    content: '';
+                    border-left: 10px solid @optionsBg;
+                    border-top: 10px solid transparent;
+                    border-bottom: 10px solid transparent;
+                    height: 0;
+                    width: 0;
+                    overflow: hidden;
+                    display: block;
+                    position: absolute;
+                    top: 3px;
+                    margin-top: 0;
+                    left: -15px;
+                    z-index: 2;
+                }
+                .item-options {
+                    display: block;
+                }
+            }
+        }
+        .details {
+            font-size: @baseFontSizeMiddle;
+            border-bottom: 1px dotted @link;
+            cursor: help;
+        }
+    }
+}
+
+/*
+    Page -> Advanced Search
+-------------------------------------- */
+.form.search.advanced {
+    .range.price.fields.group {
+        .field {
+            .box-sizing();
+            .column(6);
+            padding-right: 0;
+        }
+        .field:first-child input {
+            width: 96%;
+        }
+    }
+    .range.dates.fields.group {
+        .field {
+            .box-sizing();
+            .column(6);
+            padding-right: 0;
+            .control {
+                padding-right: 20px;
+            }
+        }
+        .field:first-child .control {
+            padding-right: 50px;
+            .ui-datepicker-trigger {
+                right: 32px;
+            }
+        }
+    }
+    .group.price {
+        .addon {
+            .addafter {
+                color: @textColor;
+                border: none;
+                background: none;
+            }
+        }
+    }
+}
+
+/*
+    Popular Search Terms
+-------------------------------------- */
+.search.terms {
+    .resetList();
+    .item {
+        display: inline-block;
+        margin-right: 3px;
+    }
+}
+
+/*
+    My Account -> My orders
+-------------------------------------- */
+.order.details {
+    .clearfix();
+
+    .status {
+        margin: 0 0 .5em;
+        line-height: 1.2;
+        font-weight: 400;
+        font-size: 30px;
+        float: left;
+    }
+
+    .subtitle.caption,
+    .title {
+        strong {
+            line-height: 1.2;
+            font-weight: 200;
+            font-size: 20px;
+        }
+        .action {
+            margin-left: 10px;
+        }
+    }
+
+    .subtitle.caption {
+        margin-bottom: 45px;
+    }
+
+    .order.toolbar {
+        clear: none;
+        float: right;
+
+        .action {
+            margin-left: 10px;
+        }
+    }
+
+    .block.order {
+        float: left;
+        width: 48%;
+        padding-right: 2%;
+
+        &.billing.address {
+            clear: left;
+        }
+        .content {
+            background: @primary1;
+            padding: 30px;
+        }
+    }
+
+    .order.info {
+        clear: both;
+
+        > dt {
+            line-height: 1.2;
+            font-weight: 200;
+            font-size: 20px;
+        }
+
+        > dd {
+            margin: 10px 0 0 0;
+            background: @primary1;
+            padding: 30px;
+
+            .items {
+                .clearfix();
+                .item {
+                    float: left;
+                    margin-right: 15px;
+                }
+            }
+        }
+    }
+
+    .additional.details {
+        margin-bottom: 45px;
+        .order.comments {
+            background: @primary1;
+            padding: 30px;
+        }
+        .subtitle.caption {
+            font-size: 20px;
+            font-weight: 200;
+            line-height: 1.2;
+            margin-bottom: 15px;
+        }
+        &.gift {
+            .gift.message {
+                background: @primary1;
+                padding: 30px;
+                dt {
+                    margin: 0;
+                }
+                dd {
+                    margin: 0 0 0 40px;
+                }
+            }
+        }
+    }
+}
+
+.order.details.items {
+    .order.toolbar {
+        margin: 5px 0 0 0;
+    }
+    .order.title {
+        margin-bottom: 10px;
+    }
+    h3.product-name {
+        margin: 0;
+    }
+    .action.show {
+        text-decoration: none;
+        .iconAfter(@content: @icon-arrow-up-filled, @size: 12px, @font: "icons");
+        &.expanded:after {
+            content: @icon-arrow-bottom-filled;
+        }
+    }
+}
+
+.shipping-tracking-popup {
+    .action.close {
+        &:extend(.secondary.action all);
+        text-indent: 0;
+
+        span {
+            width: auto;
+            text-indent: 0;
+            &:after {
+                content: "";
+                display: none;
+            }
+        }
+    }
+}
+
+.data.table.order {
+    margin-bottom: 45px;
+    width: 100%;
+
+    thead th {
+        padding: 0 10px;
+    }
+
+    thead tr:last-child th {
+        padding-bottom: 10px;
+    }
+
+    td.col.qty {
+        width: 90px;
+        text-align: left;
+    }
+
+    td.col.price,
+    td.col.subtotal {
+        text-align: left;
+    }
+    td {
+        padding: 16px 10px 10px;
+        vertical-align: top;
+
+        h4 {
+            margin: 0;
+        }
+    }
+    td:first-child,
+    th:first-child {
+        padding-left: 20px;
+    }
+    td:last-child,
+    th:last-child {
+        padding-right: 20px;
+    }
+    tbody:nth-child(even) tr {
+        background: @primary1;
+    }
+    th {
+        text-align: left;
+        font-weight: 400;
+        font-size: 14px;
+        vertical-align: top;
+    }
+    tr:first-child th {
+        font-weight: 400;
+        font-size: 16px;
+    }
+    .item-options {
+        margin: 5px 0;
+
+        dt {
+            font-weight: 400;
+            display: inline;
+            margin-right: 10px;
+            float: left;
+            clear: left;
+
+            &:after {
+                content: ': ';
+            }
+        }
+        dd {
+            font-weight: 200;
+            margin: 0 0 5px 10px;
+            padding: 0;
+        }
+    }
+
+    tfoot tr:first-child td {
+        border-top: 3px solid @primary2;
+        padding-top: 15px;
+    }
+
+    &.tracking {
+        th, td {
+            padding: 0;
+        }
+        .label {
+            width: 40%;
+        }
+    }
+}
+
+/*
+    My Account -> Billing agreements
+-------------------------------------- */
+.billing.agreements {
+    .data.table {
+        margin-bottom: 40px;
+    }
+    .form.new.agreement {
+        .formCols(30%);
+
+        .fieldset {
+            margin: 0;
+            > .legend {
+                margin: 0 0 20px;
+            }
+        }
+
+        .action.create {
+            padding-top: 7px;
+            padding-bottom: 6px;
+        }
+    }
+}
+
+/*
+    Overlay popup
+-------------------------------------- */
+.window.overlay {
+    background: @primeBlackOpacity;
+    display: none;
+    min-height: 100%;
+    position: absolute;
+    top: 0;
+    left: 0;
+    width: 100%;
+    z-index: 990;
+    &.active {
+        display: block;
+    }
+}
+
+.popup {
+    background: @primary7;
+    left: 50%;
+    top: 40%;
+    position: absolute;
+    margin: -85px 0 0 -250px;
+    width: 500px;
+    z-index: 1000;
+    position: fixed;
+    display: none;
+    &.active {
+        display: block;
+    }
+    .close span {
+        .iconHideText();
+    }
+    .title {
+        font-size: 18px;
+        margin: 0 0 30px;
+    }
+}
diff --git a/app/design/frontend/magento_plushe/less/styles/base.less b/app/design/frontend/magento_plushe/less/styles/base.less
new file mode 100644
index 0000000000000000000000000000000000000000..eeff2fad496e17fdc6282a6d17aefde3b415a67d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/styles/base.less
@@ -0,0 +1,429 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+
+// #General reset
+//  For resetting default browser styles of standard html elements ClearLess library provides normalize or reset solution. Here we use **normalize**. It sets default parameters to certain values.
+//
+//  **If the property of an element is not set directly in this document, it is inherited from normalize** (http://github.com/necolas/normalize.css)
+//
+//  #General settings
+//
+//  Applying custom font
+//
+//  Setting font for html, body, button, input, select, textarea
+//
+//  Reseting elements styles: nav ul, nav ol
+//
+
+.font-face( "sourcesanspro", "@{baseDir}/fonts/sourcesanspro/sourcesanspro-200-normal-webfont", 200, normal, true );
+.font-face( "sourcesanspro", "@{baseDir}/fonts/sourcesanspro/sourcesanspro-200-normal-webfont", 200, normal, true );
+.font-face( "sourcesanspro", "@{baseDir}/fonts/sourcesanspro/sourcesanspro-400-normal-webfont", 400, normal, true );
+.font-face( "sourcesanspro", "@{baseDir}/fonts/sourcesanspro/sourcesanspro-600-normal-webfont", 600, normal, true );
+.font-face( "sourcesanspro", "@{baseDir}/fonts/sourcesanspro/sourcesanspro-700-normal-webfont", 700, normal, true );
+.font-face( "marvel", "@{baseDir}/fonts/marvel/marvel-400-normal-webfont", 400, normal, true );
+
+.font-face( "icons", "@{baseDir}/fonts/icons/icons", 400, normal, true );
+
+@baseDir: ~".."; //default
+
+html, body, button, input, select, textarea {
+    font: @baseFontWeight @baseFontSize/@baseLineHeight @baseFont;
+    color: @baseColor;
+}
+
+nav ul, nav ol {
+    .resetList();
+}
+
+//  # Headings
+//
+//  ```html
+//  <h1>Heading 1</h1>
+//
+//  <h2>Heading 2</h2>
+//
+//  <h3>Heading 3</h3>
+//
+//  <h4>Heading 4</h4>
+//
+//  <h5>Heading 5</h5>
+//
+//  <h6>Heading 6</h6>
+//  ```
+//
+
+h1 {
+    color: @h1color;
+    font: @h1font;
+}
+
+h2 {
+    color: @h2color;
+    font: @h2font;
+}
+
+h3 {
+    color: @h3color;
+    font: @h3font;
+}
+
+h4 {
+    color: @h4color;
+    font: @h4font;
+}
+
+h5 {
+    color: @h5color;
+    font: @h5font;
+}
+
+h6 {
+    color: @h6color;
+    font: @h6font;
+}
+
+// #Links
+//
+//  ```html
+//  <a href="#">Link</a>
+//  <a class=":visited" href="#">Visited link</a>
+//  <a class=":hover" href="#">Hovered link</a>
+//  <a class=":active" href="#">Active link</a>
+//  ```
+//
+
+a {
+    color: @link;
+    text-decoration: none;
+    &:visited {
+        color: @link;
+    }
+    &:hover,
+    &:active {
+        color: @linkHover;
+    }
+}
+
+//  #Inline markup
+//
+//  #abbr
+//
+//  ```html
+//  The <abbr>abbr element</abbr> and <abbr title="Title text">abbr element with title</abbr> examples
+//  ```
+
+
+//  #b
+//
+//  ```html
+//  The <b>b element</b> example
+//  ```
+
+//  #strong
+//
+//  ```html
+//  The <strong>strong element</strong> example
+//  ```
+
+//  #em
+//
+//  ```html
+//  The <em>em element</em> example
+//  ```
+//
+
+//  #i
+//
+//  ```html
+//  The <i>i element</i> example
+//  ```
+//
+
+//  #cite
+//
+//  ```html
+//  The <cite>cite element</cite> example
+//  ```
+//
+
+//  #code
+//
+//  ```html
+//  The <code>code element</code> example
+//  ```
+//
+
+//  #del
+//
+//  ```html
+//  The <del>del element</del> example
+//  ```
+//
+
+//  #s
+//
+//  ```html
+//  The <s>s element</s> example
+//  ```
+//
+
+//  #img
+//
+//  ```html
+//  The img element <img src="http://lorempixel.com/16/16/abstract" alt="example"> example
+//  ```
+//
+
+//  #mark
+//
+//  ```html
+//  The <mark>mark element</mark> example
+//  ```
+//
+
+//  #q
+//
+//  ```html
+//  The <q>q element <q>inside</q> a q element</q> example
+//  ```
+//
+
+q {
+    &:before {
+        content: "\201c";
+    }
+    &:after {
+        content: "\201d";
+    }
+    q {
+        &:before {
+            content: "\2018";
+        }
+        &:after {
+            content: "\2019";
+        }
+    }
+}
+
+//  #small
+//
+//  ```html
+//  The <small>small element</small> example
+//  ```
+//
+
+//  #sub
+//
+//  ```html
+//  The <sub>subscript element</sub> example
+//  ```
+//
+
+//  #sup
+//
+//  ```html
+//  The <sup>superscript element</sup> example
+//  ```
+//
+
+//  #u
+//
+//  ```html
+//  The <u>u element</u> example
+//  ```
+//
+
+// #Paragraph
+//
+//  ```html
+//  <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi luctus. Duis lobortis. Nulla nec velit. Mauris pulvinar erat non massa. Suspendisse tortor turpis, porta nec, tempus vitae, iaculis semper, pede.</p>
+//  <p>Cras vel libero id lectus rhoncus porta. Suspendisse convallis felis ac enim. Vivamus tortor nisl, lobortis in, faucibus et, tempus at, dui.</p>
+//  ```
+//
+
+// #Ordered list
+//
+//  ```html
+//  <ol>
+//      <li>Item 1</li>
+//      <li>Item 2</li>
+//      <li>Item 3
+//          <ol>
+//              <li>Item 1</li>
+//              <li>Item 2</li>
+//              <li>Item 3</li>
+//          </ol>
+//      </li>
+//      <li>Item 4</li>
+//  </ol>
+//  ```
+//
+
+// #Unordered list
+//
+//  ```html
+//  <ul>
+//      <li>Item 1</li>
+//      <li>Item 2</li>
+//      <li>Item 3
+//          <ol>
+//              <li>Item 1</li>
+//              <li>Item 2</li>
+//              <li>Item 3</li>
+//          </ol>
+//      </li>
+//      <li>Item 4</li>
+//  </ul>
+//  ```
+//
+
+// #Descriptions
+//
+//  ```html
+//    <dl>
+//        <dt>Title 1</dt>
+//        <dd>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi luctus. Duis lobortis. Nulla nec velit. Mauris pulvinar erat non massa. Suspendisse tortor turpis, porta nec, tempus vitae, iaculis semper, pede. Cras vel libero id lectus rhoncus porta. Suspendisse convallis felis ac enim. Vivamus tortor nisl, lobortis in, faucibus et, tempus at, dui. Nunc risus. Proin scelerisque augue. Nam ullamcorper. Phasellus id massa. Pellentesque nisl. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc augue. Aenean sed justo non leo vehicula laoreet. Praesent ipsum libero, auctor ac, tempus nec, tempor nec, justo.</dd>
+//        <dt>Title 2</dt>
+//        <dd>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi luctus. Duis lobortis. Nulla nec velit. Mauris pulvinar erat non massa. Suspendisse tortor turpis, porta nec, tempus vitae, iaculis semper, pede. Cras vel libero id lectus rhoncus porta. Suspendisse convallis felis ac enim. Vivamus tortor nisl, lobortis in, faucibus et, tempus at, dui. Nunc risus. Proin scelerisque augue. Nam ullamcorper. Phasellus id massa. Pellentesque nisl. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc augue. Aenean sed justo non leo vehicula laoreet. Praesent ipsum libero, auctor ac, tempus nec, tempor nec, justo.</dd>
+//    </dl>
+//  ```
+//
+
+// #Table
+//
+//  ```html
+//    <table>
+//        <thead>
+//            <tr>
+//                <th>#</th>
+//                <th>Column 1</th>
+//                <th>Column 2</th>
+//                <th>Column 3</th>
+//            </tr>
+//        </thead>
+//        <tbody>
+//            <tr>
+//                <td>1</td>
+//                <td>Cell 4</td>
+//                <td>Cell 5</td>
+//                <td>Cell 6</td>
+//            </tr>
+//            <tr>
+//                <td>2</td>
+//                <td>Cell 7</td>
+//                <td>Cell 8</td>
+//                <td>Cell 9</td>
+//            </tr>
+//            <tr>
+//                <td>3</td>
+//                <td>Cell 10</td>
+//                <td>Cell 11</td>
+//                <td>Cell 12</td>
+//            </tr>
+//            <tr>
+//                <td>4</td>
+//                <td>Cell 13</td>
+//                <td>Cell 14</td>
+//                <td>Cell 15</td>
+//            </tr>
+//            <tr>
+//                <td>5</td>
+//                <td>Cell 16</td>
+//                <td>Cell 17</td>
+//                <td>Cell 18</td>
+//            </tr>
+//        </tbody>
+//    </table>
+//  ```
+//
+
+table {
+    th {
+        border-right: 1px solid @primary2;
+        font-size: @baseFontSizeBigger;
+        padding: 7px 10px;
+        &:last-child {
+            border-right: 0;
+        }
+    }
+    td {
+        border-right: 1px solid @primary2;
+        padding: 7px 10px;
+        vertical-align: top;
+        &:last-child {
+            border-right: 0;
+        }
+    }
+    tbody tr:nth-child(odd) td {
+        background: @primary1;
+    }
+}
+
+// #Blockquote
+//
+//  ```html
+//  <blockquote>
+//    <p>The cite element represents the title of a work (e.g. a book, a paper, an essay, a poem, a score, a song, a script, a film, a TV show, a game, a sculpture, a painting, a theatre production, a play, an opera, a musical, an exhibition, a legal case report, etc). This can be a work that is being quoted or referenced in detail (i.e. a citation), or it can just be a work that is mentioned in passing.</p>
+//    <p>A person's name is not the title of a work — even if people call that person a piece of work — and the element must therefore not be used to mark up people's names. (In some cases, the b element might be appropriate for names; e.g. in a gossip article where the names of famous people are keywords rendered with a different style to draw attention to them. In other cases, if an element is really needed, the span element can be used.)</p>
+//    <cite>http://www.w3.org/html/wg/drafts/html/master/text-level-semantics.html</cite>
+//  </blockquote>
+//  ```
+//
+
+blockquote {
+    margin: 10px 20px 10px 40px;
+    &:before {
+        color: @primary4;
+        content: "\201C";
+        display: block;
+        font-family: Georgia, serif;
+        font-size: 60px;
+        font-style: italic;
+        position: absolute;
+        left: 15px;
+        top: 10px;
+    }
+    cite {
+        color: @primary4;
+        font-style: italic;
+        font-size: @baseFontSizeMiddle;
+        margin: 1em 0;
+    }
+}
+
+// #HR
+//
+//  ```html
+//  <hr>
+//  ```
+//
+
+hr {
+    background: @primary3;
+    border: 0;
+    color: @primary3;
+    height: 1px;
+    margin: 1em 0;
+}
diff --git a/app/design/frontend/magento_plushe/less/styles/magento.less b/app/design/frontend/magento_plushe/less/styles/magento.less
new file mode 100644
index 0000000000000000000000000000000000000000..79fd72340b53ce292cbf2182980a74fa77f79409
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/styles/magento.less
@@ -0,0 +1,1549 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+
+//  #Mixins
+//
+//  Common mixins used for styling magento elements
+//
+
+.pagerLabel() {
+    font-weight: @baseFontWeight;
+    line-height: 25px;
+    margin-right: 5px;
+}
+
+//  #Search form
+//
+//  ```html
+//    <div class="block search">
+//        <div class="title"><strong>Search</strong></div>
+//        <div class="content search">
+//        <form class="form minisearch">
+//            <div class="field search">
+//                <label for="search" class="label">Search</label>
+//                <div class="control">
+//                    <input type="text" class="input-text" placeholder="Search entire store here..." value="" name="q">
+//                    <a href="#" class="action advanced">Advanced Search</a>
+//                </div>
+//            </div>
+//            <div class="actions">
+//                <button class="action search" type="submit"><span>Search</span></button>
+//            </div>
+//        </form>
+//        </div>
+//    </div>
+//  ```
+//
+
+.block.search {
+    input {
+        border-radius: 3px 0 0 3px;
+        border-right: 0;
+        float: left;
+        width: 100%;
+        &:focus + {
+            border-color: @primary3;
+        }
+    }
+    .field .control {
+        width: 260px;
+    }
+    .label,
+    > .title,
+    .action.advanced {
+        display: none;
+    }
+    .action.search {
+        background: @primary7;
+        border: 1px solid @primary3;
+        border-radius: 0 3px 3px 0;
+        color: @primary3;
+        float: left;
+        padding: 7px;
+        &:hover {
+            color: @primary6;
+        }
+        span {
+            .iconAfter(@icon-magnifying-glass, 16px, 0, 'icons');
+            .iconHideText(16px);
+        }
+        .search.autocomplete {
+            display: none !important;
+        }
+    }
+    ::-webkit-input-placeholder {
+        color: @primary4;
+    }
+    :-moz-placeholder {
+        color: @primary4;
+    }
+    ::-moz-placeholder {
+        color: @primary4;
+    }
+    :-ms-input-placeholder {
+        color: @primary4;
+    }
+}
+
+//  #Newsletter sign up form
+//
+//  ```html
+//    <div class="block newsletter">
+//        <div class="title"><strong>Newsletter</strong></div>
+//        <div class="content">
+//            <form>
+//                <div class="field newsletter">
+//                    <label for="newsletter" class="label">Sign Up for Our Newsletter:</label>
+//                    <div class="control">
+//                        <input type="text" placeholder="Enter your email address" name="email">
+//                    </div>
+//                    <div class="actions">
+//                        <button type="submit" title="Subscribe" class="action subscribe">
+//                            <span>Subscribe</span>
+//                        </button>
+//                    </div>
+//                </div>
+//            </form>
+//        </div>
+//    </div>
+//  ```
+//
+
+.block.newsletter {
+    > .title {
+        display: none;
+    }
+    .label {
+        display: block;
+        font-size: @baseFontSizeBigger;
+        line-height: 1.2;
+        margin-bottom: 10px;
+    }
+    .control {
+        .box-sizing();
+        float: left;
+        padding-right: 45px;
+        width: 100%;
+    }
+    input[type="text"] {
+        width: 100%;
+    }
+    .actions {
+        float: right;
+        margin-left: -45px;
+        padding-left: 10px;
+    }
+    .action.subscribe {
+        .box-sizing();
+        background: @primaryActionBg;
+        border-radius: 3px;
+        border: 1px solid @primaryActionBg;
+        padding: 7px;
+        vertical-align: top;
+        &:hover {
+            background: @primaryActionBgH;
+        }
+        span {
+            .iconAfter(@icon-envelope, 16px, 0, "icons");
+            .iconHideText(16px);
+            color: @primary7;
+        }
+    }
+}
+
+//  #Mage Catalog
+//
+//  #Breadcrumbs
+//
+//  ```html
+//    <div class="breadcrumbs">
+//        <ul class="items">
+//            <li class="item">
+//                <a href="#">Home</a>
+//            </li>
+//            <li class="item">
+//                <a href="#">Level 1</a>
+//            </li>
+//            <li class="item">
+//                <strong>Level 2</strong>
+//            </li>
+//        </ul>
+//    </div>
+//  ```
+//
+
+.breadcrumbs {
+    font-size: @baseFontSizeMiddle;
+    .items {
+        margin: 0;
+        padding: 0;
+    }
+    .item {
+        display: inline;
+        font-weight: @baseFontWeightLighter;
+        &:before {
+            content: " / ";
+        }
+        &:first-child:before {
+            content: "";
+        }
+    }
+    strong {
+        font-weight: @baseFontWeight;
+    }
+}
+
+// #Pager
+//
+//  ```html
+//    <div class="pages">
+//        <strong class="label">Page</strong>
+//        <ol class="items">
+//            <li class="item"><a href="#" class="action previous"><span>Previous</span></a></li>
+//            <li class="item"><a href="#"><span>1</span></a></li>
+//            <li class="item current"><strong><span>2</span></strong></li>
+//            <li class="item"><a href="#"><span>3</span></a></li>
+//            <li class="item"><a title="Next" href="#" class="action next"><span>Next</span></a></li>
+//        </ol>
+//    </div>
+//  ```
+//
+
+.pages {
+    ol {
+        .resetList();
+    }
+    .item {
+        display: inline-block;
+    }
+    a {
+        padding: 0 3px;
+    }
+    strong {
+        color: @secondary1;
+        font-weight: normal;
+        padding: 0 3px;
+    }
+    > .label {
+        display: none;
+    }
+    .action {
+        &.previous {
+            .iconAfter(@icon-arrow-left-thick, 16px, 0, "icons");
+            .iconHideText(16px);
+            display: inline-block;
+        }
+        &.next {
+            .iconAfter(@icon-arrow-right-thick, 16px, 0, "icons");
+            .iconHideText(16px);
+            display: inline-block;
+        }
+        color: @primary3;
+        &:hover {
+            color: darken(@primary3, 20%);
+        }
+    }
+}
+
+// #View switcher
+//
+//  ```html
+//    <div class="modes">
+//        <strong class="label">View as</strong>
+//        <strong class="mode active grid">
+//            <span>Grid</span>
+//        </strong>
+//        <a href="#" class="mode list">
+//            <span>List</span>
+//        </a>
+//        <strong class="label">View as</strong>
+//        <a href="#" class="mode grid">
+//            <span>Grid</span>
+//        </a>
+//        <strong class="mode active list">
+//            <span>List</span>
+//        </strong>
+//    </div>
+//  ```
+//
+
+.modes {
+    .label {
+        display: none;
+    }
+    .mode {
+        border: 1px solid @primary3;
+        color: @primary3;
+        display: inline-block;
+        margin: 0 3px;
+        overflow: hidden;
+        padding: 4px;
+        &.active {
+            background: @primary3;
+            border-color: @primary3;
+            cursor: default;
+            color: @primary7;
+            span {
+                color: @primary7;
+            }
+            &:hover {
+                background: @primary3;
+                border-color: @primary3;
+                color: @primary7;
+                span {
+                    color: @primary7;
+                }
+            }
+        }
+        &:hover {
+            background: @primary4;
+            border-color: @primary4;
+            color: @primary7;
+            span {
+                color: @primary7;
+            }
+        }
+        &.grid {
+            .iconAfter(@icon-grid, 13px, 0, "icons");
+            .iconHideText(13px);
+            display: inline-block;
+        }
+        &.list {
+            .iconAfter(@icon-list, 13px, 0, "icons");
+            .iconHideText(13px);
+            display: inline-block;
+        }
+    }
+}
+
+// #"Sort by" switcher
+//
+//  ```html
+//    <div class="sorter">
+//        <label for="sorter" class="label">Sort By</label>
+//        <select data-mage-redirect="{'event':'change'}" id="sorter">
+//            <option selected="selected" value="">Position</option>
+//            <option value="">Name</option>
+//            <option value="">Price</option>
+//        </select>
+//        <a class="action sort desc" title="Set Ascending Direction" href="#">
+//            <span>Set Ascending Direction</span>
+//        </a>
+//        <a class="action sort asc" title="Set Descending Direction" href="#">
+//            <span>Set Descending Direction</span>
+//        </a>
+//    </div>
+//  ```
+//
+
+.sorter {
+    .label {
+        .pagerLabel();
+    }
+    select {
+        padding: 0;
+    }
+    .action.sort {
+        &.desc {
+            .iconAfter(@icon-arrow-down-thick, 13px, 0, "icons");
+            .iconHideText(13px);
+            display: inline-block;
+        }
+        &.asc {
+            .iconAfter(@icon-arrow-up-thick, 13px, 0, "icons");
+            .iconHideText(13px);
+            display: inline-block;
+        }
+    }
+}
+
+// #Pager limiter
+//
+//  ```html
+//    <div class="limiter">
+//        <strong class="label">Show</strong>
+//        <select data-mage-redirect="{'event':'change'}" id="limiter">
+//            <option selected="selected" value="">5</option>
+//            <option value="">10</option>
+//            <option value="">15</option>
+//            <option value="">All</option>
+//        </select>
+//        <span class="text">per page</span>
+//    </div>
+//  ```
+//
+
+.limiter {
+    .label {
+        .pagerLabel();
+    }
+    select {
+        padding: 0;
+    }
+    .text {
+        display: none;
+    }
+}
+
+// #Tags
+//
+//  ```html
+//    <ul class="tags items cloud">
+//        <li class="tag item">
+//            <a class="tag text" href="#" style="font-size:75%;">widget</a>
+//            <span class="amount">34</span>
+//        </li>
+//        <li class="tag item">
+//            <a class="tag text" href="#" style="font-size:75%;">plugin</a>
+//            <span class="amount">6</span>
+//        </li>
+//        <li class="tag item">
+//            <a class="tag text" href="#" style="font-size:145%;">admin</a>
+//            <span class="amount">2</span>
+//        </li>
+//        <li class="tag item">
+//            <a class="tag text" href="#" style="font-size:75%;">sidebar</a>
+//            <span class="amount">4</span>
+//        </li>
+//        <li class="tag item">
+//            <a class="tag text" href="#" style="font-size:110%;">comments</a>
+//            <span class="amount">1</span>
+//        </li>
+//    </ul>
+//  ```
+//
+
+.tags.items.cloud {
+    .resetList();
+    margin: 0 0 20px;
+    .item {
+        .resetList();
+        display: inline-block;
+        margin: 0 0 5px 5px;
+        &:first-child {
+            margin-left: 0;
+        }
+    }
+    .amount {
+        margin-left: 3px;
+        &:before {
+            content: '(';
+        }
+        &:after {
+            content: ')';
+        }
+    }
+}
+
+// #Ratings
+//
+//  ```html
+//    <div class="field ratings">
+//        <label class="label"><span>How do you rate this product?</span></label>
+//        <div class="control">
+//            <div class="nested">
+//                <div class="field rating">
+//                    <label class="label"><span>Price</span></label>
+//                    <div class="control">
+//                        <input type="radio" name="ratings[3]" id="Price_1" value="11">
+//                        <label class="rating-1" for="Price_1" title="1 star">
+//                            <span>1 star</span>
+//                        </label>
+//                        <input type="radio" name="ratings[3]" id="Price_2" value="12">
+//                        <label class="rating-2" for="Price_2" title="2 stars">
+//                            <span>2 stars</span>
+//                        </label>
+//                        <input type="radio" name="ratings[3]" id="Price_3" value="13">
+//                        <label class="rating-3" for="Price_3" title="3 stars">
+//                            <span>3 stars</span>
+//                        </label>
+//                        <input type="radio" name="ratings[3]" id="Price_4" value="14">
+//                        <label class="rating-4" for="Price_4" title="4 stars">
+//                            <span>4 stars</span>
+//                        </label>
+//                        <input type="radio" name="ratings[3]" id="Price_5" value="15">
+//                        <label class="rating-5" for="Price_5" title="5 stars">
+//                            <span>5 stars</span>
+//                        </label>
+//                    </div>
+//                </div>
+//                <div class="field rating">
+//                    <label class="label"><span>Value</span></label>
+//                    <div class="control">
+//                        <input type="radio" name="ratings[2]" id="Value_1" value="6">
+//                        <label class="rating-1" for="Value_1" title="1 star">
+//                            <span>1 star</span>
+//                        </label>
+//                        <input type="radio" name="ratings[2]" id="Value_2" value="7">
+//                        <label class="rating-2" for="Value_2" title="2 stars">
+//                            <span>2 stars</span>
+//                        </label>
+//                        <input type="radio" name="ratings[2]" id="Value_3" value="8">
+//                        <label class="rating-3" for="Value_3" title="3 stars">
+//                            <span>3 stars</span>
+//                        </label>
+//                        <input type="radio" name="ratings[2]" id="Value_4" value="9">
+//                        <label class="rating-4" for="Value_4" title="4 stars">
+//                            <span>4 stars</span>
+//                        </label>
+//                        <input type="radio" name="ratings[2]" id="Value_5" value="10">
+//                        <label class="rating-5" for="Value_5" title="5 stars">
+//                            <span>5 stars</span>
+//                        </label>
+//                    </div>
+//                </div>
+//                <div class="field rating">
+//                    <label class="label"><span>Quality</span></label>
+//                    <div class="control">
+//                        <input type="radio" name="ratings[1]" id="Quality_1" value="1">
+//                        <label class="rating-1" for="Quality_1" title="1 star">
+//                            <span>1 star</span>
+//                        </label>
+//                        <input type="radio" name="ratings[1]" id="Quality_2" value="2">
+//                        <label class="rating-2" for="Quality_2" title="2 stars">
+//                            <span>2 stars</span>
+//                        </label>
+//                        <input type="radio" name="ratings[1]" id="Quality_3" value="3">
+//                        <label class="rating-3" for="Quality_3" title="3 stars">
+//                            <span>3 stars</span>
+//                        </label>
+//                        <input type="radio" name="ratings[1]" id="Quality_4" value="4">
+//                        <label class="rating-4" for="Quality_4" title="4 stars">
+//                            <span>4 stars</span>
+//                        </label>
+//                        <input type="radio" name="ratings[1]" id="Quality_5" value="5">
+//                        <label class="rating-5" for="Quality_5" title="5 stars">
+//                            <span>5 stars</span>
+//                        </label>
+//                    </div>
+//                </div>
+//            </div>
+//        </div>
+//    </div>
+//  ```
+//
+
+.field.ratings {
+    @starSize: 16px;
+    border-bottom: 1px solid;
+    .borderColor(@primary1);
+    padding-bottom: 15px;
+    margin-bottom: 30px;
+    overflow: hidden;
+    position: relative;
+    z-index: 1;
+    .nested {
+        display: table;
+    }
+    .field.rating {
+        display: table-row;
+        > .label {
+            display: table-cell;
+            vertical-align: top;
+            padding: 6px 0;
+        }
+        .control {
+            padding: 5px 10px;
+            display: table-cell;
+            z-index: 1;
+            &:before {
+                letter-spacing: 0.2em;
+                position: absolute;
+                z-index: 1;
+                display: block;
+                float: left;
+                font-family: "icons";
+                content: "\e009\e009\e009\e009\e009";
+                font-style: normal;
+                font-size: @starSize;
+                color: fade(@secondary1, 30%);
+                speak: none;
+                font-weight: normal;
+                -webkit-font-smoothing: antialiased;
+            }
+            input:focus + label:before,
+            input:checked + label:before {
+                color: @secondary1;
+                opacity: 1;
+            }
+            input[type="radio"] {
+                position: absolute;
+                margin-left: -999em;
+            }
+            label {
+                position: absolute;
+                display: block;
+                span {
+                    display: none;
+                }
+                &:before {
+                    letter-spacing: 0.2em;
+                    font-family: "icons";
+                    font-style: normal;
+                    font-size: @starSize;
+                    speak: none;
+                    font-weight: normal;
+                    -webkit-font-smoothing: antialiased;
+                    opacity: 0;
+                }
+                &:hover {
+                    &:before {
+                        color: @secondary1;
+                        opacity: 1;
+                    }
+                    & ~ label:before {
+                        opacity: 0 !important;
+                    }
+                }
+                cursor: pointer;
+            }
+            .rating-1 {
+                z-index: 6;
+                &:before {
+                    content: "\e009";
+                }
+            }
+            .rating-2 {
+                z-index: 5;
+                &:before {
+                    content: "\e009\e009";
+                }
+            }
+            .rating-3 {
+                z-index: 4;
+                &:before {
+                    content: "\e009\e009\e009";
+                }
+            }
+            .rating-4 {
+                z-index: 3;
+                &:before {
+                    content: "\e009\e009\e009\e009";
+                }
+            }
+            .rating-5 {
+                z-index: 2;
+                &:before {
+                    content: "\e009\e009\e009\e009\e009";
+                }
+            }
+        }
+    }
+}
+
+//  #Login form
+//  The login form's design differs from default form layout: labels are in the same line as inputs (in default form layout labels and corresponding inputs are in different lines) The code is the same, it differs only with styles.
+//
+//  ```html
+//    <fieldset class="fieldset login">
+//        <div class="field email required">
+//            <label for="email" class="label"><span>Email Address</span></label>
+//            <div class="control">
+//                <input type="text" class="input-text" value="" name="login[username]">
+//            </div>
+//        </div>
+//        <div class="field password required">
+//            <label class="label" for="pass"><span>Password</span></label>
+//            <div class="control">
+//                <input type="password" class="input-text" name="login[password]">
+//            </div>
+//        </div>
+//        <div class="actions">
+//            <div class="primary">
+//                <button id="send2" name="send" class="action login" type="submit"><span>Login</span></button>
+//            </div>
+//            <div class="secondary"><a href="#" class="action remind"><span>Forgot Your Password?</span></a></div>
+//        </div>
+//    </fieldset>
+//  ```
+//
+
+.fieldset {
+    &.login {
+        margin: 0;
+        padding: 0;
+        > .field {
+            .clearfix();
+            > .label {
+                .box-sizing();
+                float: left;
+                margin: 0;
+                padding-right: 10px;
+                padding-top: 7px;
+                text-align: right;
+                width: 40%;
+            }
+            > .control {
+                float: left;
+                margin: 0;
+                width: 60%;
+            }
+        }
+        .actions {
+            text-align: right;
+            .action.login {
+                &:extend(.primary.action all);
+            }
+            .secondary {
+                margin-top: 0.8em;
+            }
+        }
+    }
+}
+
+// #Loader
+//
+//  ```html
+//  <div class="loader"></div>
+//  ```
+//
+
+.loader {
+    background: url("@{baseDir}/images/loader.gif") no-repeat 50% 50%;
+    .size(20px);
+}
+
+//  #Button with loader
+//
+//  ```html
+//  <button class="action mySecondaryButton loading">Loading</button>
+//  ```
+//
+
+.action.mySecondaryButton {
+    &:extend(.secondary.action all);
+    &.loading {
+        padding-right: 30px;
+        position: relative;
+        &:after {
+            background: url("@{baseDir}/images/loader.gif") no-repeat 50% 50%;
+            .size(16px);
+            content: "";
+            margin: -8px 0 0;
+            position: absolute;
+            right: 7px;
+            top: 50%;
+        }
+    }
+}
+
+//  #Text block under loader
+//
+//  ```html
+//  <div class="textUnderLoader loading">
+//      <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris sed lobortis magna, quis tincidunt elit. Donec molestie scelerisque ligula, ut eleifend nisl laoreet nec. Vivamus dapibus urna id risus porttitor cursus.</p>
+//      <p>Etiam lorem leo, accumsan quis est sit amet, tempus pellentesque ante. Donec rutrum convallis lacus, ac iaculis nulla scelerisque a. Pellentesque malesuada, mi eu condimentum volutpat, mi turpis congue sapien, et ornare nunc nunc vitae nibh. Duis scelerisque purus a sapien ultrices tempor. Sed nec blandit mauris, vel volutpat dolor.</p>
+//      <p>Vestibulum viverra tempus mi a accumsan. Nunc congue quis leo sed scelerisque. Fusce scelerisque magna nulla, sed malesuada nunc congue vel. Donec placerat malesuada bibendum. Nam bibendum nunc at neque consequat placerat. Aenean eu rutrum sapien. Vivamus vel mi urna. Suspendisse sit amet elit nunc.</p>
+//  </div>
+//  ```
+//
+
+.textUnderLoader {
+    background: @primary1;
+    border: 1px solid @primary3;
+    padding: 10px 20px;
+    &.loading {
+        position: relative;
+        &:before {
+            background: @primary7;
+            opacity: 0.7;
+            content: "";
+            position: absolute;
+            top: 0;
+            left: 0;
+            right: 0;
+            bottom: 0;
+        }
+        &:after {
+            background: url("@{baseDir}/images/loader.gif") no-repeat 50% 50%;
+            .size(16px);
+            content: "";
+            margin: -8px 0 0 -8px;
+            position: absolute;
+            left: 50%;
+            top: 50%;
+        }
+    }
+}
+
+//  #Mage Checkout
+//
+//  #Checkout address form
+//  The checkout address form has specific logical fields grouping. Here styles are provided to separate the logical groups. The code is the same, it differs only with styles.
+//
+//  ```html
+//    <div class="opc wrapper">
+//        <form data-hasrequired="* Required Fields" class="form billing">
+//            <div class="field addresses">
+//                <label for="billing-address-select" class="label"><span>Select a billing address from your address book or enter a new address.</span></label>
+//                <div class="control">
+//                    <select class="address-select" name="billing_address_id">
+//                        <option value="">New Address</option>
+//                    </select>
+//                </div>
+//            </div>
+//            <fieldset class="fieldset address">
+//                <div class="field name-firstname required">
+//                    <label for="billing:firstname" class="label"><span>First Name</span></label>
+//                    <div class="control">
+//                        <input type="text" class="input-text" value="" name="billing[firstname]">
+//                    </div>
+//                </div>
+//                <div class="field name-lastname required">
+//                    <label for="billing:lastname" class="label"><span>Last Name</span></label>
+//                    <div class="control">
+//                        <input type="text" class="input-text" value="" name="billing[lastname]">
+//                    </div>
+//                </div>
+//                <div class="field company">
+//                    <label for="billing:company" class="label"><span>Company</span></label>
+//                    <div class="control">
+//                        <input type="text" class="input-text" value="" name="billing[company]">
+//                    </div>
+//                </div>
+//                <div class="field street required">
+//                    <label for="billing:street1" class="label"><span>Address</span></label>
+//                    <div class="control">
+//                        <input type="text" class="input-text" value="" name="billing[street][]">
+//                        <div class="nested">
+//                            <div class="field additional no-label">
+//                                <div class="control">
+//                                    <input type="text" class="input-text " value="" name="billing[street][]">
+//                                </div>
+//                            </div>
+//                        </div>
+//                    </div>
+//                </div>
+//                <div class="field city required">
+//                    <label for="billing:city" class="label"><span>City</span></label>
+//                    <div class="control">
+//                        <input type="text" class="input-text" value="" name="billing[city]">
+//                    </div>
+//                </div>
+//                <div class="field region required">
+//                    <label for="billing:region_id" class="label"><span>State/Province</span></label>
+//                    <div class="control">
+//                        <select name="billing[region_id]" defaultvalue="43">
+//                            <option value="">Please select region, state or province</option>
+//                            <option title="Alabama" value="1">Alabama</option>
+//                            <option title="Alaska" value="2">Alaska</option>
+//                            <option title="Arizona" value="4">Arizona</option>
+//                        </select>
+//                    </div>
+//                </div>
+//                <div class="field zip required">
+//                    <label for="billing:postcode" class="label"><span>Zip/Postal Code</span></label>
+//                    <div class="control">
+//                        <input type="text" class="input-text" value="" name="billing[postcode]">
+//                    </div>
+//                </div>
+//                <div class="field country required">
+//                    <label for="billing:country_id" class="label"><span>Country</span></label>
+//                    <div class="control">
+//                        <select class="validate-select" name="billing[country_id]">
+//                            <option value=""></option>
+//                            <option value="GB">United Kingdom</option>
+//                            <option value="US">United States</option>
+//                        </select>
+//                    </div>
+//                </div>
+//                <div class="field telephone required">
+//                    <label for="billing:telephone" class="label"><span>Telephone</span></label>
+//                    <div class="control">
+//                        <input type="text" class="input-text" value="" name="billing[telephone]">
+//                    </div>
+//                </div>
+//                <div class="field fax">
+//                    <label for="billing:fax" class="label"><span>Fax</span></label>
+//                    <div class="control">
+//                        <input type="text" class="input-text" value="" name="billing[fax]">
+//                    </div>
+//                </div>
+//                <div class="field save choice">
+//                    <input type="checkbox" class="checkbox" value="1" name="billing[save_in_address_book]">
+//                    <label for="billing:save_in_address_book" class="label"><span>Save in address book</span></label>
+//                </div>
+//            </fieldset>
+//            <div class="field choice">
+//                <input type="radio" class="radio" checked="checked" value="1" name="billing[use_for_shipping]">
+//                <label for="billing:use_for_shipping_yes" class="label"><span>Ship to this address</span></label>
+//            </div>
+//            <div class="field choice">
+//                <input type="radio" class="radio" value="0" name="billing[use_for_shipping]">
+//                <label for="billing:use_for_shipping_no" class="label"><span>Ship to different address</span></label>
+//            </div>
+//            <div id="billing-buttons-container" class="actions buttons-set form-buttons btn-only">
+//                <div class="primary">
+//                    <button class="button action continue" type="button"><span>Continue</span></button>
+//                </div>
+//            </div>
+//        </form>
+//    </div>
+//  ```
+//
+
+.opc {
+    .fieldset {
+        margin: 20px 0;
+        .formCols();
+    }
+    .field {
+        margin-bottom: 10px;
+    }
+    .field.fullname + .field.company,
+    .field.name-lastname + .field.company,
+    .field.country,
+    .field.taxvat {
+        margin: 0 40% 30px 0;
+    }
+    .actions .primary .action {
+        &:extend(.primary.action all);
+    }
+    .form {
+        &:extend(.hasRequired all);
+    }
+}
+
+//  #Payment method credit card form
+//  This form differs from the standard layout by its code and by design. Here labels are in the same line as inputs. It is necessary to replace the code by the new one.
+//
+//  ```html
+//    <ul class="form-list">
+//        <li>
+//            <label for="ccsave_cc_type" class="required"><em>*</em>Credit Card Type</label>
+//            <div class="input-box">
+//                <select id="ccsave_cc_type" name="payment[cc_type]">
+//                    <option value="">--Please Select--</option>
+//                    <option value="AE">American Express</option>
+//                    <option value="VI">Visa</option>
+//                    <option value="MC">MasterCard</option>
+//                    <option value="DI">Discover</option>
+//                </select>
+//            </div>
+//        </li>
+//        <li>
+//            <label for="ccsave_cc_number" class="required"><em>*</em>Credit Card Number</label>
+//            <div class="input-box">
+//                <input type="text" name="payment[cc_number]" class="input-text" value="">
+//            </div>
+//        </li>
+//        <li>
+//            <label for="ccsave_expiration" class="required"><em>*</em>Expiration Date</label>
+//            <div class="input-box">
+//                <div class="v-fix">
+//                    <select name="month" class="month">
+//                        <option value="" selected="selected">Month</option>
+//                        <option value="1">01 - January</option>
+//                        <option value="2">02 - February</option>
+//                        <option value="3">03 - March</option>
+//                        <option value="4">04 - April</option>
+//                        <option value="5">05 - May</option>
+//                        <option value="6">06 - June</option>
+//                        <option value="7">07 - July</option>
+//                        <option value="8">08 - August</option>
+//                        <option value="9">09 - September</option>
+//                        <option value="10">10 - October</option>
+//                        <option value="11">11 - November</option>
+//                        <option value="12">12 - December</option>
+//                    </select>
+//                </div>
+//                <div class="v-fix">
+//                    <select name="year" class="year">
+//                        <option value="" selected="selected">Year</option>
+//                        <option value="2013">2013</option>
+//                        <option value="2014">2014</option>
+//                        <option value="2015">2015</option>
+//                        <option value="2016">2016</option>
+//                        <option value="2017">2017</option>
+//                        <option value="2018">2018</option>
+//                        <option value="2019">2019</option>
+//                        <option value="2020">2020</option>
+//                        <option value="2021">2021</option>
+//                        <option value="2022">2022</option>
+//                        <option value="2023">2023</option>
+//                    </select>
+//                </div>
+//            </div>
+//        </li>
+//    </ul>
+//  ```
+//
+
+.form-list {
+    .resetList();
+    .required {
+        em {
+            display: none;
+        }
+        &:first-child:after {
+            color: @requiredField;
+            content: '*';
+        }
+    }
+    > li {
+        .clearfix();
+        margin: 0 0 10px;
+        .field {
+            .clearfix();
+            margin: 10px 0 0;
+            &:first-child {
+                margin: 0;
+            }
+        }
+        > label,
+        .field > label {
+            .box-sizing();
+            clear: left;
+            float: left;
+            padding: 7px 10px 0 0;
+            text-align: right;
+            width: 30%;
+        }
+        .input-box {
+            float: left;
+            width: 70%;
+            > input,
+            > select,
+            > textarea {
+                width: 100%;
+            }
+            > .v-fix {
+                float: left;
+                margin: 0 10px 0 0;
+            }
+        }
+    }
+}
+
+//  #Shopping Cart
+//  #Shopping cart estimation settings
+//  The shopping card estimation settings design differs from standard form layout by the code and by the design. Here the code and the styles are provided.
+//
+//  ```html
+//    <div class="cart summary">
+//
+//        <div class="block shipping active">
+//            <div class="title active"><strong>Estimate Shipping and Tax</strong></div>
+//            <div class="content">
+//            <form>
+//                <fieldset class="fieldset estimate">
+//                    <p class="field note">Enter your destination to get a shipping estimate.</p>
+//                    <div class="field country">
+//                        <label for="country" class="label"><span>Country</span></label>
+//                        <div class="control">
+//                            <select name="country_id" id="country" class="validate-select" title="Country">
+//                                <option value=""></option>
+//                                <option value="GB">United Kingdom</option>
+//                                <option value="US">United States</option>
+//                            </select>
+//                        </div>
+//                    </div>
+//                    <div class="field region">
+//                        <label for="region_id" class="label"><span>State/Province</span></label>
+//                        <div class="control">
+//                            <select name="region_id" title="State/Province" class="required-entry" defaultvalue="43">
+//                                <option value=""></option>
+//                                <option value="1" title="Alabama">Alabama</option>
+//                                <option value="2" title="Alaska">Alaska</option>
+//                                <option value="4" title="Arizona">Arizona</option>
+//                            </select>
+//                        </div>
+//                    </div>
+//                    <div class="field city">
+//                        <label for="city" class="label"><span>City</span></label>
+//                        <div class="control">
+//                            <input class="input-text" type="text" name="estimate_city" value="">
+//                        </div>
+//                    </div>
+//                    <div class="field postcode">
+//                        <label for="postcode" class="label"><span>Zip/Postal Code</span></label>
+//                        <div class="control">
+//                            <input class="input-text validate-postcode required-entry" type="text" name="estimate_postcode" value="">
+//                        </div>
+//                    </div>
+//                    <div class="actions">
+//                        <button type="submit" class="action quote"><span>Get a Quote</span></button>
+//                    </div>
+//                </fieldset>
+//            </form>
+//            <form>
+//                <fieldset class="fieldset rates">
+//                    <dl class="items methods">
+//                        <dt class="item title"><span>Flat Rate</span></dt>
+//                        <dd class="item options">
+//                            <div class="field choice item">
+//                                <input type="radio" class="radio" value="flatrate_flatrate" name="estimate_method">
+//                                <label for="s_method_flatrate_flatrate" class="label">
+//                                    <span>Fixed</span>
+//                                    <span class="price">$15.00</span>
+//                                </label>
+//                            </div>
+//                        </dd>
+//                    </dl>
+//                    <div class="actions">
+//                        <button value="Update Total" name="do" class="action update" type="submit"><span>Update Total</span></button>
+//                    </div>
+//                </fieldset>
+//            </form>
+//        </div>
+//
+//        <div class="block discount active">
+//            <div class="title active"><strong>Discount Codes</strong></div>
+//            <div class="content">
+//                <form>
+//                    <fieldset class="fieldset coupon">
+//                        <div class="field">
+//                            <label class="label" for="coupon_code"><span>Enter your coupon code if you have one.</span></label>
+//
+//                            <div class="control">
+//                                <input type="text" value="" name="coupon_code" class="input-text">
+//                            </div>
+//                        </div>
+//                        <div class="actions">
+//                            <div class="primary">
+//                                <button value="Apply Coupon" type="button" class="action apply">
+//                                    <span>Apply Coupon</span>
+//                                </button>
+//                            </div>
+//                        </div>
+//                    </fieldset>
+//                </form>
+//                </div>
+//            </div>
+//        </div>
+//
+//
+//    </div>
+//  ```
+//
+
+.cart.summary {
+    .fieldset {
+        border: 0;
+        font-size: @baseFontSizeMiddle;
+        padding: 0;
+        margin: 0;
+        .field {
+            margin: 0 0 10px;
+            &:not(.choice) {
+                .label {
+                    padding: 0 0 5px;
+                    display: block;
+                }
+            }
+        }
+        .action:not(.check) {
+            &:extend(.primary.action all);
+            padding: 6px 11px 5px;
+            span {
+                font-size: @baseFontSizeMiddle;
+                line-height: @baseFontSizeMiddle;
+            }
+        }
+        &.coupon,
+        &.estimate {
+            .actions {
+                display: table-cell;
+                width: 1%;
+                white-space: nowrap;
+                vertical-align: bottom;
+            }
+        }
+        &.coupon .field,
+        .field.postcode {
+            display: table-cell;
+            padding-right: 10px;
+            vertical-align: bottom;
+            width: 99%;
+            div.mage-error {
+                position: absolute;
+            }
+        }
+        &.rates {
+            padding-top: 25px;
+            .actions {
+                text-align: right;
+            }
+        }
+    }
+    .title {
+        cursor: pointer;
+        line-height: @baseFontSizeBigger;
+        margin: 0;
+        padding: 10px 5px;
+    }
+    .content {
+        padding: 15px 15px 20px;
+    }
+    input[type="text"] {
+        padding: 0 5px;
+        font-size: 12px;
+        height: 30px;
+    }
+    select {
+        padding: 5px 5px 4px;
+        font-size: 12px;
+    }
+    .items.methods {
+        dt {
+            font-weight: @baseFontWeightBolder;
+        }
+        dd {
+            margin: 10px 10px 25px;
+        }
+    }
+}
+
+//  #Popup
+//  ```html
+//        <div class="popup">
+//            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris sed lobortis magna, quis tincidunt elit. Donec molestie scelerisque ligula, ut eleifend nisl laoreet nec. Vivamus dapibus urna id risus porttitor cursus.</p>
+//            <p>Etiam lorem leo, accumsan quis est sit amet, tempus pellentesque ante. Donec rutrum convallis lacus, ac iaculis nulla scelerisque a. Pellentesque malesuada, mi eu condimentum volutpat, mi turpis congue sapien, et ornare nunc nunc vitae nibh. Duis scelerisque purus a sapien ultrices tempor. Sed nec blandit mauris, vel volutpat dolor.</p>
+//            <p>Vestibulum viverra tempus mi a accumsan. Nunc congue quis leo sed scelerisque. Fusce scelerisque magna nulla, sed malesuada nunc congue vel. Donec placerat malesuada bibendum. Nam bibendum nunc at neque consequat placerat. Aenean eu rutrum sapien. Vivamus vel mi urna. Suspendisse sit amet elit nunc.</p>
+//            <span data-dismiss="popup" class="close"></span>
+//        </div>
+//        <br>
+//        <br>
+//        <div class="popup system">
+//            <header class="header">
+//                Popup header
+//            </header>
+//            <div class="content">
+//                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris sed lobortis magna, quis tincidunt elit. Donec molestie scelerisque ligula, ut eleifend nisl laoreet nec. Vivamus dapibus urna id risus porttitor cursus.</p>
+//                <p>Etiam lorem leo, accumsan quis est sit amet, tempus pellentesque ante. Donec rutrum convallis lacus, ac iaculis nulla scelerisque a. Pellentesque malesuada, mi eu condimentum volutpat, mi turpis congue sapien, et ornare nunc nunc vitae nibh. Duis scelerisque purus a sapien ultrices tempor. Sed nec blandit mauris, vel volutpat dolor.</p>
+//                <p>Vestibulum viverra tempus mi a accumsan. Nunc congue quis leo sed scelerisque. Fusce scelerisque magna nulla, sed malesuada nunc congue vel. Donec placerat malesuada bibendum. Nam bibendum nunc at neque consequat placerat. Aenean eu rutrum sapien. Vivamus vel mi urna. Suspendisse sit amet elit nunc.</p>
+//            </div>
+//            <footer class="footer">
+//                <div class="actions">
+//                    <button type="button" class="action submit">OK</button>
+//                    <button type="button" class="action cancel">Cancel</button>
+//                </div>
+//            </footer>
+//            <span data-dismiss="popup" class="close"></span>
+//        </div>
+//    </div>
+//
+//    <div class="wrapper">
+//        <div class="fade">
+//            <div class="popup">
+//                <header class="header">
+//                    Popup header
+//                </header>
+//                <div class="content">
+//                    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris sed lobortis magna, quis tincidunt elit. Donec molestie scelerisque ligula, ut eleifend nisl laoreet nec. Vivamus dapibus urna id risus porttitor cursus.</p>
+//                    <p>Etiam lorem leo, accumsan quis est sit amet, tempus pellentesque ante. Donec rutrum convallis lacus, ac iaculis nulla scelerisque a. Pellentesque malesuada, mi eu condimentum volutpat, mi turpis congue sapien, et ornare nunc nunc vitae nibh. Duis scelerisque purus a sapien ultrices tempor. Sed nec blandit mauris, vel volutpat dolor.</p>
+//                    <p>Vestibulum viverra tempus mi a accumsan. Nunc congue quis leo sed scelerisque. Fusce scelerisque magna nulla, sed malesuada nunc congue vel. Donec placerat malesuada bibendum. Nam bibendum nunc at neque consequat placerat. Aenean eu rutrum sapien. Vivamus vel mi urna. Suspendisse sit amet elit nunc.</p>
+//                </div>
+//                <footer class="footer">
+//                    Some footer text
+//                    <div class="actions">
+//                        <button type="button" class="action submit">OK</button>
+//                        <button type="button" class="action cancel">Cancel</button>
+//                    </div>
+//                </footer>
+//                <span class="close" data-dismiss="popup"></span>
+//            </div>
+//        </div>
+//    </div>
+//  ```
+//
+
+.popup {
+    background: @primary2;
+    border: 1px solid @primary3;
+    display: inline-block;
+    padding: 20px;
+    position: relative;
+    .close {
+        color: @primary4;
+        cursor: pointer;
+        position: absolute;
+        right: 5px;
+        top: 3px;
+        .iconBefore(@icon-close-thick, 12px, 0, "icons");
+        &:hover {
+            color: @primary6;
+        }
+    }
+    .fade & {
+        background: @pageMainBg;
+        box-shadow: 0 0 10px 0 @primary4;
+    }
+    > .header,
+    > .content {
+        margin: 0 0 5px;
+    }
+    > .header {
+        font-size: @baseFontSizeBigger;
+        font-weight: @baseFontWeightBolder;
+    }
+    .actions {
+        margin: 15px 0 0;
+        .action.submit {
+            &:extend(.primary.action all);
+            margin-right: 10px;
+        }
+        .action.cancel {
+            &:extend(.secondary.action all);
+        }
+    }
+    &.system {
+        background: @pageMainBg;
+        padding: 0;
+        > .header {
+            background: @primary2;
+            border-bottom: 1px solid @primary3;
+            border-radius: 5px 5px 0 0;
+            cursor: move;
+            padding: 10px 20px;
+        }
+        > .content {
+            padding: 20px;
+        }
+        > .footer {
+            border-top: 1px solid @primary3;
+            padding: 10px 20px;
+        }
+        .actions {
+            margin: 0;
+        }
+        .close {
+            right: 8px;
+            top: 8px;
+        }
+    }
+}
+
+.fade {
+    background-color: @primeBlackOpacity;
+    position: relative;
+    left: 0;
+    top: 0;
+    right: 0;
+    bottom: 0;
+    padding: 10%;
+}
+
+
+//  #CSS tooltip
+//
+//  ####Accepted parameters
+//  **.tooltipSimple(*[background]*, *[color]*, *[fontSize]*, *[margin]*, *[padding]*, *[maxWidth]*, *[cursor]*);**
+//
+//  Tooltip can be added to any element
+//  ```html
+//  Projects in Sublime Text capture the full contents of the workspace,
+//  <span class="tooltip">
+//  <strong>Your content</strong>
+//  <div class="tooltip-content">Tooltip content</div>
+//  </span>
+//  including modified and unsaved files.
+//  You can switch between projects in a manner similar to Goto Anything,
+//  and the switch is instant, with no save prompts - all your modifications will be restored next time the project is opened.
+//  ```
+//
+
+//  #Radiobutton tooltip
+//
+//  ```html
+//  <div class="field choice tooltip">
+//  <input type="radio" class="radio" checked="" value="1" name="inputRadio">
+//  <label for="inputRadio" class="label"><span>Radiobutton choice</span></label>
+//  <div class="tooltip-content">Tooltip content</div>
+//  </div>
+//  ```
+
+.tooltip {
+    .tooltipCSS(rgba(0,0,0,.5), #fff, 16px, 10px 0 0, 8px, 500px, help);
+}
+
+//  #JS tooltip:
+//
+//  ####Accepted parameters
+//  **.tooltipJS(*[background]*, *[color]*, *[fontSize]*, *[padding]*, *[maxWidth]*);**
+//
+//  ####Add attributes to the tag:
+//
+//  **tooltip**="text tooltip"
+//
+//  **tooltip-position**="n, nw, ne, w, e, s, sw, se"
+//
+//  ```html
+//  <div class="example-tooltips">
+//    <button tooltip="Tooltip content positioned by <strong class='example-tooltip-elem'>tooltip-position='nw'</strong>" tooltip-position="nw">
+//      <span>&#8598;</span>
+//    </button>
+//    <button tooltip="Tooltip content positioned by <strong class='example-tooltip-elem'>tooltip-position='n'</strong>" tooltip-position="n">
+//      <span>&#8593;</span>
+//    </button>
+//    <button tooltip="Tooltip content positioned by <strong class='example-tooltip-elem'>tooltip-position='ne'</strong>" tooltip-position="ne">
+//      <span>&#8599;</span>
+//    </button>
+//    <div class="separator"></div>
+//    <button tooltip="Tooltip content positioned by <strong class='example-tooltip-elem'>tooltip-position='w'</strong>" tooltip-position="w">
+//      <span>&#8592;</span>
+//    </button>
+//    <button tooltip="Default tooltip content from <strong class='example-tooltip-elem'>'tooltip'</strong> attribute">
+//      <span>Default</span>
+//    </button>
+//    <button tooltip="Tooltip content positioned by <strong class='example-tooltip-elem'>tooltip-position='e'</strong>" tooltip-position="e">
+//      <span>&#8594;</span>
+//    </button>
+//    <div class="separator"></div>
+//    <button tooltip="Tooltip content positioned by <strong class='example-tooltip-elem'>tooltip-position='sw'</strong>" tooltip-position="sw">
+//      <span>&#8601;</span>
+//    </button>
+//    <button tooltip="Tooltip content positioned by <strong class='example-tooltip-elem'>tooltip-position='s'</strong>" tooltip-position="s">
+//      <span>&#8595;</span>
+//    </button>
+//    <button tooltip="Tooltip content positioned by <strong class='example-tooltip-elem'>tooltip-position='se'</strong>" tooltip-position="se">
+//      <span>&#8600;</span>
+//    </button>
+//  <div>
+//  ```
+
+.tipsy {
+    .tooltipJS(rgba(0,0,0,.9), #fff);
+}
+
+//  #Tooltip mixins:
+.tooltipCSS(@background: @primeBlackOpacity, @color: @primary7, @fontSize: 16px, @margin: 10px 0 0, @padding: 4px 8px, @maxWidth: 200px, @cursor: help) {
+    display: inline-block;
+    vertical-align: middle;
+    line-height: 1.1;
+    cursor: @cursor;
+    .tooltip-content {
+        display: none;
+        position: absolute;
+        max-width: @maxWidth;
+        margin: @margin;
+        padding: @padding;
+        background: @background;
+        color: @color;
+        border-radius: 3px;
+        z-index: 20;
+        &:before {
+            content: '';
+            position: absolute;
+            width: 0;
+            height: 0;
+            top: -5px;
+            left: 20px;
+            border-left: 5px solid transparent;
+            border-right: 5px solid transparent;
+            border-bottom: 5px solid @background;
+        }
+    }
+    &:hover > .tooltip-content {
+        display: block;
+    }
+}
+
+.tooltipJS(@background: @primeBlackOpacity, @color: @primary7, @fontSize: 16px, @padding: 5px, @maxWidth: 200px) {
+    position: absolute;
+    left: 0;
+    top: 0;
+    display: none;
+    padding: @padding;
+    font-size: @fontSize;
+    z-index: 9999;
+    .tipsy-inner {
+        padding: 5px 8px 4px;
+        background-color: @background;
+        color: @color;
+        max-width: @maxWidth;
+        border-radius: 3px;
+    }
+    .tipsy-arrow {
+        position: absolute;
+        width: 0;
+        height: 0;
+        border-left: 5px solid transparent;
+        border-right: 5px solid transparent;
+        border-bottom: 5px solid @background;
+    }
+    &.tipsy-s .tipsy-arrow {
+        top: 0;
+        left: 50%;
+        margin-left: -4px;
+    }
+    &.tipsy-se .tipsy-arrow {
+        top: 0;
+        left: 10px;
+    }
+    &.tipsy-sw .tipsy-arrow {
+        top: 0;
+        right: 10px;
+    }
+    &.tipsy-n .tipsy-arrow,
+    &.tipsy-ne .tipsy-arrow,
+    &.tipsy-nw .tipsy-arrow {
+        bottom: 0;
+        border-left: 5px solid transparent;
+        border-right: 5px solid transparent;
+        border-top: 5px solid @background;
+        border-bottom: none;
+    }
+    &.tipsy-n .tipsy-arrow {
+        left: 50%;
+        margin-left: -4px;
+    }
+    &.tipsy-ne .tipsy-arrow {
+        left: 10px;
+    }
+    &.tipsy-nw .tipsy-arrow {
+        right: 10px;
+    }
+    &.tipsy-w .tipsy-arrow,
+    &.tipsy-e .tipsy-arrow {
+        top: 50%;
+        margin-top: -4px;
+        border-top: 5px solid transparent;
+        border-bottom: 5px solid transparent;
+    }
+    &.tipsy-w .tipsy-arrow {
+        right: 0;
+        border-right: none;
+        border-left: 5px solid @background;
+    }
+    &.tipsy-e .tipsy-arrow {
+        left: 0;
+        border-right: 5px solid @background;
+        border-left: none;
+    }
+}
+
+
+.example-tooltips {/*presentation styles*/
+    padding: 70px;
+    text-align: center;
+}
+
+.example-tooltips button {/*presentation styles*/
+    width: 70px;
+    height: 70px;
+    font-size: 18px;
+    margin: 10px 5px;
+}
diff --git a/app/design/frontend/magento_plushe/less/vars.less b/app/design/frontend/magento_plushe/less/vars.less
new file mode 100644
index 0000000000000000000000000000000000000000..6d3b1a25522019ac07d21c44734bd5a1fed0250d
--- /dev/null
+++ b/app/design/frontend/magento_plushe/less/vars.less
@@ -0,0 +1,131 @@
+// /**
+//  * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+//  *
+//  * @category    design
+//  * @package     magento2_reference
+//  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+//  * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+//  */
+
+// Primary colors
+@primary1: #f8f8f8;
+@primary2: #e5e5e5;
+@primary3: #c2c2c2;
+@primary4: #999;
+@primary5: #837d75;
+@primary6: #675f55;
+@primary7: #fff;
+@primeBlack: #7f7f7f;
+@primeBlackOpacity: rgba(0, 0, 0, 0.5);
+@commonBg: #fff;
+
+// Secondary colors
+@secondary1: #da370a;
+@secondary2: #55c2e6;
+
+// Buttons
+@primaryActionBg: @secondary1;
+@primaryActionBgH: darken(@secondary1, 10%);
+@primaryActionColor: #fff;
+
+@secondaryActionBg: @primary3;
+@secondaryActionBgH: darken(@primary3, 10%);
+@secondaryActionColor: #fff;
+
+@actionFont: 600 14px/16px;
+
+// Layout
+@LayoutMaxWidth: 1025px;
+@LayoutMinWidth: 1025px;
+
+// Links
+@link: #332e29;
+@linkHover: @secondary1;
+
+// Base font
+@baseFont: "sourcesanspro";
+@baseFontSizeBigger: 16px;
+@base-font-size: 14px; // re-declarate base font size for clearLess
+@baseFontSize: 14px;
+@baseFontSizeMiddle: 12px;
+@baseFontSizeSmall: 10px;
+@baseFontWeight: 400;
+@baseFontWeightLighter: 200;
+@baseFontWeightBolder: 700;
+@baseLineHeight: 1.33;
+@baseColor: @primary6;
+
+@pageMainBg: #fff;
+@headerBg: #d6d7d2;
+@headerBgImage: url("@{baseDir}/images/header-bg.jpg");
+@pageBottomBg: @pageMainBg;
+@footerBg: @pageMainBg;
+@textColor: @primary6;
+@linksColor: @primary6;
+@gutter-width: 0;
+@using-ieclasses: false;
+
+// Headings:
+// H1
+@h1font: 200 30px/1.2 @baseFont;
+@h1color: @primary6;
+
+// H2
+@h2font: 400 20px/1.2 @baseFont;
+@h2color: @primary6;
+
+// H3
+@h3font: 600 18px/1.2 @baseFont;
+@h3color: @primary6;
+
+// H4
+@h4font: 600 16px/1.2 @baseFont;
+@h4color: @primary6;
+
+// H5
+@h5font: 600 14px/1.2 @baseFont;
+@h5color: @primary6;
+
+// H6
+@h6font: 600 12px/1.2 @baseFont;
+@h6color: @primary6;
+
+// Forms
+@legendFontSize: 20px;
+@fieldBg: #fff;
+
+// Required fields and validation
+@requiredField:   #da370a;
+@nonValidHilight: #da370a;
+@validHilight:    #42b649;
+
+// Messages colors
+@messageIconColor: #fff;
+// Success message
+@messageSuccessColor:  #1b6720;
+@messageSuccessBg:     #d3edd5;
+@messageSuccessIconBg: #42b649;
+// Error message
+@messageErrorColor:  #911c00;
+@messageErrorBg:     #ffd9d0;
+@messageErrorIconBg: #ff3200;
+// Notice message, Info message
+@messageNoticeColor:  #926e00;
+@messageNoticeBg:     #ffedb8;
+@messageNoticeIconBg: #ffc000;
diff --git a/app/design/frontend/magento_plushe/media/preview.jpg b/app/design/frontend/magento_plushe/media/preview.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..c15840788eda96da49e92c32fe285a3130126ea0
Binary files /dev/null and b/app/design/frontend/magento_plushe/media/preview.jpg differ
diff --git a/app/design/frontend/magento_plushe/theme.xml b/app/design/frontend/magento_plushe/theme.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a1b34af9cc9f4b65d79985d8aae4d68036baf08e
--- /dev/null
+++ b/app/design/frontend/magento_plushe/theme.xml
@@ -0,0 +1,33 @@
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    Magento
+ * @package     Design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<theme>
+    <title>Magento Plushe</title>
+    <version>1.0.0.0</version>
+    <media>
+        <preview_image>media/preview.jpg</preview_image>
+    </media>
+</theme>
diff --git a/app/design/frontend/magento_plushe/view.xml b/app/design/frontend/magento_plushe/view.xml
new file mode 100644
index 0000000000000000000000000000000000000000..bdad3bdb43e124ed2ce8916faad4676eb6d8e93f
--- /dev/null
+++ b/app/design/frontend/magento_plushe/view.xml
@@ -0,0 +1,298 @@
+<?xml version="1.0"?>
+<!--
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Academic Free License (AFL 3.0)
+ * that is bundled with this package in the file LICENSE_AFL.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/afl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    Magento
+ * @package     Design
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
+ */
+-->
+<view>
+    <vars module="Magento_Catalog">
+        <var name="product_small_image_sidebar_size">100</var>  <!-- Override for small product image -->
+        <var name="product_base_image_size">275</var>           <!-- Override for base product image -->
+        <var name="product_base_image_icon_size">48</var>       <!-- Base product image icon size -->
+
+        <var name="product_list_image_size">166</var>           <!-- New Product image size used in product list -->
+        <var name="product_zoom_image_size">370</var>           <!-- New Product image size used for zooming -->
+
+        <var name="product_image_white_borders">0</var>
+
+        <var name="review_page_product_image:type">small_image</var>
+        <var name="review_page_product_image:width">285</var>
+        <var name="review_page_product_image:ratio">1</var>
+        <var name="review_page_product_image:height">285</var>
+
+        <var name="customer_account_product_review_page:type">image</var>
+        <var name="customer_account_product_review_page:width">285</var>
+        <var name="customer_account_product_review_page:ratio">1</var>
+        <var name="customer_account_product_review_page:height">285</var>
+
+        <var name="category_page_list:type">small_image</var>
+        <var name="category_page_list:width">180</var>
+        <var name="category_page_list:ratio">1</var>
+        <var name="category_page_list:height">230</var>
+
+        <var name="category_page_grid:type">small_image</var>
+        <var name="category_page_grid:width">180</var>
+        <var name="category_page_grid:ratio">1</var>
+        <var name="category_page_grid:height">230</var>
+
+        <var name="product_comparison_list:type">small_image</var>
+        <var name="product_comparison_list:width">140</var>
+        <var name="product_comparison_list:ratio">1</var>
+        <var name="product_comparison_list:height">140</var>
+
+        <var name="related_products_list:type">small_image</var>
+        <var name="related_products_list:width">140</var>
+        <var name="related_products_list:ratio">1</var>
+        <var name="related_products_list:height">140</var>
+
+        <var name="upsell_products_list:type">small_image</var>
+        <var name="upsell_products_list:width">140</var>
+        <var name="upsell_products_list:ratio">1</var>
+        <var name="upsell_products_list:height">140</var>
+
+        <var name="product_page_main_image:type">image</var>
+        <var name="product_page_main_image:width">400</var>
+        <var name="product_page_main_image:ratio">1</var>
+        <var name="product_page_main_image:height">495</var>
+
+        <var name="product_page_main_image_default:type">image</var>
+        <var name="product_page_main_image_default:width">400</var>
+        <var name="product_page_main_image_default:ratio">1</var>
+        <var name="product_page_main_image_default:height">495</var>
+
+        <var name="product_page_more_views:type">thumbnail</var>
+        <var name="product_page_more_views:width">90</var>
+        <var name="product_page_more_views:ratio">1</var>
+        <var name="product_page_more_views:height">90</var>
+
+        <var name="side_column_widget_product_thumbnail:type">thumbnail</var>
+        <var name="side_column_widget_product_thumbnail:width">50</var>
+        <var name="side_column_widget_product_thumbnail:ratio">1</var>
+        <var name="side_column_widget_product_thumbnail:height">50</var>
+
+        <var name="new_products_content_widget_list:type">small_image</var>
+        <var name="new_products_content_widget_list:width">166</var>
+        <var name="new_products_content_widget_list:ratio">1</var>
+        <var name="new_products_content_widget_list:height">166</var>
+
+        <var name="new_products_content_widget_grid:type">small_image</var>
+        <var name="new_products_content_widget_grid:width">166</var>
+        <var name="new_products_content_widget_grid:ratio">1</var>
+        <var name="new_products_content_widget_grid:height">166</var>
+
+        <var name="recently_compared_products_images_names_widget:type">thumbnail</var>
+        <var name="recently_compared_products_images_names_widget:width">50</var>
+        <var name="recently_compared_products_images_names_widget:ratio">1</var>
+        <var name="recently_compared_products_images_names_widget:height">50</var>
+
+        <var name="recently_viewed_products_images_names_widget:type">small_image</var>
+        <var name="recently_viewed_products_images_names_widget:width">50</var>
+        <var name="recently_viewed_products_images_names_widget:ratio">1</var>
+        <var name="recently_viewed_products_images_names_widget:height">50</var>
+
+        <var name="recently_compared_products_images_only_widget:type">thumbnail</var>
+        <var name="recently_compared_products_images_only_widget:width">76</var>
+        <var name="recently_compared_products_images_only_widget:ratio">1</var>
+        <var name="recently_compared_products_images_only_widget:height">76</var>
+
+        <var name="recently_viewed_products_images_only_widget:type">small_image</var>
+        <var name="recently_viewed_products_images_only_widget:width">76</var>
+        <var name="recently_viewed_products_images_only_widget:ratio">1</var>
+        <var name="recently_viewed_products_images_only_widget:height">76</var>
+
+        <var name="bundled_product_customization_page:type">thumbnail</var>
+        <var name="bundled_product_customization_page:width">140</var>
+        <var name="bundled_product_customization_page:ratio">1</var>
+        <var name="bundled_product_customization_page:height">140</var>
+
+        <var name="recently_compared_products_grid_content_widget:type">small_image</var>
+        <var name="recently_compared_products_grid_content_widget:width">135</var>
+        <var name="recently_compared_products_grid_content_widget:ratio">1</var>
+        <var name="recently_compared_products_grid_content_widget:height">135</var>
+
+        <var name="recently_compared_products_list_content_widget:type">small_image</var>
+        <var name="recently_compared_products_list_content_widget:width">166</var>
+        <var name="recently_compared_products_list_content_widget:ratio">1</var>
+        <var name="recently_compared_products_list_content_widget:height">166</var>
+
+        <var name="recently_viewed_products_grid_content_widget:type">small_image</var>
+        <var name="recently_viewed_products_grid_content_widget:width">135</var>
+        <var name="recently_viewed_products_grid_content_widget:ratio">1</var>
+        <var name="recently_viewed_products_grid_content_widget:height">135</var>
+
+        <var name="recently_viewed_products_list_content_widget:type">small_image</var>
+        <var name="recently_viewed_products_list_content_widget:width">166</var>
+        <var name="recently_viewed_products_list_content_widget:ratio">1</var>
+        <var name="recently_viewed_products_list_content_widget:height">166</var>
+
+        <var name="customer_shared_wishlist:type">small_image</var>
+        <var name="customer_shared_wishlist:width">113</var>
+        <var name="customer_shared_wishlist:ratio">1</var>
+        <var name="customer_shared_wishlist:height">113</var>
+
+        <var name="wishlist_thumbnail:type">small_image</var>
+        <var name="wishlist_thumbnail:width">113</var>
+        <var name="wishlist_thumbnail:ratio">1</var>
+        <var name="wishlist_thumbnail:height">113</var>
+
+        <var name="wishlist_sidebar_block:type">thumbnail</var>
+        <var name="wishlist_sidebar_block:width">50</var>
+        <var name="wishlist_sidebar_block:ratio">1</var>
+        <var name="wishlist_sidebar_block:height">50</var>
+
+        <var name="shared_wishlist_email:type">small_image</var>
+        <var name="shared_wishlist_email:width">135</var>
+        <var name="shared_wishlist_email:ratio">1</var>
+        <var name="shared_wishlist_email:height">135</var>
+
+        <var name="customer_account_my_tags_tag_view:type">small_image</var>
+        <var name="customer_account_my_tags_tag_view:width">100</var>
+        <var name="customer_account_my_tags_tag_view:ratio">1</var>
+        <var name="customer_account_my_tags_tag_view:height">100</var>
+
+        <var name="cart_cross_sell_products:type">thumbnail</var>
+        <var name="cart_cross_sell_products:width">140</var>
+        <var name="cart_cross_sell_products:ratio">1</var>
+        <var name="cart_cross_sell_products:height">140</var>
+
+        <var name="gift_messages_checkout_thumbnail:type">thumbnail</var>
+        <var name="gift_messages_checkout_thumbnail:width">75</var>
+        <var name="gift_messages_checkout_thumbnail:ratio">1</var>
+        <var name="gift_messages_checkout_thumbnail:height">75</var>
+
+        <var name="gift_messages_checkout_small_image:type">small_image</var>
+        <var name="gift_messages_checkout_small_image:width">75</var>
+        <var name="gift_messages_checkout_small_image:ratio">1</var>
+        <var name="gift_messages_checkout_small_image:height">75</var>
+
+        <var name="mini_cart_product_thumbnail:type">thumbnail</var>
+        <var name="mini_cart_product_thumbnail:width">78</var>
+        <var name="mini_cart_product_thumbnail:ratio">1</var>
+        <var name="mini_cart_product_thumbnail:height">78</var>
+
+        <var name="new_products_images_only_widget:type">small_image</var>
+        <var name="new_products_images_only_widget:width">78</var>
+        <var name="new_products_images_only_widget:ratio">1</var>
+        <var name="new_products_images_only_widget:height">78</var>
+
+        <var name="cart_page_product_thumbnail:type">thumbnail</var>
+        <var name="cart_page_product_thumbnail:width">80</var>
+        <var name="cart_page_product_thumbnail:ratio">1</var>
+        <var name="cart_page_product_thumbnail:height">80</var>
+
+        <var name="product_stock_alert_email_product_image:type">small_image</var>
+        <var name="product_stock_alert_email_product_image:width">76</var>
+        <var name="product_stock_alert_email_product_image:ratio">1</var>
+        <var name="product_stock_alert_email_product_image:height">76</var>
+    </vars>
+    <vars module="Magento_Bundle">
+        <var name="product_summary_image_size">58</var>         <!-- New Product image size used for summary block-->
+    </vars>
+    <vars module="Magento_DesignEditor">
+        <var name="store-name:font-picker">"marvel"</var>
+        <var name="store-name:color-picker">#837d75</var>
+        <var name="store-name:logo-uploader"></var>
+        <var name="header-background:color-picker">#d6d7d2</var>
+        <var name="header-background:image-uploader">header-bg.jpg</var>
+        <var name="header-background:tile">repeat</var>
+
+        <var name="menu-background">#f8f8f8</var>
+        <var name="menu-stroke">#c2c2c2</var>
+        <var name="menu-links">#675f55</var>
+        <var name="menu-links-hover">#f47a1f</var>
+
+        <var name="header-links">#837d75</var>
+        <var name="header-links-hover">#675f55</var>
+        <var name="header-scroll-bar-background">#ffffff</var>
+        <var name="header-scroll-bar-handle">#e5e5e5</var>
+        <var name="search-field">#ffffff</var>
+        <var name="search-field-text">#675f55</var>
+        <var name="search-field-stroke">#c2c2c2</var>
+
+        <var name="page-background:color-picker">#ffffff</var>
+        <var name="page-background:image-uploader"></var>
+        <var name="page-background:tile">no-repeat</var>
+
+        <var name="form-background">#f8f8f8</var>
+        <var name="form-stroke">#c2c2c2</var>
+        <var name="form2-background">#e5e5e5</var>
+        <var name="form2-stroke">#c2c2c2</var>
+
+        <var name="form-field-stroke">#c2c2c2</var>
+        <var name="form-field-stroke-clicked">#999999</var>
+        <var name="image-stroke-keylines">#e5e5e5</var>
+        <var name="scroll-bar-background">#f8f8f8</var>
+        <var name="scroll-bar-handle">#c2c2c2</var>
+
+        <var name="radio-checkbox-icon">#675f55</var>
+        <var name="radio-checkbox-background">#e5e5e5</var>
+        <var name="radio-checkbox-stroke">#999999</var>
+
+        <var name="button-background">#f47a1f</var>
+        <var name="button-text">#ffffff</var>
+        <var name="button-hover">#ff953b</var>
+        <var name="icons">#c2c2c2</var>
+        <var name="icons-hover">#999999</var>
+        <var name="icons2">#837d75</var>
+
+        <var name="accents">#55c2e6</var>
+        <var name="size-swatches">#f8f8f8</var>
+        <var name="size-swatches-unavailable">#e5e5e5</var>
+        <var name="size-swatches-hover">#675f55</var>
+
+        <var name="tooltip-text">#675f55</var>
+        <var name="tooltip-box">#ffffff</var>
+        <var name="tooltip-stroke">#c2c2c2</var>
+        <var name="tooltip2-text">#ffffff</var>
+        <var name="tooltip2-box">#000000</var>
+        <var name="tooltip2-stroke">#c2c2c2</var>
+
+        <var name="error-box">#ff3200</var>
+        <var name="error-icon">#ffffff</var>
+        <var name="success-box">#d3edd5</var>
+        <var name="success-icon">#ffffff</var>
+        <var name="notice-box">#ffedb8</var>
+        <var name="notice-icon">#ffffff</var>
+
+        <var name="banner-text:font-picker">"marvel", Arial, sans-serif</var>
+        <var name="banner-text:color-picker">#675f55</var>
+        <var name="page-headings:font-picker">"sourcesanspro", Arial, sans-serif</var>
+        <var name="page-headings:color-picker">#675f55</var>
+        <var name="menu:font-picker">"sourcesanspro", Arial, sans-serif</var>
+        <var name="menu:color-picker">#675f55</var>
+
+        <var name="body-text:font-picker">"sourcesanspro", Arial, sans-serif</var>
+        <var name="body-text:color-picker">#675f55</var>
+
+        <var name="buttons:font-picker">"sourcesanspro", Arial, sans-serif</var>
+        <var name="buttons:color-picker">#ffffff</var>
+
+        <var name="text-links">#675f55</var>
+        <var name="text-links-hover">#f47a1f</var>
+        <var name="text-links-active">#f47a1f</var>
+        <var name="text-links-product">#675f55</var>
+        <var name="small-links">#675f55</var>
+        <var name="small-links-hover">#c2c2c2</var>
+    </vars>
+</view>
diff --git a/app/etc/di.xml b/app/etc/di.xml
index 1546dee34ea652f7552d8ac420f90c23ecdd314d..3d1c255a2489bb659650c475b858686873353016 100644
--- a/app/etc/di.xml
+++ b/app/etc/di.xml
@@ -24,33 +24,48 @@
  */
 -->
 <config>
-    <preference for="Magento\Core\Model\Db\UpdaterInterface" type="Magento\Core\Model\Db\Updater" />
+    <preference for="Magento\App\RequestInterface" type="Magento\App\Request\Http" />
+    <preference for="Magento\App\Request\PathInfoProcessorInterface" type="Magento\Core\App\Request\PathInfoProcessor" />
+    <preference for="Magento\App\ResponseInterface" type="Magento\App\Response\Http" />
+    <preference for="Magento\App\RouterListInterface" type="Magento\App\RouterList" />
+    <preference for="Magento\App\FrontControllerInterface" type="Magento\App\FrontController" />
+    <preference for="Magento\App\UpdaterInterface" type="Magento\App\Updater" />
     <preference for="Magento\Core\Model\AppInterface" type="Magento\Core\Model\App\Proxy" />
     <preference for="Magento\Core\Model\CacheInterface" type="Magento\Core\Model\Cache\Proxy" />
     <preference for="Magento\Core\Model\Cache\StateInterface" type="Magento\Core\Model\Cache\State" />
     <preference for="Magento\Core\Model\Cache\TypeListInterface" type="Magento\Core\Model\Cache\TypeList" />
     <preference for="Magento\Core\Model\Store\ConfigInterface" type="Magento\Core\Model\Store\Config" />
     <preference for="Magento\Core\Model\StoreManagerInterface" type="Magento\Core\Model\StoreManager" />
-    <preference for="Magento\Core\Model\View\DesignInterface" type="Magento\Core\Model\View\Design" />
+    <preference for="Magento\View\DesignInterface" type="Magento\Core\Model\View\Design" />
+    <preference for="Magento\View\Design\ThemeInterface" type="Magento\Core\Model\Theme" />
+    <preference for="Magento\View\ConfigInterface" type="Magento\Core\Model\View\Config" />
     <preference for="Magento\Core\Model\LocaleInterface" type="Magento\Core\Model\Locale" />
-    <preference for="Magento\Core\Model\UrlInterface" type="Magento\Core\Model\Url" />
-    <preference for="Magento\Core\Model\Event\InvokerInterface" type="Magento\Core\Model\Event\Invoker\InvokerDefault" />
+    <preference for="Magento\UrlInterface" type="Magento\Core\Model\Url" />
     <preference for="Magento\Data\Collection\Db\FetchStrategyInterface" type="Magento\Data\Collection\Db\FetchStrategy\Query" />
-    <preference for="Magento\Config\ScopeInterface" type="Magento\Core\Model\Config\Scope" />
+    <preference for="Magento\Config\ScopeInterface" type="Magento\Config\Scope" />
     <preference for="Magento\Config\FileResolverInterface" type="Magento\Core\Model\Config\FileResolver" />
     <preference for="Magento\Config\CacheInterface" type="Magento\Core\Model\Cache\Type\Config" />
     <preference for="Magento\Config\ValidationStateInterface" type="Magento\Core\Model\Config\ValidationState" />
-    <preference for="Magento\Core\Model\ModuleListInterface" type="Magento\Core\Model\ModuleList" />
-    <preference for="Magento\Core\Model\Event\ConfigInterface" type="Magento\Core\Model\Event\Config" />
+    <preference for="Magento\App\ModuleListInterface" type="Magento\App\ModuleList" />
+    <preference for="Magento\Event\ConfigInterface" type="Magento\Event\Config" />
+    <preference for="Magento\Event\InvokerInterface" type="Magento\Event\Invoker\InvokerDefault" />
     <preference for="Magento\Interception\PluginList" type="Magento\Interception\PluginList\PluginList" />
-    <type name="Magento\Core\Model\App\State">
+    <preference for="Magento\Event\ManagerInterface" type="Magento\Event\Manager\Proxy" />
+    <preference for="Magento\View\LayoutInterface" type="Magento\Core\Model\Layout" />
+    <preference for="Magento\View\Layout\ProcessorInterface" type="Magento\Core\Model\Layout\Merge" />
+    <type name="Magento\App\State">
         <param name="installDate">
-            <value type="argument">Magento\Core\Model\App\State::PARAM_INSTALL_DATE</value>
+            <value type="argument">Magento\App\State::PARAM_INSTALL_DATE</value>
         </param>
         <param name="mode">
             <value type="argument">Magento\Core\Model\App::PARAM_MODE</value>
         </param>
     </type>
+    <type name="Magento\Core\App\FrontController\Plugin\Install">
+        <param name="cache">
+            <instance type="Magento\Core\Model\Cache\Type\Config" />
+        </param>
+    </type>
     <type name="Magento\Core\Model\Config\ValidationState">
         <param name="appMode">
             <value type="argument">Magento\Core\Model\App::PARAM_MODE</value>
@@ -64,7 +79,7 @@
             <value type="argument">Magento\Core\Model\App::PARAM_CUSTOM_LOCAL_CONFIG</value>
         </param>
     </type>
-    <type name="Magento\Core\Model\Module\Declaration\Reader\Filesystem">
+    <type name="Magento\App\Module\Declaration\Reader\Filesystem">
         <param name="allowedModules">
             <value type="argument">Magento\Core\Model\App::PARAM_ALLOWED_MODULES</value>
         </param>
@@ -87,14 +102,6 @@
             <value type="argument">Magento\Core\Model\App::PARAM_RUN_TYPE</value>
         </param>
     </type>
-    <type name="Magento\Core\Model\Cache">
-        <param name="cacheTypes">
-            <instance type="Magento\Core\Model\Cache\Types\Proxy" />
-        </param>
-        <param name="config">
-            <instance type="Magento\Core\Model\Config\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Core\Model\Config">
         <param name="storage">
             <instance type="Magento\Core\Model\Config\Storage" />
@@ -105,11 +112,6 @@
             <instance type="Magento\Core\Model\Config\Loader\Proxy" />
         </param>
     </type>
-    <type name="Magento\Core\Model\Event\Config">
-        <param name="config">
-            <instance type="Magento\Core\Model\Config\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Core\Model\Translate">
         <param name="cache">
             <instance type="Magento\Core\Model\Cache\Type\Translate" />
@@ -131,16 +133,6 @@
         </param>
     </type>
     <type name="Magento\Data\Structure" shared="false" />
-    <type name="Magento\HTTP\Handler\Composite">
-        <param name="handlers">
-            <value>
-                <app>
-                    <sortOrder>50</sortOrder>
-                    <class>Magento\Core\Model\App\Handler</class>
-                </app>
-            </value>
-        </param>
-    </type>
     <type name="Magento\Core\Model\DataService\Path\Composite">
         <param name="items">
             <value>
@@ -149,42 +141,16 @@
             </value>
         </param>
     </type>
-    <type name="Magento\Core\Helper\Url">
-        <param name="translate">
-            <instance type="Magento\Core\Model\Translate\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Core\Model\Design">
-        <param name="eventDispatcher">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Core\Model\View\Design">
         <param name="storeManager">
             <instance type="Magento\Core\Model\StoreManager\Proxy" />
         </param>
     </type>
     <type name="Magento\Acl" shared="false" />
-    <type name="Magento\Core\Model\Context">
-        <param name="eventDispatcher">
-            <instance type="Magento\Core\Model\Event\Manager\Proxy" />
-        </param>
-    </type>
-    <type name="Magento\Core\Model\ModuleManager">
-        <param name="config">
-            <instance type="Magento\Core\Model\Config\Proxy" />
-        </param>
-    </type>
     <type name="Magento\Core\Model\ObjectManager\ConfigLoader">
         <param name="cache">
             <instance type="Magento\Core\Model\Cache\Type\Config"/>
         </param>
-        <param name="modulesReader">
-            <instance type="Magento\Core\Model\Config\Modules\Reader\Proxy" />
-        </param>
-        <param name="mode">
-            <value type="argument">Magento\Core\Model\App::PARAM_MODE</value>
-        </param>
     </type>
     <type name="Magento\Core\Model\ObjectManager\ConfigCache">
         <param name="cacheFrontend">
@@ -211,11 +177,6 @@
         <param name="cacheId">
             <value>interception</value>
         </param>
-        <param name="scopePriorityScheme">
-            <value>
-                <first>global</first>
-            </value>
-        </param>
     </type>
     <type name="Magento\Interception\PluginList\PluginList">
         <param name="cache">
@@ -241,6 +202,14 @@
             <value type="argument">Magento\Core\Model\Resource::PARAM_TABLE_PREFIX</value>
         </param>
     </type>
+    <type name="Magento\Config\Scope">
+        <param name="defaultScope">
+            <value>global</value>
+        </param>
+        <param name="areaList">
+            <instance type="Magento\App\AreaListProxy" />
+        </param>
+    </type>
     <type name="Magento\Core\Model\Url">
         <param name="session">
             <instance type="Magento\Core\Model\Session\Proxy" />
diff --git a/dev/tests/integration/framework/Magento/TestFramework/Application.php b/dev/tests/integration/framework/Magento/TestFramework/Application.php
index f32d62776836f0051bf8f0dde96664aba57d5f61..27a5696660f6ab3ce51f402768c37793a0734b6d 100644
--- a/dev/tests/integration/framework/Magento/TestFramework/Application.php
+++ b/dev/tests/integration/framework/Magento/TestFramework/Application.php
@@ -135,12 +135,12 @@ class Application
         $generationDir = "$installDir/generation";
         $this->_initParams = array(
             \Magento\Core\Model\App::PARAM_APP_DIRS => array(
-                \Magento\Core\Model\Dir::CONFIG      => $this->_installEtcDir,
-                \Magento\Core\Model\Dir::VAR_DIR     => $installDir,
-                \Magento\Core\Model\Dir::MEDIA       => "$installDir/media",
-                \Magento\Core\Model\Dir::STATIC_VIEW => "$installDir/pub_static",
-                \Magento\Core\Model\Dir::PUB_VIEW_CACHE => "$installDir/pub_cache",
-                \Magento\Core\Model\Dir::GENERATION => $generationDir,
+                \Magento\App\Dir::CONFIG      => $this->_installEtcDir,
+                \Magento\App\Dir::VAR_DIR     => $installDir,
+                \Magento\App\Dir::MEDIA       => "$installDir/media",
+                \Magento\App\Dir::STATIC_VIEW => "$installDir/pub_static",
+                \Magento\App\Dir::PUB_VIEW_CACHE => "$installDir/pub_cache",
+                \Magento\App\Dir::GENERATION => $generationDir,
             ),
             \Magento\Core\Model\App::PARAM_MODE => $appMode
         );
@@ -212,14 +212,14 @@ class Application
             ));
 
             $objectManager->addSharedInstance($config, 'Magento\Core\Model\Config\Primary');
-            $objectManager->addSharedInstance($config->getDirectories(), 'Magento\Core\Model\Dir');
+            $objectManager->addSharedInstance($config->getDirectories(), 'Magento\App\Dir');
             $objectManager->configure(array(
                 'preferences' => array(
                     'Magento\Core\Model\Cookie' => 'Magento\TestFramework\Cookie'
                 )
             ));
             $objectManager->loadPrimaryConfig($this->_primaryConfig);
-            $verification = $objectManager->get('Magento\Core\Model\Dir\Verification');
+            $verification = $objectManager->get('Magento\App\Dir\Verification');
             $verification->createAndVerifyDirectories();
             $objectManager->configure(
                 $objectManager->get('Magento\Core\Model\ObjectManager\ConfigLoader')->load('global')
@@ -232,7 +232,9 @@ class Application
                     'type' => 'Magento\TestFramework\Db\ConnectionAdapter'
                 ),
                 'preferences' => array(
-                    'Magento\Core\Model\Cookie' => 'Magento\TestFramework\Cookie'
+                    'Magento\Core\Model\Cookie' => 'Magento\TestFramework\Cookie',
+                    'Magento\App\RequestInterface' => 'Magento\TestFramework\Request',
+                    'Magento\App\ResponseInterface' => 'Magento\TestFramework\Response',
                 ),
             ));
         }
@@ -241,8 +243,8 @@ class Application
             ->setCache($objectManager->get('Magento\Core\Model\CacheInterface'));
 
         /** Register event observer of Integration Framework */
-        /** @var \Magento\Core\Model\Event\Config\Data $eventConfigData */
-        $eventConfigData = $objectManager->get('Magento\Core\Model\Event\Config\Data');
+        /** @var \Magento\Event\Config\Data $eventConfigData */
+        $eventConfigData = $objectManager->get('Magento\Event\Config\Data');
         $eventConfigData->merge(
             array('core_app_init_current_store_after' =>
                 array('integration_tests' =>
@@ -254,8 +256,8 @@ class Application
                 )
             )
         );
-        /** @var \Magento\Core\Model\Dir\Verification $verification */
-        $verification = $objectManager->get('Magento\Core\Model\Dir\Verification');
+        /** @var \Magento\App\Dir\Verification $verification */
+        $verification = $objectManager->get('Magento\App\Dir\Verification');
         $verification->createAndVerifyDirectories();
 
         $this->loadArea(\Magento\TestFramework\Application::DEFAULT_APP_AREA);
@@ -276,15 +278,13 @@ class Application
 
     /**
      * Run application normally, but with encapsulated initialization options
-     *
-     * @param \Magento\TestFramework\Request $request
-     * @param \Magento\TestFramework\Response $response
      */
-    public function run(\Magento\TestFramework\Request $request, \Magento\TestFramework\Response $response)
+    public function run()
     {
-        $composer = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $handler = $composer->get('Magento\HTTP\Handler\Composite');
-        $handler->handle($request, $response);
+        $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
+        $config = new \Magento\Core\Model\Config\Primary(BP, array());
+        $entryPoint = new \Magento\Core\Model\EntryPoint\Http($config, $objectManager);
+        $entryPoint->processRequest();
     }
 
     /**
@@ -341,8 +341,8 @@ class Application
         $this->initialize();
 
         /* Run all install and data-install scripts */
-        /** @var $updater \Magento\Core\Model\Db\Updater */
-        $updater = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Db\Updater');
+        /** @var $updater \Magento\App\Updater */
+        $updater = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Updater');
         $updater->updateScheme();
         $updater->updateData();
 
@@ -370,8 +370,8 @@ class Application
         /* Switch an application to installed mode */
         $this->initialize();
         //hot fix for \Magento\Catalog\Model\Product\Attribute\Backend\SkuTest::testGenerateUniqueLongSku
-        /** @var $appState \Magento\Core\Model\App\State */
-        $appState = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App\State');
+        /** @var $appState \Magento\App\State */
+        $appState = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\State');
         $appState->setInstallDate(date('r', strtotime('now')));
     }
 
diff --git a/dev/tests/integration/framework/Magento/TestFramework/Cookie.php b/dev/tests/integration/framework/Magento/TestFramework/Cookie.php
index 3fce9302cd282113070d873d38d7642595022dfa..e475842f533c4bc4974198d987cc9ed0dd119007 100644
--- a/dev/tests/integration/framework/Magento/TestFramework/Cookie.php
+++ b/dev/tests/integration/framework/Magento/TestFramework/Cookie.php
@@ -35,19 +35,19 @@ class Cookie extends \Magento\Core\Model\Cookie
     /**
      * @param \Magento\Core\Model\Store\Config $coreStoreConfig
      * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Core\Controller\Request\Http $request
-     * @param \Magento\Core\Controller\Response\Http $response
+     * @param \Magento\App\RequestInterface $request
+     * @param \Magento\App\ResponseInterface $response
      */
     public function __construct(
         \Magento\Core\Model\Store\Config $coreStoreConfig,
         \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Core\Controller\Request\Http $request = null,
-        \Magento\Core\Controller\Response\Http $response = null
+        \Magento\App\RequestInterface $request = null,
+        \Magento\App\ResponseInterface $response = null
     ) {
         $this->_storeManager = $storeManager;
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $request = $request ?: $objectManager->get('Magento\Core\Controller\Request\Http');
-        $response = $response ?: $objectManager->get('Magento\Core\Controller\Response\Http');
+        $request = $request ?: $objectManager->get('Magento\App\RequestInterface');
+        $response = $response ?: $objectManager->get('Magento\App\ResponseInterface');
         parent::__construct($request, $response, $coreStoreConfig, $storeManager);
     }
 
diff --git a/dev/tests/integration/framework/Magento/TestFramework/Helper/Bootstrap.php b/dev/tests/integration/framework/Magento/TestFramework/Helper/Bootstrap.php
index e8a3e3992a0c7371a944fc3481e0b0079de43d9d..b0ed7bbadae4a153c7b6a568450a1a3633d6591e 100644
--- a/dev/tests/integration/framework/Magento/TestFramework/Helper/Bootstrap.php
+++ b/dev/tests/integration/framework/Magento/TestFramework/Helper/Bootstrap.php
@@ -140,15 +140,12 @@ class Bootstrap
     }
 
     /**
-     * Perform the full request processing by the application instance optionally passing parameters to be overridden.
+     * Perform the full request processing by the application instance.
      * Intended to be used by the controller tests.
-     *
-     * @param \Magento\TestFramework\Request $request
-     * @param \Magento\TestFramework\Response $response
      */
-    public function runApp(\Magento\TestFramework\Request $request, \Magento\TestFramework\Response $response)
+    public function runApp()
     {
-        $this->_bootstrap->getApplication()->run($request, $response);
+        $this->_bootstrap->getApplication()->run();
     }
 
     /**
diff --git a/dev/tests/integration/framework/Magento/TestFramework/Helper/Config.php b/dev/tests/integration/framework/Magento/TestFramework/Helper/Config.php
index cbc499e291b6ed4f3b8aa373682a5825d670e328..d52283543d9f790d371ac47faea223f83aab4957 100644
--- a/dev/tests/integration/framework/Magento/TestFramework/Helper/Config.php
+++ b/dev/tests/integration/framework/Magento/TestFramework/Helper/Config.php
@@ -41,7 +41,7 @@ class Config
     {
         $result = array();
         $moduleList = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\ModuleListInterface');
+            ->get('Magento\App\ModuleListInterface');
         foreach ($moduleList->getModules() as $module) {
             $result[] = $module['name'];
         }
diff --git a/dev/tests/integration/framework/Magento/TestFramework/Request.php b/dev/tests/integration/framework/Magento/TestFramework/Request.php
index 7928395d335afdda0187914bd3340e12ab3faacd..bb91af0d3261aeeecd051170d580752bc01c8b5c 100644
--- a/dev/tests/integration/framework/Magento/TestFramework/Request.php
+++ b/dev/tests/integration/framework/Magento/TestFramework/Request.php
@@ -30,7 +30,7 @@
  */
 namespace Magento\TestFramework;
 
-class Request extends \Magento\Core\Controller\Request\Http
+class Request extends \Magento\App\Request\Http
 {
     /**
      * Server super-global mock
diff --git a/dev/tests/integration/framework/Magento/TestFramework/Response.php b/dev/tests/integration/framework/Magento/TestFramework/Response.php
index e5f6dfed77b86bccf5ae0d5057652ec1fec9678a..2ac3e623fcc101c61d13ece12ddcbaef485910a8 100644
--- a/dev/tests/integration/framework/Magento/TestFramework/Response.php
+++ b/dev/tests/integration/framework/Magento/TestFramework/Response.php
@@ -34,7 +34,7 @@ namespace Magento\TestFramework;
  * @package Magento\TestFramework
  * @SuppressWarnings(PHPMD.LongVariable)
  */
-class Response extends \Magento\Core\Controller\Response\Http
+class Response extends \Magento\App\Response\Http
 {
     /**
      * @inherit
@@ -58,6 +58,5 @@ class Response extends \Magento\Core\Controller\Response\Http
 
     public function sendResponse()
     {
-        $this->_eventManager->dispatch('http_response_send_before', array('response'=>$this));
     }
 }
diff --git a/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractConfigFiles.php b/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractConfigFiles.php
index bcfb08792682f3fd6c260da5a88deca1fbf76d16..d914765ffb2e06716eab3ed407c14e3fb5ee4181 100644
--- a/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractConfigFiles.php
+++ b/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractConfigFiles.php
@@ -72,8 +72,8 @@ abstract class AbstractConfigFiles extends \PHPUnit_Framework_TestCase
                 )
             );
 
-            $dirs = $this->_objectManager->get('Magento\Core\Model\Dir');
-            $modulesDir = $dirs->getDir(\Magento\Core\Model\Dir::MODULES);
+            $dirs = $this->_objectManager->get('Magento\App\Dir');
+            $modulesDir = $dirs->getDir(\Magento\App\Dir::MODULES);
             $this->_schemaFile = $modulesDir . $this->_getXsdPath();
         }
     }
@@ -148,7 +148,7 @@ abstract class AbstractConfigFiles extends \PHPUnit_Framework_TestCase
     public function getXmlConfigFiles()
     {
         return glob(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')->getDir('app')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')->getDir('app')
                 . $this->_getConfigFilePathGlob()
         );
     }
diff --git a/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractController.php b/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractController.php
index 76f0fd72b9a7319eaa5df9e238df3a9fb678dd16..b7fce6df7765fe184956c416b2bb9832cad8b3c1 100644
--- a/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractController.php
+++ b/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractController.php
@@ -77,13 +77,10 @@ abstract class AbstractController extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_assertSessionErrors = false;
-        $this->_objectManager = \Magento\TestFramework\ObjectManager::getInstance();
-        $this->_objectManager->configure(array(
-            'preferences' => array(
-                'Magento\Core\Controller\Request\Http' => 'Magento\TestFramework\Request',
-                'Magento\Core\Controller\Response\Http' => 'Magento\TestFramework\Response'
-            )
-        ));
+        $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();;
+        $this->_objectManager->removeSharedInstance('Magento\App\ResponseInterface');
+        $this->_objectManager->removeSharedInstance('Magento\App\RequestInterface');
+
     }
 
     protected function tearDown()
@@ -112,18 +109,18 @@ abstract class AbstractController extends \PHPUnit_Framework_TestCase
     public function dispatch($uri)
     {
         $this->getRequest()->setRequestUri($uri);
-        $this->_getBootstrap()->runApp($this->getRequest(), $this->getResponse());
+        $this->_getBootstrap()->runApp();
     }
 
     /**
      * Request getter
      *
-     * @return \Magento\TestFramework\Request
+     * @return \Magento\App\RequestInterface
      */
     public function getRequest()
     {
         if (!$this->_request) {
-            $this->_request = $this->_objectManager->get('Magento\TestFramework\Request');
+            $this->_request = $this->_objectManager->get('Magento\App\RequestInterface');
         }
         return $this->_request;
     }
@@ -131,12 +128,12 @@ abstract class AbstractController extends \PHPUnit_Framework_TestCase
     /**
      * Response getter
      *
-     * @return \Magento\TestFramework\Response
+     * @return \Magento\App\ResponseInterface
      */
     public function getResponse()
     {
         if (!$this->_response) {
-            $this->_response = $this->_objectManager->get('Magento\TestFramework\Response');
+            $this->_response = $this->_objectManager->get('Magento\App\ResponseInterface');
         }
         return $this->_response;
     }
diff --git a/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractIntegrity.php b/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractIntegrity.php
index 9eff02d9c7b2d6c79a81b21392ec9c1bfaa03e61..028635761a19683ae0bec93a24f9b5e1813407da 100644
--- a/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractIntegrity.php
+++ b/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractIntegrity.php
@@ -84,7 +84,7 @@ abstract class AbstractIntegrity extends \PHPUnit_Framework_TestCase
         /** @var $themeCollection \Magento\Core\Model\Theme\Collection */
         $themeCollection = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Model\Resource\Theme\Collection');
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($themeCollection as $theme) {
             $themeItems[$theme->getId()] = $theme;
         }
diff --git a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/ApplicationTest.php b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/ApplicationTest.php
index b254dde834d3219082440183b525cdecff5d5272..4aa324bc2397b391e5622bb72973622cd6cf7d42 100644
--- a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/ApplicationTest.php
+++ b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/ApplicationTest.php
@@ -38,7 +38,7 @@ class ApplicationTest extends \PHPUnit_Framework_TestCase
     {
         $dbInstance = $this->getMockForAbstractClass('Magento\TestFramework\Db\AbstractDb', array(), '', false);
         $installDir = '/install/dir';
-        $appMode = \Magento\Core\Model\App\State::MODE_DEVELOPER;
+        $appMode = \Magento\App\State::MODE_DEVELOPER;
 
         $object = new \Magento\TestFramework\Application(
             $dbInstance,
@@ -59,7 +59,7 @@ class ApplicationTest extends \PHPUnit_Framework_TestCase
         $this->assertArrayHasKey(\Magento\Core\Model\App::PARAM_MODE, $initParams,
             'Application mode is not configured');
         $this->assertEquals(
-            \Magento\Core\Model\App\State::MODE_DEVELOPER,
+            \Magento\App\State::MODE_DEVELOPER,
             $initParams[\Magento\Core\Model\App::PARAM_MODE],
             'Wrong application mode configured'
         );
diff --git a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/CookieTest.php b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/CookieTest.php
index 79949584d619bbaf3a4515f163751d2f8667cc12..f8308c9e807e44bdc37549138956574f6801f679 100644
--- a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/CookieTest.php
+++ b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/CookieTest.php
@@ -48,11 +48,12 @@ class CookieTest extends \PHPUnit_Framework_TestCase
             $coreStoreConfig,
             $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false),
             new \Magento\TestFramework\Request(
-                $this->getMock('Magento\Core\Model\StoreManager', [], [], '', false),
-                $this->getMock('Magento\Backend\Helper\Data', [], [], '', false)
+                $this->getMock('Magento\App\RouterListInterface'),
+                'http://example.com',
+                $this->getMock('Magento\App\Request\PathInfoProcessorInterface')
             ),
             new \Magento\TestFramework\Response(
-                $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false)
+                $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false)
             )
         );
     }
diff --git a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/Helper/BootstrapTest.php b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/Helper/BootstrapTest.php
index 2e6d4d0ce60fe301c2993f4af53a536399729daf..8ea05427755e425290e775c8591d6a8a9465378b 100644
--- a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/Helper/BootstrapTest.php
+++ b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/Helper/BootstrapTest.php
@@ -54,8 +54,8 @@ class BootstrapTest extends \PHPUnit_Framework_TestCase
      */
     protected $_fixtureInitParams = array(
         \Magento\Core\Model\App::PARAM_APP_DIRS => array(
-            \Magento\Core\Model\Dir::CONFIG     => __DIR__,
-            \Magento\Core\Model\Dir::VAR_DIR    => __DIR__,
+            \Magento\App\Dir::CONFIG     => __DIR__,
+            \Magento\App\Dir::VAR_DIR    => __DIR__,
         ),
     );
 
@@ -191,14 +191,7 @@ class BootstrapTest extends \PHPUnit_Framework_TestCase
 
     public function testRunApp()
     {
-        $requestMock = $this->getMock('Magento\TestFramework\Request', array(), array(), '', false);
-        $responseMock = $this->getMock('Magento\TestFramework\Response', array(), array(), '', false);
-
-        $this->_application
-            ->expects($this->once())
-            ->method('run')
-            ->with($requestMock, $responseMock)
-        ;
-        $this->_object->runApp($requestMock, $responseMock);
+        $this->_application->expects($this->once())->method('run');
+        $this->_object->runApp();
     }
 }
diff --git a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/ObjectManagerTest.php b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/ObjectManagerTest.php
index b7394864f6644939f6b04d39649c5b796b641b09..788dc2750560df0c7f328afb8a0faaae8c756db4 100644
--- a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/ObjectManagerTest.php
+++ b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/ObjectManagerTest.php
@@ -48,8 +48,8 @@ class ObjectManagerTest extends \PHPUnit_Framework_TestCase
         $instanceConfig = new \Magento\TestFramework\ObjectManager\Config();
         $primaryConfig = $this->getMock('Magento\Core\Model\Config\Primary', array(), array(), '', false);
         $primaryConfig->expects($this->any())->method('getParams')->will($this->returnValue(array()));
-        $dirs = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
-        $verification = $this->getMock('Magento\Core\Model\Dir\Verification', array(), array(), '', false);
+        $dirs = $this->getMock('Magento\App\Dir', array(), array(), '', false);
+        $verification = $this->getMock('Magento\App\Dir\Verification', array(), array(), '', false);
         $cache = $this->getMock('Magento\Core\Model\CacheInterface');
         $configLoader = $this->getMock('Magento\Core\Model\ObjectManager\ConfigLoader', array(), array(), '', false);
         $configLoader->expects($this->once())->method('load')->will($this->returnValue(array()));
@@ -62,7 +62,7 @@ class ObjectManagerTest extends \PHPUnit_Framework_TestCase
         $model = new \Magento\TestFramework\ObjectManager(
             $primaryConfig, $instanceConfig,
             array(
-                'Magento\Core\Model\Dir\Verification' => $verification,
+                'Magento\App\Dir\Verification' => $verification,
                 'Magento\Core\Model\Cache\Type\Config' => $cache,
                 'Magento\Core\Model\ObjectManager\ConfigLoader' => $configLoader,
                 'Magento\Core\Model\ObjectManager\ConfigCache' => $configCache,
diff --git a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/RequestTest.php b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/RequestTest.php
index 7f79f37301b75d7956065688ee4f2e891f2790c6..6a81be56265f800c1e35e3a42bef16a5ab4e9e80 100644
--- a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/RequestTest.php
+++ b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/RequestTest.php
@@ -37,8 +37,7 @@ class RequestTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_model = new \Magento\TestFramework\Request(
-            $this->getMock('Magento\Core\Model\StoreManager', ['__wakeup'], [], '', false),
-            $this->getMock('Magento\Backend\Helper\Data', [], [], '', false)
+            $this->getMock('Magento\App\RouterListInterface', array(), array(), '', false)
         );
     }
 
diff --git a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/ResponseTest.php b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/ResponseTest.php
index 41473ce22d4d16a0c38a4469cafce51c4fca6141..09214ed54783a2211bfd695a846f93997f9fbf64 100644
--- a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/ResponseTest.php
+++ b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/ResponseTest.php
@@ -32,7 +32,7 @@ class ResponseTest extends \PHPUnit_Framework_TestCase
     public function testCanSendHeaders()
     {
         $response = new \Magento\TestFramework\Response(
-            $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false)
+            $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false)
         );
         $this->assertTrue($response->canSendHeaders());
         $this->assertTrue($response->canSendHeaders(false));
diff --git a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/TestCase/ControllerAbstractTest.php b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/TestCase/ControllerAbstractTest.php
index 9d196ca7e20a00b6f59bfaaac1f34ac4334ec6ab..0ac47a15e2e064742ed33932af695e866433232d 100644
--- a/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/TestCase/ControllerAbstractTest.php
+++ b/dev/tests/integration/framework/tests/unit/testsuite/Magento/Test/TestCase/ControllerAbstractTest.php
@@ -46,12 +46,9 @@ class ControllerAbstractTest extends \Magento\TestFramework\TestCase\AbstractCon
         ;
         $session = new \Magento\Object(array('messages' => $messagesCollection));
         $request = new \Magento\TestFramework\Request(
-            $this->getMock('Magento\Core\Model\StoreManager', [], [], '', false),
-            $this->getMock('Magento\Backend\Helper\Data', [], [], '', false)
-        );
-        $response = new \Magento\TestFramework\Response(
-            $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false)
+            $this->getMock('Magento\App\RouterListInterface', array(), array(), '', false)
         );
+        $response = new \Magento\TestFramework\Response();
 
         $this->_objectManager = $this->getMock(
             'Magento\TestFramework\ObjectManager', array('get', 'create'), array(), '', false
@@ -59,8 +56,8 @@ class ControllerAbstractTest extends \Magento\TestFramework\TestCase\AbstractCon
         $this->_objectManager->expects($this->any())
             ->method('get')
             ->will($this->returnValueMap(array(
-                array('Magento\TestFramework\Request', $request),
-                array('Magento\TestFramework\Response', $response),
+                array('Magento\App\RequestInterface', $request),
+                array('Magento\App\ResponseInterface', $response),
                 array('Magento\Core\Model\Session', $session),
             )));
     }
@@ -126,7 +123,7 @@ class ControllerAbstractTest extends \Magento\TestFramework\TestCase\AbstractCon
     public function testAssertRedirect()
     {
         /*
-         * Prevent calling \Magento\Core\Controller\Response\Http::setRedirect() because it dispatches event,
+         * Prevent calling \Magento\App\Response\Http::setRedirect() because it dispatches event,
          * which requires fully initialized application environment intentionally not available
          * for unit tests
          */
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Attribute/Set/Toolbar/AddTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Attribute/Set/Toolbar/AddTest.php
index 8249d297d2cb765fd103a62b7544568880ba5f07..dd6c8726f3facbc0ee5489eef2f5ab49a9a7e8fb 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Attribute/Set/Toolbar/AddTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Attribute/Set/Toolbar/AddTest.php
@@ -35,7 +35,7 @@ class AddTest extends \PHPUnit_Framework_TestCase
     public function testToHtmlFormId()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
 
         $block = $layout->addBlock('Magento\Adminhtml\Block\Catalog\Product\Attribute\Set\Toolbar\Add', 'block');
         $block->setArea('adminhtml')->unsetChild('setForm');
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Options/OptionTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Options/OptionTest.php
index 0963b50f4c7b1eea53d9c2f425e605bc3761a8ec..81e11184211b71cb97e5538344336ff3a20a4e8d 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Options/OptionTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Options/OptionTest.php
@@ -34,7 +34,7 @@ class OptionTest extends \PHPUnit_Framework_TestCase
 {
     public function testGetOptionValuesCaching()
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Catalog\Product\Edit\Tab\Options\Option');
         /** @var $productWithOptions \Magento\Catalog\Model\Product */
         $productWithOptions = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Options/Type/SelectTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Options/Type/SelectTest.php
index 504cfe9ea384b40179dfdeb063f6b3359eb35b02..b5a1ad6dc4cb3ce9c5159d3d808f26b4f43db9a2 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Options/Type/SelectTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Options/Type/SelectTest.php
@@ -35,7 +35,7 @@ class SelectTest extends \PHPUnit_Framework_TestCase
     public function testToHtmlFormId()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Adminhtml\Block\Catalog\Product\Edit\Tab\Options\Type_Select */
         $block = $layout->createBlock('Magento\Adminhtml\Block\Catalog\Product\Edit\Tab\Options\Type\Select', 'select');
         $html = $block->getPriceTypeSelectHtml();
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/Config/MatrixTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/Config/MatrixTest.php
index 11164d17846bd35f6b5ab9326712dbca1ac028c3..baf77d4275d08fc7446f789de8036fe1b78dd961 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/Config/MatrixTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/Config/MatrixTest.php
@@ -43,7 +43,7 @@ class MatrixTest extends \PHPUnit_Framework_TestCase
         $objectManager->get('Magento\Core\Model\Registry')
             ->register('current_product', \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Catalog\Model\Product')->load(1));
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Core\Block\Text', 'head');
         /** @var $usedAttribute \Magento\Catalog\Model\Entity\Attribute */
         $usedAttribute = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
@@ -54,7 +54,7 @@ class MatrixTest extends \PHPUnit_Framework_TestCase
             );
         $attributeOptions = $usedAttribute->getSource()->getAllOptions(false);
         /** @var $block \Magento\Adminhtml\Block\Catalog\Product\Edit\Tab\Super\Config_Matrix */
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock(preg_replace('/Test$/', '', __CLASS__));
 
         $variations = $block->getVariations();
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/ConfigTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/ConfigTest.php
index e85fef2daa50ebd3a7f174106af0224b835b9e5c..82f474152bd36688556d21f6a82f4df57fcce62e 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/ConfigTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/ConfigTest.php
@@ -42,7 +42,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
         $objectManager->get('Magento\Core\Model\Registry')
             ->register('current_product', $objectManager->create('Magento\Catalog\Model\Product'));
         /** @var $block \Magento\Adminhtml\Block\Catalog\Product\Edit\Tab\Super\Config */
-        $block = $objectManager->get('Magento\Core\Model\Layout')
+        $block = $objectManager->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Catalog\Product\Edit\Tab\Super\Config');
         $this->assertEquals(array(), $block->getSelectedAttributes());
     }
@@ -57,14 +57,14 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $objectManager->get('Magento\Core\Model\Registry')
             ->register('current_product', $objectManager->create('Magento\Catalog\Model\Product')->load(1));
-        $objectManager->get('Magento\Core\Model\Layout')->createBlock('Magento\Core\Block\Text', 'head');
+        $objectManager->get('Magento\View\LayoutInterface')->createBlock('Magento\Core\Block\Text', 'head');
         $usedAttribute = $objectManager->get('Magento\Catalog\Model\Entity\Attribute')->loadByCode(
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Eav\Model\Config')
                 ->getEntityType('catalog_product')->getId(),
             'test_configurable'
         );
         /** @var $block \Magento\Adminhtml\Block\Catalog\Product\Edit\Tab\Super\Config */
-        $block = $objectManager->get('Magento\Core\Model\Layout')
+        $block = $objectManager->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Catalog\Product\Edit\Tab\Super\Config');
         $selectedAttributes = $block->getSelectedAttributes();
         $this->assertEquals(array($usedAttribute->getId()), array_keys($selectedAttributes));
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/SettingsTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/SettingsTest.php
index ffaef757f401e39d9d9bf859d86003fe9a142f3e..b1f4ba55737e480d30774cc0796ab57dfe12453a 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/SettingsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/Tab/Super/SettingsTest.php
@@ -57,7 +57,7 @@ class SettingsTest extends \PHPUnit_Framework_TestCase
 
         $context = $objectManager->create('Magento\Backend\Block\Template\Context', array('urlBuilder' => $urlModel));
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = $objectManager->get('Magento\Core\Model\Layout');
+        $layout = $objectManager->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Adminhtml\Block\Catalog\Product\Edit\Tab\Super\Settings */
         $block = $layout->createBlock(
             'Magento\Adminhtml\Block\Catalog\Product\Edit\Tab\Super\Settings',
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/TabsTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/TabsTest.php
index f16b59b3e53849bd7087fa7da7e6972ae61a28ff..4424a309dd82bf43d36e4b95339b515a80be417c 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/TabsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Edit/TabsTest.php
@@ -39,10 +39,10 @@ class TabsTest extends \PHPUnit_Framework_TestCase
     public function testPrepareLayout()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $objectManager->get('Magento\Core\Model\View\DesignInterface')
+        $objectManager->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML)
             ->setDefaultDesignTheme();
-        $objectManager->get('Magento\Core\Model\Config\Scope')
+        $objectManager->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
         /** @var $product \Magento\Catalog\Model\Product */
         $product = $objectManager->create('Magento\Catalog\Model\Product');
@@ -50,7 +50,7 @@ class TabsTest extends \PHPUnit_Framework_TestCase
         $objectManager->get('Magento\Core\Model\Registry')->register('product', $product);
 
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = $objectManager->get('Magento\Core\Model\Layout');
+        $layout = $objectManager->get('Magento\View\LayoutInterface');
         $layout->addBlock('Magento\Core\Block\Text', 'head');
         $layout->setArea('nonexisting'); // prevent block templates rendering
         /** @var $block \Magento\Adminhtml\Block\Catalog\Product\Edit\Tabs */
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/EditTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/EditTest.php
index 0a5a2aaaf15b235ee76bb62afd2628ba711093bf..55139cb21f4581b865c70ee2a17165b14157131e 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/EditTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/EditTest.php
@@ -50,7 +50,7 @@ class EditTest extends \PHPUnit_Framework_TestCase
         /** @var $objectManager \Magento\TestFramework\ObjectManager */
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $objectManager->get('Magento\Core\Model\Registry')->register('current_product', $product);
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Catalog\Product\Edit');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Helper/Form/Gallery/ContentTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Helper/Form/Gallery/ContentTest.php
index 6ebb974071022c1bc539fa30eaafb1a518a4b0d3..2579bf435a84049587c4e1c49ec7399886d706d9 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Helper/Form/Gallery/ContentTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Helper/Form/Gallery/ContentTest.php
@@ -35,7 +35,7 @@ class ContentTest extends \PHPUnit_Framework_TestCase
     public function testGetUploader()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Adminhtml\Block\Catalog\Product\Helper\Form\Gallery\Content */
         $block = $layout->createBlock('Magento\Adminhtml\Block\Catalog\Product\Helper\Form\Gallery\Content', 'block');
 
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Options/AjaxTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Options/AjaxTest.php
index 707219bc9359026cb59e61a1fa37ac4fe3bb5ee0..41c13382db52834a7a7248df7b25a2f3605571ff 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Options/AjaxTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Catalog/Product/Options/AjaxTest.php
@@ -40,7 +40,7 @@ class AjaxTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         parent::setUp();
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Catalog\Product\Options\Ajax');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Cms/Page/Edit/Tab/DesignTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Cms/Page/Edit/Tab/DesignTest.php
index 98286908cd63e5901559c6596e24a75808500a14..f065f2a10bc08c84e4557a71b4fab5ad33a6e6a2 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Cms/Page/Edit/Tab/DesignTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Cms/Page/Edit/Tab/DesignTest.php
@@ -40,10 +40,10 @@ class DesignTest extends \PHPUnit_Framework_TestCase
     {
         /** @var $objectManager \Magento\TestFramework\ObjectManager */
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $objectManager->get('Magento\Core\Model\View\DesignInterface')
+        $objectManager->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML)
             ->setDefaultDesignTheme();
-        $objectManager->get('Magento\Core\Model\Config\Scope')
+        $objectManager->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
         $objectManager->get('Magento\Core\Model\Registry')
             ->register('cms_page', $objectManager->create('Magento\Cms\Model\Page'));
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Dashboard/GraphTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Dashboard/GraphTest.php
index 3f3197c633cd65616bf95ffcae5c04b637d245bc..8fd9077f8cac81bb110f31182f5a92e36016fabf 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Dashboard/GraphTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Dashboard/GraphTest.php
@@ -40,7 +40,7 @@ class GraphTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         parent::setUp();
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Dashboard\Graph');
         $this->_block->setDataHelperName('Magento\Adminhtml\Helper\Dashboard\Order');
     }
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Newsletter/Queue/Edit/FormTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Newsletter/Queue/Edit/FormTest.php
index 5f1197eee2444e42c5505afbf534d1ef1d694b77..73936e9674d5e61d288206e86259b2ac3f067cef 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Newsletter/Queue/Edit/FormTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Newsletter/Queue/Edit/FormTest.php
@@ -38,11 +38,11 @@ class FormTest extends \PHPUnit_Framework_TestCase
      */
     public function testPrepareForm()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML)
             ->setDefaultDesignTheme();
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\Config\Scope')
+            ->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
         $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Adminhtml\Block\Newsletter\Queue\Edit\Form');
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Newsletter/SubscriberTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Newsletter/SubscriberTest.php
index 114f115561553d68477ef502955df8e182f19d2f..85bdb121a2f45c8515fc7c6d8843b6dbef6d92b7 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Newsletter/SubscriberTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Newsletter/SubscriberTest.php
@@ -35,7 +35,7 @@ class SubscriberTest extends \PHPUnit_Framework_TestCase
     public function testGetShowQueueAdd()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Adminhtml\Block\Newsletter\Subscriber */
         $block = $layout->createBlock('Magento\Adminhtml\Block\Newsletter\Subscriber', 'block');
         /** @var $childBlock \Magento\Core\Block\Template */
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Page/HeadTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Page/HeadTest.php
index 38275e419975149ae6ddae1c8e577cd498f662fb..4dbab16ae6799351e37103415b5b327ea2b14ab6 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Page/HeadTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Page/HeadTest.php
@@ -33,7 +33,7 @@ class HeadTest extends \PHPUnit_Framework_TestCase
     {
         $this->assertInstanceOf(
             'Magento\Adminhtml\Block\Page\Head',
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Adminhtml\Block\Page\Head')
         );
     }
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Page/HeaderTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Page/HeaderTest.php
index 801ddd8cc0f5dbd31cd9727cd608264fa73a909e..5100a6c818dce446e28249bfbef2a760eba5dd9c 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Page/HeaderTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Page/HeaderTest.php
@@ -41,7 +41,7 @@ class HeaderTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         parent::setUp();
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Page\Header');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Promo/Catalog/Edit/Tab/MainTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Promo/Catalog/Edit/Tab/MainTest.php
index 12823bacd0ad76fba6859c5623bbe63698708f8b..68eead7ccb7efeac117de3b153835400d1d7e1be 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Promo/Catalog/Edit/Tab/MainTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Promo/Catalog/Edit/Tab/MainTest.php
@@ -41,7 +41,7 @@ class MainTest extends \PHPUnit_Framework_TestCase
     {
         /** @var $objectManager \Magento\TestFramework\ObjectManager */
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $objectManager->get('Magento\Core\Model\View\DesignInterface')
+        $objectManager->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML)
             ->setDefaultDesignTheme();
         $rule = $objectManager->create('Magento\CatalogRule\Model\Rule');
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Promo/Quote/Edit/Tab/LabelsTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Promo/Quote/Edit/Tab/LabelsTest.php
index 2b5542a0b29839634ea56488f9b55b94be5faf88..5486fb59eed37b805722baff14956b78389b7c8b 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Promo/Quote/Edit/Tab/LabelsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Promo/Quote/Edit/Tab/LabelsTest.php
@@ -33,7 +33,7 @@ class LabelsTest extends \PHPUnit_Framework_TestCase
     {
         $this->assertInstanceOf(
             'Magento\Adminhtml\Block\Promo\Quote\Edit\Tab\Labels',
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Adminhtml\Block\Promo\Quote\Edit\Tab\Labels')
         );
     }
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Promo/Quote/Edit/Tab/MainTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Promo/Quote/Edit/Tab/MainTest.php
index 74780a9d14b9a354307ae3175feacdee70ae14a9..c68ca6b29a4f68e92b5583a0d8ac7ae3c1e1a113 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Promo/Quote/Edit/Tab/MainTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Promo/Quote/Edit/Tab/MainTest.php
@@ -40,7 +40,7 @@ class MainTest extends \PHPUnit_Framework_TestCase
     public function testPrepareForm()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $objectManager->get('Magento\Core\Model\View\DesignInterface')
+        $objectManager->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML)
             ->setDefaultDesignTheme();
         $objectManager->get('Magento\Core\Model\Registry')
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Rating/Edit/Tab/FormTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Rating/Edit/Tab/FormTest.php
index 6b5b7bf2fcf5be1bc7be4347bd307250aed7b231..bddd226d6fe67f2ac6b81c07c6d2dc8b408ee13d 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Rating/Edit/Tab/FormTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Rating/Edit/Tab/FormTest.php
@@ -33,7 +33,7 @@ class FormTest extends \PHPUnit_Framework_TestCase
     {
         $this->assertInstanceOf(
             'Magento\Adminhtml\Block\Rating\Edit\Tab\Form',
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Adminhtml\Block\Rating\Edit\Tab\Form')
         );
     }
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Filter/FormTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Filter/FormTest.php
index 0b63e845f16034e18b5cc764ec8527ce0d782f8b..6315c59eb76296ad3ba1678ea145f7ace3af29ef 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Filter/FormTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Filter/FormTest.php
@@ -38,7 +38,7 @@ class FormTest extends \PHPUnit_Framework_TestCase
      */
     public function testPrepareForm()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML)
             ->setDefaultDesignTheme();
         $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\Core\Model\Layout');
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Bestsellers/GridTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Bestsellers/GridTest.php
index ff62debbb48ca78c38003cffdacf96def7d2de29..4472f31e9d6964074075f82e9eedd185ed811883 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Bestsellers/GridTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Bestsellers/GridTest.php
@@ -40,7 +40,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         parent::setUp();
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Report\Sales\Bestsellers\Grid');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Coupons/GridTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Coupons/GridTest.php
index 12426583a96dd6853627fe0d2a4634995a3519ec..f7befb8871badd76bc64b61d8b6a4829daab0e77 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Coupons/GridTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Coupons/GridTest.php
@@ -40,7 +40,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
      */
     protected function _createBlock($reportType = null)
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Report\Sales\Coupons\Grid');
 
         $filterData = new \Magento\Object();
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Invoiced/GridTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Invoiced/GridTest.php
index 5c07b54d889d3507613fc62e7422face60bc2d1b..5e39ca592de8ce9e229135def0bc7938d4efb353 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Invoiced/GridTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Invoiced/GridTest.php
@@ -40,7 +40,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
      */
     protected function _createBlock($reportType = null)
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Report\Sales\Invoiced\Grid');
 
         $filterData = new \Magento\Object();
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Refunded/GridTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Refunded/GridTest.php
index 5a6e7a85959989954f1dd7c9df08ccbd2867dfd9..ad6d42391ae411afc17452a3e92d7ecfab059dc6 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Refunded/GridTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Refunded/GridTest.php
@@ -40,7 +40,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
      */
     protected function _createBlock($reportType = null)
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Report\Sales\Refunded\Grid');
 
         $filterData = new \Magento\Object();
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Sales/GridTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Sales/GridTest.php
index 4d2c521fe099f19080cdab99f289e934c7eb5406..e6d091edb27ee2fff0974c637d91b28cb18e3a10 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Sales/GridTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Sales/GridTest.php
@@ -40,7 +40,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
      */
     protected function _createBlock($reportType = null)
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Report\Sales\Sales\Grid');
 
         $filterData = new \Magento\Object();
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Shipping/GridTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Shipping/GridTest.php
index c35c0a142e1b277411b039d931fba56cdf19aa80..7f1de78a63a5c00b3b1db33ec590b810bd405e25 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Shipping/GridTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Shipping/GridTest.php
@@ -40,7 +40,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
      */
     protected function _createBlock($reportType = null)
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Report\Sales\Shipping\Grid');
 
         $filterData = new \Magento\Object();
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Tax/GridTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Tax/GridTest.php
index ef54d95c59cefd272818d6a92c1441485c58f2e1..db75c6a06353e412cb130ec2f9490c3fc7d857a7 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Tax/GridTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Report/Sales/Tax/GridTest.php
@@ -40,7 +40,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
      */
     protected function _createBlock($reportType = null)
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Report\Sales\Tax\Grid');
 
         $filterData = new \Magento\Object();
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Sales/Items/AbstractTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Sales/Items/AbstractTest.php
index f0274d482d0fdf7f0d6572ebf3b5a7d5ede49ae0..09f4998df14a899822c038ac5b9aad022b387610 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Sales/Items/AbstractTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Sales/Items/AbstractTest.php
@@ -35,7 +35,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
     public function testGetItemExtraInfoHtml()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Adminhtml\Block\Sales\Items\AbstractItems */
         $block = $layout->createBlock('Magento\Adminhtml\Block\Sales\Items\AbstractItems', 'block');
 
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Sales/Order/Create/Form/AbstractTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Sales/Order/Create/Form/AbstractTest.php
index 63051266b44ea821c17d231a9aa8de1317884b22..c78a8840864344ef7cf7490a5a05695a00e70549 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Sales/Order/Create/Form/AbstractTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Sales/Order/Create/Form/AbstractTest.php
@@ -39,7 +39,7 @@ class AbstractTest
     public function testAddAttributesToForm()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $objectManager->get('Magento\Core\Model\View\DesignInterface')
+        $objectManager->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML)
             ->setDefaultDesignTheme();
         $arguments = array(
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Account/Edit/FormTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Account/Edit/FormTest.php
index 1dcbe0fe83268b7f406ceb3feccd6c98bfe8f592..5a3db2399e6f7cf36a4e7cba6e901bcf4ba68f98 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Account/Edit/FormTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Account/Edit/FormTest.php
@@ -43,7 +43,7 @@ class FormTest extends \PHPUnit_Framework_TestCase
         $session->setUser($user);
 
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
 
         /** @var \Magento\Adminhtml\Block\System\Account\Edit\Form */
         $block = $layout->createBlock('Magento\Adminhtml\Block\System\Account\Edit\Form');
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Design/Edit/Tab/GeneralTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Design/Edit/Tab/GeneralTest.php
index 21e74ed8313c405656d4480e5d471cd6b62075fa..be96f0e31b8aa01c66a72bd3b7864795631c2ebd 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Design/Edit/Tab/GeneralTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Design/Edit/Tab/GeneralTest.php
@@ -39,7 +39,7 @@ class GeneralTest extends \PHPUnit_Framework_TestCase
     public function testPrepareForm()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $objectManager->get('Magento\Core\Model\View\DesignInterface')
+        $objectManager->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML)
             ->setDefaultDesignTheme();
         $objectManager->get('Magento\Core\Model\Registry')
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/DeleteTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/DeleteTest.php
index 30d0004cec9ecb20d9460f82347e31e73f1c9a0e..0fe5ae4b2260d5e801709c303889ec211e24754c 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/DeleteTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/DeleteTest.php
@@ -35,7 +35,7 @@ class DeleteTest extends \PHPUnit_Framework_TestCase
     public function testGetHeaderText()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Adminhtml\Block\System\Store\Delete */
         $block = $layout->createBlock('Magento\Adminhtml\Block\System\Store\Delete', 'block');
 
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/Edit/Form/GroupTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/Edit/Form/GroupTest.php
index 3e1b1807e5202babb03cdff85b5ad21569d6d19d..341cfae72b6e799f63fd5f33010088ffbbc750b3 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/Edit/Form/GroupTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/Edit/Form/GroupTest.php
@@ -55,7 +55,7 @@ class GroupTest extends \PHPUnit_Framework_TestCase
         }
 
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = $objectManager->get('Magento\Core\Model\Layout');
+        $layout = $objectManager->get('Magento\View\LayoutInterface');
 
         $this->_block = $layout->createBlock('Magento\Adminhtml\Block\System\Store\Edit\Form\Group');
 
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/Edit/Form/StoreTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/Edit/Form/StoreTest.php
index b34e609ab9c30ad1f816e8963f7d1f87eebd0b6e..017c46e267e8ff31de8d9c4955c6b9b9c2f93f0b 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/Edit/Form/StoreTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/Edit/Form/StoreTest.php
@@ -55,7 +55,7 @@ class StoreTest extends \PHPUnit_Framework_TestCase
         }
 
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = $objectManager->get('Magento\Core\Model\Layout');
+        $layout = $objectManager->get('Magento\View\LayoutInterface');
 
         $this->_block = $layout->createBlock('Magento\Adminhtml\Block\System\Store\Edit\Form\Store');
 
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/Edit/Form/WebsiteTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/Edit/Form/WebsiteTest.php
index 1c3276be4daebc9573941f8a964493175a99baa8..3a61acaa2633e3ef562b83eab5c1a711ee3a41f9 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/Edit/Form/WebsiteTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/Edit/Form/WebsiteTest.php
@@ -54,7 +54,7 @@ class WebsiteTest extends \PHPUnit_Framework_TestCase
         }
 
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = $objectManager->get('Magento\Core\Model\Layout');
+        $layout = $objectManager->get('Magento\View\LayoutInterface');
 
         $this->_block = $layout->createBlock('Magento\Adminhtml\Block\System\Store\Edit\Form\Website');
 
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/EditTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/EditTest.php
index 5a13b1182679d35c5eccd980b006a6b679c0306a..7a6422efe79704981e0fe3a1ef748f75f33407f6 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/EditTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Store/EditTest.php
@@ -64,7 +64,7 @@ class EditTest extends \PHPUnit_Framework_TestCase
         $this->_initStoreTypesInRegistry($registryData);
 
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Adminhtml\Block\System\Store\Edit */
         $block = $layout->createBlock('Magento\Adminhtml\Block\System\Store\Edit', 'block');
         $block->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
@@ -115,7 +115,7 @@ class EditTest extends \PHPUnit_Framework_TestCase
         $this->_initStoreTypesInRegistry($registryData);
 
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Adminhtml\Block\System\Store\Edit */
         $block = $layout->createBlock('Magento\Adminhtml\Block\System\Store\Edit', 'block');
         $block->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Variable/EditTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Variable/EditTest.php
index 44f7b7d0046ccaf387bf2739be01140c60459a91..08e8402de4eda1776bbdbcc1b9cc5943223acf81 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Variable/EditTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/System/Variable/EditTest.php
@@ -51,9 +51,9 @@ class EditTest extends \PHPUnit_Framework_TestCase
             ->save();
 
         $objectManager->get('Magento\Core\Model\Registry')->register('current_variable', $variable);
-        $objectManager->get('Magento\Core\Controller\Request\Http')
+        $objectManager->get('Magento\App\RequestInterface')
             ->setParam('variable_id', $variable->getId());
-        $block = $objectManager->get('Magento\Core\Model\Layout')
+        $block = $objectManager->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\System\Variable\Edit', 'variable');
         $this->assertArrayHasKey('variable-delete_button', $block->getLayout()->getAllBlocks());
     }
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Tax/Rate/ImportExportTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Tax/Rate/ImportExportTest.php
index beb463d3e0ace824d6e10aca7113dd65f74bfd4a..3b3dd3f0559475985cc60ebffec58d63b5a2dbaa 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Tax/Rate/ImportExportTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Tax/Rate/ImportExportTest.php
@@ -35,7 +35,7 @@ class ImportExportTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Tax\Rate\ImportExport')
             ->setArea('adminhtml');
     }
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/TemplateTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/TemplateTest.php
index 2cc243834d67d1bec013b95f70a60da516cd2440..b651f0e7a48a0af39b8bf809dec2f3aeb1e3335e 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/TemplateTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/TemplateTest.php
@@ -36,7 +36,7 @@ class TemplateTest extends \PHPUnit_Framework_TestCase
     {
         $this->assertInstanceOf(
             'Magento\Backend\Block\Template',
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Adminhtml\Block\Template')
         );
     }
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Catalog/Category/TreeTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Catalog/Category/TreeTest.php
index 67e80147f5bc3544d0b778f8431d33a1ccbbbad4..72da19043784020410baddf4d8d9725fc281d875 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Catalog/Category/TreeTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Catalog/Category/TreeTest.php
@@ -47,7 +47,7 @@ class TreeTest extends \PHPUnit_Framework_TestCase
         parent::setUp();
 
         $this->_treeBlock = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\Layout')
+            ->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Urlrewrite\Catalog\Category\Tree');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Catalog/Edit/FormTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Catalog/Edit/FormTest.php
index e656c33e42fe2818f50ba1f0db8535288f40d125..40bba41da657eeda69822f327c666ac64a5fb70c 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Catalog/Edit/FormTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Catalog/Edit/FormTest.php
@@ -42,7 +42,7 @@ class FormTest extends \PHPUnit_Framework_TestCase
     protected function _getFormInstance($args = array())
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Adminhtml\Block\Urlrewrite\Catalog\Edit\Form */
         $block = $layout->createBlock(
             'Magento\Adminhtml\Block\Urlrewrite\Catalog\Edit\Form', 'block', array('data' => $args)
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Catalog/Product/GridTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Catalog/Product/GridTest.php
index b8d2907de72ee53bf7fa8c06627d242221db97ae..da55945ba153d2bcccab50517a66dd96e41a0921 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Catalog/Product/GridTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Catalog/Product/GridTest.php
@@ -39,7 +39,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
     public function testPrepareGrid()
     {
         /** @var $gridBlock \Magento\Adminhtml\Block\Urlrewrite\Catalog\Product\Grid */
-        $gridBlock = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $gridBlock = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Urlrewrite\Catalog\Product\Grid');
         $gridBlock->toHtml();
 
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Cms/Page/Edit/FormTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Cms/Page/Edit/FormTest.php
index 68756908fe8746bab419aafc41b207e7316f78dd..80862a4f2d3b179a9aadc8830da75bac6ebabcd5 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Cms/Page/Edit/FormTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Cms/Page/Edit/FormTest.php
@@ -42,7 +42,7 @@ class FormTest extends \PHPUnit_Framework_TestCase
     protected function _getFormInstance($args = array())
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Adminhtml\Block\Urlrewrite\Cms\Page\Edit\Form */
         $block = $layout->createBlock(
             'Magento\Adminhtml\Block\Urlrewrite\Cms\Page\Edit\Form', 'block', array('data' => $args)
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Cms/Page/GridTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Cms/Page/GridTest.php
index 3af726ce3f0d4683282af3d407a728139a404fed..2968ce70603ee0e78f0637a907031009cbc1d8d8 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Cms/Page/GridTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Cms/Page/GridTest.php
@@ -39,7 +39,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
     public function testPrepareGrid()
     {
         /** @var \Magento\Adminhtml\Block\Urlrewrite\Cms\Page\Grid $gridBlock */
-        $gridBlock = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $gridBlock = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Urlrewrite\Cms\Page\Grid');
         $gridBlock->toHtml();
 
@@ -67,7 +67,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
     public function testPrepareGridForMultipleStores()
     {
         /** @var \Magento\Adminhtml\Block\Urlrewrite\Cms\Page\Grid $gridBlock */
-        $gridBlock = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $gridBlock = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Adminhtml\Block\Urlrewrite\Cms\Page\Grid');
         $gridBlock->toHtml();
         $this->assertInstanceOf('Magento\Backend\Block\Widget\Grid\Column', $gridBlock->getColumn('store_id'),
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Edit/FormTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Edit/FormTest.php
index 415425e6997001af22b127871c54dfbc1772a401..ba2e5bd5e82a087f20d34a51b38588dac7849459 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Edit/FormTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Urlrewrite/Edit/FormTest.php
@@ -42,7 +42,7 @@ class FormTest extends \PHPUnit_Framework_TestCase
     protected function _getFormInstance($args = array())
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Adminhtml\Block\Urlrewrite\Edit\Form */
         $block = $layout->createBlock('Magento\Adminhtml\Block\Urlrewrite\Edit\Form', 'block', array('data' => $args));
         $block->setTemplate(null);
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/Form/ContainerTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/Form/ContainerTest.php
index 66c464e8f83483209d638e9e7cb47eeaaec7c69d..b6fb60bcc8b4036194dfe59266676a7867d7eaff 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/Form/ContainerTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/Form/ContainerTest.php
@@ -36,7 +36,7 @@ class ContainerTest extends \PHPUnit_Framework_TestCase
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         // Create block with blocking _prepateLayout(), which is used by block to instantly add 'form' child
         /** @var $block \Magento\Adminhtml\Block\Widget\Form\Container */
         $block = $this->getMock('Magento\Adminhtml\Block\Widget\Form\Container', array('_prepareLayout'),
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/Grid/Massaction/ItemTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/Grid/Massaction/ItemTest.php
index e18846ef8ac6200a8fd69ff469f54a96aa22c671..2bed5b208055e0c5aa700ef0d487cf9b9bdec31a 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/Grid/Massaction/ItemTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/Grid/Massaction/ItemTest.php
@@ -35,7 +35,7 @@ class ItemTest extends \PHPUnit_Framework_TestCase
     public function testGetAdditionalActionBlock()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Adminhtml\Block\Widget\Grid\Massaction\Item */
         $block = $layout->createBlock('Magento\Adminhtml\Block\Widget\Grid\Massaction\Item', 'block');
         $expected = $layout->addBlock('Magento\Core\Block\Template', 'additional_action', 'block');
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/GridTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/GridTest.php
index 0d349f0c3876b6106f2aa4ddc661c3dcbf1037af..40e2e428d4bcf425e5f7d11179ed1f649ad228c1 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/GridTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/GridTest.php
@@ -35,7 +35,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
     public function testGetMassactionBlock()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Adminhtml\Block\Widget\Grid */
         $block = $layout->createBlock('Magento\Adminhtml\Block\Widget\Grid', 'block');
         $child = $layout->addBlock('Magento\Core\Block\Template', 'massaction', 'block');
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/TabsTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/TabsTest.php
index c30972a7b41c669bb3aa4cfca690c036f690d9f3..a5b23e43de32fe798db98cc257a27f64eb229562 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/TabsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Block/Widget/TabsTest.php
@@ -45,7 +45,7 @@ class TabsTest extends \PHPUnit_Framework_TestCase
         $objectManager->get('Magento\Core\Model\Registry')->register('current_widget_instance', $widgetInstance);
 
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Adminhtml\Block\Widget\Tabs */
         $block = $layout->createBlock('Magento\Adminhtml\Block\Widget\Tabs', 'block');
         $layout->addBlock('Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Tab\Main', 'child_tab', 'block');
diff --git a/dev/tests/integration/testsuite/Magento/Adminhtml/Controller/Catalog/Product/AttributeTest.php b/dev/tests/integration/testsuite/Magento/Adminhtml/Controller/Catalog/Product/AttributeTest.php
index 246dda8df4b5a07d92e85f6c246f34a79b2b8e1c..6d3869318f69623329eade81962b853a9a4f39be 100644
--- a/dev/tests/integration/testsuite/Magento/Adminhtml/Controller/Catalog/Product/AttributeTest.php
+++ b/dev/tests/integration/testsuite/Magento/Adminhtml/Controller/Catalog/Product/AttributeTest.php
@@ -113,7 +113,7 @@ class AttributeTest extends \Magento\Backend\Utility\Controller
         // emulate admin store and design
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\StoreManagerInterface')
             ->setCurrentStore(\Magento\Core\Model\AppInterface::ADMIN_STORE_ID);
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setDesignTheme(1);
         /** @var \Magento\Core\Model\Translate $translate */
         $translate = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/App/FrontControllerTest.php b/dev/tests/integration/testsuite/Magento/App/FrontControllerTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..b707dcb22139bb332084efd739d4c4d9f8884e1b
--- /dev/null
+++ b/dev/tests/integration/testsuite/Magento/App/FrontControllerTest.php
@@ -0,0 +1,91 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @category    Magento
+ * @subpackage  integration_tests
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+
+namespace Magento\App;
+
+/**
+ * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+ */
+class FrontControllerTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\ObjectManager
+     */
+    protected $_objectManager;
+
+    /**
+     * @var \Magento\App\FrontController
+     */
+    protected $_model;
+
+    protected function setUp()
+    {
+        $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
+        $this->_model = $this->_objectManager->create('Magento\App\FrontController');
+    }
+
+    public function testSetGetDefault()
+    {
+        $this->_model->setDefault('test', 'value');
+        $this->assertEquals('value', $this->_model->getDefault('test'));
+
+        $default = array('some_key' => 'some_value');
+        $this->_model->setDefault($default);
+        $this->assertEquals($default, $this->_model->getDefault());
+    }
+
+    public function testGetRequest()
+    {
+        $this->assertNull($this->_model->getRequest());
+    }
+
+    public function testGetResponse()
+    {
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App')->setResponse(
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+                ->get('Magento\App\ResponseInterface')
+        );
+        if (!\Magento\TestFramework\Helper\Bootstrap::canTestHeaders()) {
+            $this->markTestSkipped('Can\'t test get response without sending headers');
+        }
+        $this->assertInstanceOf('Magento\App\ResponseInterface', $this->_model->getResponse());
+    }
+
+    public function testDispatch()
+    {
+        if (!\Magento\TestFramework\Helper\Bootstrap::canTestHeaders()) {
+            $this->markTestSkipped('Cant\'t test dispatch process without sending headers');
+        }
+        $_SERVER['HTTP_HOST'] = 'localhost';
+        $this->_objectManager->get('Magento\Config\Scope')->setCurrentScope('frontend');
+        $request = $this->_objectManager->create('Magento\App\Request\Http');
+        /* empty action */
+        $request->setRequestUri('core/index/index');
+        $this->_model->dispatch($request);
+        $this->assertEmpty($this->_model->getResponse()->getBody());
+        $this->assertEquals($request, $this->_model->getRequest());
+    }
+}
diff --git a/dev/tests/integration/testsuite/Magento/Authorizenet/Block/Directpost/IframeTest.php b/dev/tests/integration/testsuite/Magento/Authorizenet/Block/Directpost/IframeTest.php
index d190cb2499159fa772a4e8a47c1a98d0e2c9bd03..aaea940c9ba86c163f8f4966294dda351bdba044 100644
--- a/dev/tests/integration/testsuite/Magento/Authorizenet/Block/Directpost/IframeTest.php
+++ b/dev/tests/integration/testsuite/Magento/Authorizenet/Block/Directpost/IframeTest.php
@@ -36,7 +36,7 @@ class IframeTest extends \PHPUnit_Framework_TestCase
     {
         $xssString = '</script><script>alert("XSS")</script>';
         /** @var $block \Magento\Authorizenet\Block\Directpost\Iframe */
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Authorizenet\Block\Directpost\Iframe');
         $block->setTemplate('directpost/iframe.phtml');
         $block->setParams(array(
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Block/System/Config/FormStub.php b/dev/tests/integration/testsuite/Magento/Backend/Block/System/Config/FormStub.php
index eceee165e99d20c51f67537050b8a650fb9c26b9..46eed65f44e0247819f45ad1b0313da296e7460e 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Block/System/Config/FormStub.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Block/System/Config/FormStub.php
@@ -76,7 +76,7 @@ class FormStub extends \Magento\Backend\Block\System\Config\Form
             $this->_configRoot = $this->_configRootStub;
         }
         $this->_fieldRenderer = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\Layout')->createBlock(
+            ->get('Magento\View\LayoutInterface')->createBlock(
                 'Magento\Backend\Block\System\Config\Form\Field'
             );
     }
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Block/System/Config/FormTest.php b/dev/tests/integration/testsuite/Magento/Backend/Block/System/Config/FormTest.php
index 04867722be32db1fd7fb88f20bc9c17c65f67d8e..82de257d0f2579153f9f63e81490e31d4d13443d 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Block/System/Config/FormTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Block/System/Config/FormTest.php
@@ -53,7 +53,7 @@ class FormTest extends \PHPUnit_Framework_TestCase
         /** @var $layout \Magento\Core\Model\Layout */
         $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Model\Layout', array('area' => 'adminhtml'));
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Config\Scope')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
         /** @var $block \Magento\Backend\Block\System\Config\Form */
         $block = $layout->createBlock('Magento\Backend\Block\System\Config\Form', 'block');
@@ -80,14 +80,14 @@ class FormTest extends \PHPUnit_Framework_TestCase
     public function testInitFieldsUseDefaultCheckbox($section, $group, $field, array $configData, $expectedUseDefault)
     {
         $this->markTestIncomplete('MAGETWO-9058');
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Config\Scope')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
         $form = $this->_formFactory->create();
         $fieldset = $form->addFieldset($section->getId() . '_' . $group->getId(), array());
 
         /* @TODO Eliminate stub by proper mock / config fixture usage */
         /** @var $block \Magento\Backend\Block\System\Config\FormStub */
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Backend\Block\System\Config\FormStub');
         $block->setScope(\Magento\Backend\Block\System\Config\Form::SCOPE_WEBSITES);
         $block->setStubConfigData($configData);
@@ -134,14 +134,14 @@ class FormTest extends \PHPUnit_Framework_TestCase
     public function testInitFieldsUseConfigPath($section, $group, $field, array $configData, $expectedUseDefault)
     {
         $this->markTestIncomplete('MAGETWO-9058');
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Config\Scope')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
         $form = $this->_formFactory->create();
         $fieldset = $form->addFieldset($section->getId() . '_' . $group->getId(), array());
 
         /* @TODO Eliminate stub by proper mock / config fixture usage */
         /** @var $block \Magento\Backend\Block\System\Config\FormStub */
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Backend\Block\System\Config\FormStub');
         $block->setScope(\Magento\Backend\Block\System\Config\Form::SCOPE_DEFAULT);
         $block->setStubConfigData($configData);
@@ -165,7 +165,7 @@ class FormTest extends \PHPUnit_Framework_TestCase
             \Magento\Core\Model\App::PARAM_BAN_CACHE => true,
         ));
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\Config\Scope')
+            ->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App')
             ->loadAreaPart(\Magento\Core\Model\App\Area::AREA_ADMINHTML, \Magento\Core\Model\App\Area::PART_CONFIG);
@@ -212,20 +212,20 @@ class FormTest extends \PHPUnit_Framework_TestCase
     public function testInitFormAddsFieldsets()
     {
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Controller\Response\Http')->headersSentThrowsException = false;
+            ->get('Magento\App\ResponseInterface')->headersSentThrowsException = false;
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
             'Magento\Core\Controller\Front\Action',
             array(
                 'request' => \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                    ->get('Magento\Core\Controller\Request\Http'),
+                    ->get('Magento\App\Request\Http'),
                 'response' => \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
                     ->get('Magento\Core\Model\App')->getResponse()
             )
         );
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Controller\Request\Http')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\RequestInterface')
             ->setParam('section', 'general');
         /** @var $block \Magento\Backend\Block\System\Config\Form */
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Backend\Block\System\Config\Form');
         $block->initForm();
         $expectedIds = array(
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Block/TemplateTest.php b/dev/tests/integration/testsuite/Magento/Backend/Block/TemplateTest.php
index 912a04fc959742a49dc2179aa0f65d00ee16a5e6..93c9370ae859d2caaa4ba198d8c73862a3344262 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Block/TemplateTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Block/TemplateTest.php
@@ -42,7 +42,7 @@ class TemplateTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         parent::setUp();
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Backend\Block\Template');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/ContainerTest.php b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/ContainerTest.php
index 202b4529374199570ce761324075f4d69a618b01..bd8413c402ccaacb344998a9b2be7d0264626bd1 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/ContainerTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/ContainerTest.php
@@ -32,7 +32,7 @@ class ContainerTest extends \PHPUnit_Framework_TestCase
     public function testPseudoConstruct()
     {
         /** @var $block \Magento\Backend\Block\Widget\Container */
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Backend\Block\Widget\Container', '',
                 array('data' => array(
                     \Magento\Backend\Block\Widget\Container::PARAM_CONTROLLER => 'one',
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/FormTest.php b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/FormTest.php
index 3b1df3ce6b61d28c3fa27bcb68d8298875c298f5..29982f371d0a70551628da72442d816f0beeb9a5 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/FormTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/FormTest.php
@@ -40,7 +40,7 @@ class FormTest extends \PHPUnit_Framework_TestCase
     public function testSetFieldset()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $objectManager->get('Magento\Core\Model\View\DesignInterface')
+        $objectManager->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML)
             ->setDefaultDesignTheme();
         $layout = $objectManager->create('Magento\Core\Model\Layout');
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/ColumnSetTest.php b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/ColumnSetTest.php
index dc1df20dd0c38b8d52e095ebb20f728c564260c4..e8df531d5dae1f13ed915b31c5a2e6244981dece 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/ColumnSetTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/ColumnSetTest.php
@@ -63,7 +63,7 @@ class ColumnSetTest extends \PHPUnit_Framework_TestCase
 
         $context = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Block\Template\Context', array('layout' => $this->_layoutMock));
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock(
                 'Magento\Backend\Block\Widget\Grid\ColumnSet', '', array('context' => $context)
             );
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/ContainerTest.php b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/ContainerTest.php
index 8573fe09044168fbf46f111ccc671e67f1f8c101..35a5034c9a6c87b5ab748fe03086c796d3f3a1ad 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/ContainerTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/ContainerTest.php
@@ -32,7 +32,7 @@ class ContainerTest extends \PHPUnit_Framework_TestCase
     public function testPseudoConstruct()
     {
         /** @var $block \Magento\Backend\Block\Widget\Grid\Container */
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Backend\Block\Widget\Grid\Container', '', array(
                 'data' => array(
                     \Magento\Backend\Block\Widget\Container::PARAM_CONTROLLER => 'widget',
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/ExtendedTest.php b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/ExtendedTest.php
index ba4e31255c437be398964b29f5717a6c48bbb3e1..ae399d84871860134d48d97911d1a509ddf7826e 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/ExtendedTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/ExtendedTest.php
@@ -38,7 +38,7 @@ class ExtendedTest extends \PHPUnit_Framework_TestCase
     protected $_block;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layoutMock;
 
@@ -47,7 +47,7 @@ class ExtendedTest extends \PHPUnit_Framework_TestCase
         parent::setUp();
 
         $this->_layoutMock = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\Layout');
+            ->get('Magento\View\LayoutInterface');
         $context = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Backend\Block\Template\Context', array('layout' => $this->_layoutMock));
         $this->_block = $this->_layoutMock->createBlock(
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/MassactionTest.php b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/MassactionTest.php
index ad090e4f0e9bc61350074b00e662832acdf348c9..f014623bc3d330e04cffc061c0945dae564ddb9f 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/MassactionTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/MassactionTest.php
@@ -40,7 +40,7 @@ class MassactionTest extends \PHPUnit_Framework_TestCase
     protected $_block;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -53,7 +53,7 @@ class MassactionTest extends \PHPUnit_Framework_TestCase
         $this->_setFixtureTheme();
 
         $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Layout', array('area' => 'adminhtml'));
+            ->create('Magento\View\LayoutInterface', array('area' => 'adminhtml'));
         $this->_layout->getUpdate()->load('layout_test_grid_handle');
         $this->_layout->generateXml();
         $this->_layout->generateElements();
@@ -70,7 +70,7 @@ class MassactionTest extends \PHPUnit_Framework_TestCase
             \Magento\Core\Model\App::PARAM_RUN_CODE => 'admin',
             \Magento\Core\Model\App::PARAM_RUN_TYPE => 'store',
             \Magento\Core\Model\App::PARAM_APP_DIRS => array(
-                \Magento\Core\Model\Dir::THEMES => __DIR__ . '/../../_files/design'
+                \Magento\App\Dir::THEMES => __DIR__ . '/../../_files/design'
             ),
         ));
     }
@@ -84,7 +84,7 @@ class MassactionTest extends \PHPUnit_Framework_TestCase
     public function testMassactionDefaultValues()
     {
         /** @var $blockEmpty \Magento\Backend\Block\Widget\Grid\Massaction */
-        $blockEmpty = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $blockEmpty = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Backend\Block\Widget\Grid\Massaction');
         $this->assertEmpty($blockEmpty->getItems());
         $this->assertEquals(0, $blockEmpty->getCount());
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/GridTest.php b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/GridTest.php
index 159697c4e1a59ca7209f71152dd3708b72ad4f6b..2ad1ec80e84bea86f16740a8a58d8198dc976595 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/GridTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Block/Widget/GridTest.php
@@ -38,7 +38,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
     protected $_block;
 
     /**
-     * @var \Magento\Core\Model\Layout|\PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\View\LayoutInterface|\PHPUnit_Framework_MockObject_MockObject
      */
     protected $_layoutMock;
 
@@ -65,7 +65,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
         $this->_layoutMock->expects($this->any())->method('createBlock')
             ->with('Magento\Backend\Block\Widget\Button')
             ->will($this->returnValue(\Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                ->get('Magento\Core\Model\Layout')->createBlock('Magento\Backend\Block\Widget\Button')));
+                ->get('Magento\View\LayoutInterface')->createBlock('Magento\Backend\Block\Widget\Button')));
         $this->_layoutMock->expects($this->any())->method('helper')
             ->with('Magento\Core\Helper\Data')
             ->will($this->returnValue(
@@ -73,7 +73,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
             ));
 
 
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Backend\Block\Widget\Grid');
         $this->_block->setLayout($this->_layoutMock);
         $this->_block->setNameInLayout('grid');
@@ -90,7 +90,7 @@ class GridTest extends \PHPUnit_Framework_TestCase
             $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false),
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Block\Template\Context', array(
-                'dirs' => new \Magento\Core\Model\Dir(__DIR__),
+                'dirs' => new \Magento\App\Dir(__DIR__),
                 'filesystem' => new \Magento\Filesystem(new \Magento\Filesystem\Adapter\Local),
             )),
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Controller/AbstractActionTest.php b/dev/tests/integration/testsuite/Magento/Backend/Controller/AbstractActionTest.php
index bd332d920d4d16d376e2c18dcca2b045202b75b7..3e4f5236571562a1a4735c7de865058a51ae6926 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Controller/AbstractActionTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Controller/AbstractActionTest.php
@@ -40,7 +40,7 @@ class AbstractActionTest extends \Magento\Backend\Utility\Controller
      */
     public function testPreDispatchWithEmptyUrlRedirectsToStartupPage()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Config\Scope')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
         $this->dispatch('backend');
         /** @var $backendUrlModel \Magento\Backend\Model\Url */
@@ -104,7 +104,7 @@ class AbstractActionTest extends \Magento\Backend\Utility\Controller
 
         $this->dispatch('backend/admin/dashboard');
 
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $actualBlocks = $layout->getAllBlocks();
 
         $this->assertNotEmpty($actualBlocks);
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Controller/Router/DefaultRouterTest.php b/dev/tests/integration/testsuite/Magento/Backend/Controller/Router/DefaultRouterTest.php
index 857fbb02080ed119d3c956cf75f194e7c83f6620..255820105e67fa8b3761fd73eebb2d296cc3e9d3 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Controller/Router/DefaultRouterTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Controller/Router/DefaultRouterTest.php
@@ -57,7 +57,7 @@ class DefaultRouterTest extends \PHPUnit_Framework_TestCase
             'baseController'  => 'Magento\Backend\Controller\AbstractAction',
             'routeConfig' => $this->_routeConfigMock
         );
-        $this->_frontMock = $this->getMock('Magento\Core\Controller\Varien\Front', array(), array(), '', false);
+        $this->_frontMock = $this->getMock('Magento\App\FrontController', array(), array(), '', false);
         $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Backend\Controller\Router\DefaultRouter', $options);
         $this->_model->setFront($this->_frontMock);
@@ -65,7 +65,7 @@ class DefaultRouterTest extends \PHPUnit_Framework_TestCase
 
     public function testRouterCannotProcessRequestsWithWrongFrontName()
     {
-        $request = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $request = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
         $request->expects($this->once())
             ->method('getPathInfo')
             ->will($this->returnValue('frontend/admin/dashboard'));
@@ -76,7 +76,7 @@ class DefaultRouterTest extends \PHPUnit_Framework_TestCase
 
     public function testRouterCanProcessRequestsWithProperFrontName()
     {
-        $request = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $request = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
         $request->expects($this->once())
             ->method('getPathInfo')
             ->will($this->returnValue('backend/admin/dashboard'));
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Controller/Router/Validator/DefaultTest.php b/dev/tests/integration/testsuite/Magento/Backend/Controller/Router/Validator/DefaultTest.php
index 3f67a027ca559765b443052366b4a7f4b2953342..2c9cb197168fc3c8e86f939bbf1acf181d418d38 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Controller/Router/Validator/DefaultTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Controller/Router/Validator/DefaultTest.php
@@ -32,25 +32,6 @@ namespace Magento\Backend\Controller\Router\Validator;
  */
 class DefaultTest extends \PHPUnit_Framework_TestCase
 {
-    /**
-     * @magentoConfigFixture global/areas/adminhtml/frontName 0
-     * @expectedException \InvalidArgumentException
-     * @magentoAppIsolation enabled
-     */
-    public function testConstructWithEmptyAreaFrontName()
-    {
-        $dataHelperMock = $this->getMock('Magento\Backend\Helper\Data', array(), array(), '', false);
-        $dataHelperMock->expects($this->once())->method('getAreaFrontName')->will($this->returnValue(null));
-
-        $options = array(
-            'areaCode' => \Magento\Core\Model\App\Area::AREA_ADMINHTML,
-            'baseController' => 'Magento\Backend\Controller\AbstractAction',
-            'backendData' => $dataHelperMock,
-        );
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Backend\Controller\Router\DefaultRouter', $options);
-    }
-
     /**
      * @magentoConfigFixture global/areas/adminhtml/frontName backend
      * @magentoAppIsolation enabled
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Helper/DataTest.php b/dev/tests/integration/testsuite/Magento/Backend/Helper/DataTest.php
index 333ef2fbb421fac5c612dabe03ef5e6da6f00761..2e3ec9dc9a70853db4db0be4fd0d75b5cf68510e 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Helper/DataTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Helper/DataTest.php
@@ -44,7 +44,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Config\Scope')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
         $this->_helper = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->get('Magento\Backend\Helper\Data');
@@ -55,7 +55,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
         $this->_helper = null;
         $this->_auth = null;
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\Config\Scope')
+            ->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(null);
     }
 
@@ -88,7 +88,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
      */
     public function testPageHelpUrl()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Controller\Request\Http')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\RequestInterface')
             ->setControllerModule('dummy')
             ->setControllerName('index')
             ->setActionName('test');
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Model/Auth/SessionTest.php b/dev/tests/integration/testsuite/Magento/Backend/Model/Auth/SessionTest.php
index c761fca0dbc4170ba87428f43d2684e137d51098..8faa5176f4e47686c594852c1162cddc5842b1af 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Model/Auth/SessionTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Model/Auth/SessionTest.php
@@ -45,7 +45,7 @@ class SessionTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         parent::setUp();
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Config\Scope')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
         $this->_auth  = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Backend\Model\Auth');
@@ -57,7 +57,7 @@ class SessionTest extends \PHPUnit_Framework_TestCase
     protected function tearDown()
     {
         $this->_model = null;
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Config\Scope')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(null);
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Model/Config/Backend/Admin/RobotsTest.php b/dev/tests/integration/testsuite/Magento/Backend/Model/Config/Backend/Admin/RobotsTest.php
index 400cadf351471464e27b59eaa3d01826186812ba..a58f09ec7651aee59d76cbc966f6c75b0d3b8366 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Model/Config/Backend/Admin/RobotsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Model/Config/Backend/Admin/RobotsTest.php
@@ -78,7 +78,7 @@ class RobotsTest extends \PHPUnit_Framework_TestCase
     public function testAfterSaveFileNotExists()
     {
         $robotsTxtPath = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                ->get('Magento\Core\Model\Dir')->getDir() . DS . 'robots.txt';
+                ->get('Magento\App\Dir')->getDir() . DS . 'robots.txt';
         $this->assertFileNotExists($robotsTxtPath, 'robots.txt exists');
 
         $this->_modifyConfig();
@@ -92,7 +92,7 @@ class RobotsTest extends \PHPUnit_Framework_TestCase
      */
     public function testAfterSaveFileExists()
     {
-        $robotsTxtPath = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
+        $robotsTxtPath = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
                 ->getDir() . DS . 'robots.txt';
         $this->assertFileExists($robotsTxtPath, 'robots.txt exists');
 
@@ -108,7 +108,7 @@ class RobotsTest extends \PHPUnit_Framework_TestCase
         $this->_model->setValue($robotsTxt)->save();
         $this->assertStringEqualsFile(
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                ->get('Magento\Core\Model\Dir')->getDir() . DS . 'robots.txt',
+                ->get('Magento\App\Dir')->getDir() . DS . 'robots.txt',
             $robotsTxt
         );
     }
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Model/ConfigTest.php b/dev/tests/integration/testsuite/Magento/Backend/Model/ConfigTest.php
index d48cfc8257977169c9f09a081393278960750a8a..858d7cc4f602f7b0dd76117d8c61fb87858eeb1b 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Model/ConfigTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Model/ConfigTest.php
@@ -41,7 +41,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
      */
     public function testSaveWithSingleStoreModeEnabled($groups)
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Config\Scope')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
         /** @var $_configDataObject \Magento\Backend\Model\Config */
         $_configDataObject = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Model/LocaleTest.php b/dev/tests/integration/testsuite/Magento/Backend/Model/LocaleTest.php
index 328ee192ae44be50cb995ca022a4051730f3ead4..f466d4f6da70317a1682718121b69bea5b5fd3b6 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Model/LocaleTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Model/LocaleTest.php
@@ -82,7 +82,7 @@ class LocaleTest extends \PHPUnit_Framework_TestCase
     public function testSetLocaleWithRequestLocale()
     {
         $request = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Controller\Request\Http');
+            ->get('Magento\App\RequestInterface');
         $request->setPost(array('locale' => 'de_DE'));
         $this->_checkSetLocale('de_DE');
     }
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Model/MenuTest.php b/dev/tests/integration/testsuite/Magento/Backend/Model/MenuTest.php
index b7d430bd04d17ef0053d4741197950b866b41dd1..23a16e9b6afc1595a6d2edbfe6228eec34fb6815 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Model/MenuTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Model/MenuTest.php
@@ -46,7 +46,7 @@ class MenuTest extends \PHPUnit_Framework_TestCase
             ->loadArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
         $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Backend\Model\Auth');
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Config\Scope')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Model/ObserverTest.php b/dev/tests/integration/testsuite/Magento/Backend/Model/ObserverTest.php
index ded07bb568bd848c2cf4c9910c0deb8c940865fe..68e1a8fbaa74029df11024397bf7175269f8efd6 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Model/ObserverTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Model/ObserverTest.php
@@ -50,7 +50,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
         $this->markTestSkipped('Skipped because of authentication process moved into base controller.');
 
         $request = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Controller\Request\Http');
+            ->get('Magento\App\RequestInterface');
         $this->assertEmpty($request->getRouteName());
         $this->assertEmpty($request->getControllerName());
         $this->assertEmpty($request->getActionName());
@@ -112,7 +112,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
     protected function _buildObserver()
     {
         $request = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Controller\Request\Http');
+            ->get('Magento\App\RequestInterface');
         $request->setPost(
             'login',
             array(
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Model/UrlTest.php b/dev/tests/integration/testsuite/Magento/Backend/Model/UrlTest.php
index 3cdb3b54959b1d32bfbc0c8ea70f93eb48f225aa..285642045082ca64fe237d9e288f7f6a82d78ada 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Model/UrlTest.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Model/UrlTest.php
@@ -101,9 +101,9 @@ class UrlTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetSecretKey($routeName, $controller, $action, $expectedHash)
     {
-        /** @var $request \Magento\Core\Controller\Request\Http */
+        /** @var $request \Magento\App\RequestInterface */
         $request = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Controller\Request\Http');
+            ->create('Magento\App\RequestInterface');
         $request->setControllerName('default_controller')
             ->setActionName('default_action')
             ->setRouteName('default_router');
@@ -148,9 +148,9 @@ class UrlTest extends \PHPUnit_Framework_TestCase
     {
         /** @var $helper \Magento\Core\Helper\Data */
         $helper = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Helper\Data');
-        /** @var $request \Magento\Core\Controller\Request\Http */
+        /** @var $request \Magento\App\RequestInterface */
         $request = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Controller\Request\Http');
+            ->create('Magento\App\RequestInterface');
         $request->setControllerName('controller')->setActionName('action');
         $request->initForward()->setControllerName(uniqid())->setActionName(uniqid());
         $this->_model->setRequest($request);
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Model/_files/no_robots_txt.php b/dev/tests/integration/testsuite/Magento/Backend/Model/_files/no_robots_txt.php
index d54286ffb47bb961a6716283eede4618c7d9fba2..96046322741c6fe90e74e1f1b99d6461735040b7 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Model/_files/no_robots_txt.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Model/_files/no_robots_txt.php
@@ -25,7 +25,7 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-$robotsTxtPath = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')->getDir()
+$robotsTxtPath = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')->getDir()
     . DS . 'robots.txt';
 if (is_file($robotsTxtPath)) {
     @unlink($robotsTxtPath);
diff --git a/dev/tests/integration/testsuite/Magento/Backend/Model/_files/robots_txt.php b/dev/tests/integration/testsuite/Magento/Backend/Model/_files/robots_txt.php
index 9cbecd0600a29a285ddb31d796ca20b529fd63bd..04f3cf95c55d3f33b5199504add3b42059ca49ae 100644
--- a/dev/tests/integration/testsuite/Magento/Backend/Model/_files/robots_txt.php
+++ b/dev/tests/integration/testsuite/Magento/Backend/Model/_files/robots_txt.php
@@ -27,6 +27,6 @@
 
 copy(
     __DIR__ . DS . 'robots.txt',
-    \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')->getDir()
+    \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')->getDir()
         . DS . 'robots.txt'
 );
diff --git a/dev/tests/integration/testsuite/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Search/GridTest.php b/dev/tests/integration/testsuite/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Search/GridTest.php
index 8a044210d95cbe178a1dc37b703e03060123c4e9..847738ec1212c2752233df4e0710ea58a50866c3 100644
--- a/dev/tests/integration/testsuite/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Search/GridTest.php
+++ b/dev/tests/integration/testsuite/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/Search/GridTest.php
@@ -35,7 +35,7 @@ class GridTest
      */
     public function testToHtmlHasOnClick()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
         /** @var $layout \Magento\Core\Model\Layout */
         $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
diff --git a/dev/tests/integration/testsuite/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/SearchTest.php b/dev/tests/integration/testsuite/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/SearchTest.php
index f94192bb7b0e79a72114e2aafd3dcd4daf9ddb01..8988537a815218c09ed189e2afb9707965124037 100644
--- a/dev/tests/integration/testsuite/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/SearchTest.php
+++ b/dev/tests/integration/testsuite/Magento/Bundle/Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option/SearchTest.php
@@ -35,7 +35,7 @@ class SearchTest
      */
     public function testToHtmlHasIndex()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
 
         /** @var $layout \Magento\Core\Model\Layout */
diff --git a/dev/tests/integration/testsuite/Magento/Bundle/Controller/ProductTest.php b/dev/tests/integration/testsuite/Magento/Bundle/Controller/ProductTest.php
index 4fdceec5ab31c8d2f46f4eb70f723e5c8808c82c..d697c1dceee9bae279a329cfb85e828f5212cfc3 100644
--- a/dev/tests/integration/testsuite/Magento/Bundle/Controller/ProductTest.php
+++ b/dev/tests/integration/testsuite/Magento/Bundle/Controller/ProductTest.php
@@ -40,7 +40,8 @@ class ProductTest extends \Magento\TestFramework\TestCase\AbstractController
         $this->dispatch('catalog/product/view/id/3');
         $this->assertContains(
             'catalog_product_view_type_bundle',
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')->getUpdate()
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
+                ->getUpdate()
                 ->getHandles()
         );
         $responseBody = $this->getResponse()->getBody();
diff --git a/dev/tests/integration/testsuite/Magento/Captcha/Block/Captcha/DefaultTest.php b/dev/tests/integration/testsuite/Magento/Captcha/Block/Captcha/DefaultTest.php
index 5b9d918ad341d8ac68441ddceb743a6d0ac3aa5b..992efc5a94205ddadfa40f693d0c76d251168440 100644
--- a/dev/tests/integration/testsuite/Magento/Captcha/Block/Captcha/DefaultTest.php
+++ b/dev/tests/integration/testsuite/Magento/Captcha/Block/Captcha/DefaultTest.php
@@ -35,8 +35,9 @@ class DefaultTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-         $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
-            ->createBlock('Magento\Captcha\Block\Captcha\DefaultCaptcha');
+         $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+             ->get('Magento\View\LayoutInterface')
+             ->createBlock('Magento\Captcha\Block\Captcha\DefaultCaptcha');
     }
 
     /**
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Block/Layer/ViewTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Block/Layer/ViewTest.php
index 20f6e99d9ee0a19b8d0f3b2db0803896f71a59f1..0b5e81cae623fd2042f15f96e53bec087cab4463 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Layer/ViewTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Layer/ViewTest.php
@@ -45,7 +45,7 @@ class ViewTest extends \PHPUnit_Framework_TestCase
         $layer->setCurrentCategory($currentCategory);
 
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Catalog\Block\Layer\View */
         $block = $layout->createBlock('Magento\Catalog\Block\Layer\View', 'block');
 
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/AbstractTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/AbstractTest.php
index 08551fc4c97405e14ad54be3b6abb7ba7faec745..a516c1ad474e5b4c1985a144ede2f5f8ca2d3b72 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/AbstractTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/AbstractTest.php
@@ -65,9 +65,9 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
             self::$_isStubClass = true;
         }
 
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setDefaultDesignTheme();
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock(self::STUB_CLASS);
         $this->_product = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Catalog\Model\Product');
@@ -120,7 +120,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
     {
         $this->_block->setLayout(
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                ->get('Magento\Core\Model\Layout')
+                ->get('Magento\View\LayoutInterface')
         );
         $this->assertContains('10', $this->_block->getPriceHtml($this->_product));
     }
@@ -129,7 +129,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
     {
         $this->_block->setLayout(
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                ->get('Magento\Core\Model\Layout')
+                ->get('Magento\View\LayoutInterface')
         );
         $html = $this->_block->getReviewsSummaryHtml($this->_product, false, true);
         $this->assertNotEmpty($html);
@@ -151,7 +151,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
     public function testGetTierPriceHtml()
     {
         $this->_block->setLayout(\Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\Layout'));
+            ->get('Magento\View\LayoutInterface'));
         $html = $this->_block->getTierPriceHtml();
         $this->assertNotEmpty($html);
         $this->assertContains('2', $html); /* Buy 2 */
@@ -193,7 +193,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
     public function testLayoutDependColumnCount()
     {
         $this->_block->setLayout(\Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\Layout'));
+            ->get('Magento\View\LayoutInterface'));
         $this->assertEquals(3, $this->_block->getColumnCount()); /* default column count */
 
         $this->_block->addColumnCountLayoutDepend('test', 10);
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/Configurable/AssociatedSelector/Backend/Grid/ColumnSetTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/Configurable/AssociatedSelector/Backend/Grid/ColumnSetTest.php
index d40c30485adce7b5b471832fecb664cd966407cd..f94f82e2b4fe3f50dfc1884ea07f5b0d204701fc 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/Configurable/AssociatedSelector/Backend/Grid/ColumnSetTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/Configurable/AssociatedSelector/Backend/Grid/ColumnSetTest.php
@@ -47,7 +47,7 @@ class ColumnSetTest
         $objectManager->get('Magento\Core\Model\Registry')->register('current_product', $product);
 
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block  \Magento\Catalog\Block\Product\Configurable\AssociatedSelector\Backend\Grid\ColumnSet */
         $block = $layout->createBlock(
             'Magento\Catalog\Block\Product\Configurable\AssociatedSelector\Backend\Grid\ColumnSet',
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ListTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ListTest.php
index bec3c3dc429d19598b7476ff6743901ee8492eb4..31f73cb1a5da8f5c0ba40f30127b909c45fa546a 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ListTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ListTest.php
@@ -41,7 +41,7 @@ class ListTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Catalog\Block\Product\ListProduct');
     }
 
@@ -126,6 +126,6 @@ class ListTest extends \PHPUnit_Framework_TestCase
 
     protected function _getLayout()
     {
-        return \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        return \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
     }
 }
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/NewTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/NewTest.php
index ed644683b50eb3c95cac5d4bf49f06000c603912..cdf29e5a04e0e0230f72f2ca6201631981706a66 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/NewTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/NewTest.php
@@ -41,7 +41,7 @@ class NewTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Catalog\Block\Product\NewProduct');
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App')
             ->getArea(\Magento\Core\Model\App\Area::AREA_FRONTEND)->load();
@@ -67,7 +67,7 @@ class NewTest extends \PHPUnit_Framework_TestCase
         $this->assertSame(2, array_shift($keys));
 
         $themeModel = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')
+            ->get('Magento\View\DesignInterface')
             ->getDesignTheme();
 
         $this->assertEquals($themeModel->getId() ?: null, $info[2]);
@@ -101,7 +101,7 @@ class NewTest extends \PHPUnit_Framework_TestCase
         $this->_block->setProductsCount(5);
         $this->_block->setTemplate('product/widget/new/content/new_list.phtml');
         $this->_block->setLayout(\Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\Layout'));
+            ->get('Magento\View\LayoutInterface'));
 
         $html = $this->_block->toHtml();
         $this->assertNotEmpty($html);
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ProductList/CrosssellTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ProductList/CrosssellTest.php
index 2b297b6e2d3386ed54ab59d28643015c02bbcb71..5e867a346db533c422147afc12a50ba233d75094 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ProductList/CrosssellTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ProductList/CrosssellTest.php
@@ -45,10 +45,10 @@ class CrosssellTest extends \PHPUnit_Framework_TestCase
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $objectManager->get('Magento\Core\Model\Registry')->register('product', $product);
         /** @var $block \Magento\Catalog\Block\Product\ProductList\Crosssell */
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Catalog\Block\Product\ProductList\Crosssell');
         $block->setLayout(\Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                ->get('Magento\Core\Model\Layout'));
+                ->get('Magento\View\LayoutInterface'));
         $block->setTemplate('Magento_Checkout::cart/crosssell.phtml');
         $block->setItemCount(1);
 
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ProductList/RelatedTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ProductList/RelatedTest.php
index 36216ad54584fdc5bf809bf0b81e9698bfac94ad..58fe415949b255c6b84c49c42d19caaf0d6330be 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ProductList/RelatedTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ProductList/RelatedTest.php
@@ -45,10 +45,10 @@ class RelatedTest extends \PHPUnit_Framework_TestCase
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $objectManager->get('Magento\Core\Model\Registry')->register('product', $product);
         /** @var $block \Magento\Catalog\Block\Product\ProductList\Related */
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Catalog\Block\Product\ProductList\Related');
         $block->setLayout(\Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                ->get('Magento\Core\Model\Layout'));
+                ->get('Magento\View\LayoutInterface'));
         $block->setTemplate('product/list/related.phtml');
 
         $html = $block->toHtml();
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ProductList/ToolbarTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ProductList/ToolbarTest.php
index 0ee5fa2950cefa46239c868c1cc1c7030130d3f0..be90d2fdb80c3fe766618ee7e16387f4df525de9 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ProductList/ToolbarTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ProductList/ToolbarTest.php
@@ -32,7 +32,7 @@ class ToolbarTest extends \PHPUnit_Framework_TestCase
     public function testGetPagerHtml()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Catalog\Block\Product\ProductList\Toolbar */
         $block = $layout->createBlock('Magento\Catalog\Block\Product\ProductList\Toolbar', 'block');
         /** @var $childBlock \Magento\Core\Block\Text */
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/View/AdditionalTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/View/AdditionalTest.php
index 4d29789357d27b6448377bf311551ecc1f5028d0..1658e0dd36c1f9be0ff86e9a58d5466510dd6084 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/View/AdditionalTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/View/AdditionalTest.php
@@ -32,7 +32,7 @@ class AdditionalTest extends \PHPUnit_Framework_TestCase
     public function testGetChildHtmlList()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Catalog\Block\Product\View\Additional */
         $block = $layout->createBlock('Magento\Catalog\Block\Product\View\Additional', 'block');
 
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/View/OptionsTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/View/OptionsTest.php
index 12bd789b501c138e88a94bbbb9e6dd43b7acd6f4..1323843a4f316401c7bb744e6644ea0cfbf1f1e9 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/View/OptionsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/View/OptionsTest.php
@@ -53,7 +53,7 @@ class OptionsTest extends \PHPUnit_Framework_TestCase
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $objectManager->get('Magento\Core\Model\Registry')->unregister('current_product');
         $objectManager->get('Magento\Core\Model\Registry')->register('current_product', $this->_product);
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Catalog\Block\Product\View\Options');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/View/Type/ConfigurableTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/View/Type/ConfigurableTest.php
index ae9df449453f520a1ec7e1a1772cd12c185fec0f..303c724184cc3be0f3cb4a182cad8ad166690d34 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/View/Type/ConfigurableTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/View/Type/ConfigurableTest.php
@@ -49,7 +49,7 @@ class ConfigurableTest extends \PHPUnit_Framework_TestCase
         $this->_product = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Catalog\Model\Product');
         $this->_product->load(1);
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Catalog\Block\Product\View\Type\Configurable');
         $this->_block->setProduct($this->_product);
     }
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ViewTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ViewTest.php
index 1a53453ae7f9f91c2127e2fa5c221f201bc970d2..79845640ec6cb8123b197a6919ca123c15f219ac 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ViewTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Block/Product/ViewTest.php
@@ -57,7 +57,7 @@ class ViewTest extends \PHPUnit_Framework_TestCase
     public function testSetLayout()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $headBlock = $layout->createBlock('Magento\Core\Block\Template', 'head');
         $layout->addBlock($this->_block);
 
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Controller/CategoryTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Controller/CategoryTest.php
index 4df022a809cb218653bcf8d150637fa3a5dc6a24..1f464b8d45e49136b1585a335e84b19d4b4716a9 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Controller/CategoryTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Controller/CategoryTest.php
@@ -99,7 +99,7 @@ class CategoryTest extends \Magento\TestFramework\TestCase\AbstractController
         $this->assertEquals($categoryId, $lastCategoryId, 'Last visited category.');
 
         /* Layout updates */
-        $handles = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $handles = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->getUpdate()->getHandles();
         foreach ($expectedHandles as $expectedHandleName) {
             $this->assertContains($expectedHandleName, $handles);
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Controller/ProductTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Controller/ProductTest.php
index 3fd18e6a81e92471643f7677c1d6a7209819d26a..741e40a58b12e5cbd7c515d3aed90bf7138fba9a 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Controller/ProductTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Controller/ProductTest.php
@@ -70,7 +70,7 @@ class ProductTest extends \Magento\TestFramework\TestCase\AbstractController
         $this->assertEquals(1, $lastViewedProductId);
 
         /* Layout updates */
-        $handles = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $handles = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->getUpdate()->getHandles();
         $this->assertContains('catalog_product_view_type_simple', $handles);
 
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Helper/Product/ViewTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Helper/Product/ViewTest.php
index 4f85cf09e6548c00229e2cbf8bd2bb17c811c22b..4d17a88e15e8392eb5f3dccbaef0acf880b3de93 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Helper/Product/ViewTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Helper/Product/ViewTest.php
@@ -26,7 +26,7 @@
  */
 namespace Magento\Catalog\Helper\Product;
 
-require \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')->getDir()
+require \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')->getDir()
     . '/app/code/Magento/Catalog/Controller/Product.php';
 
 class ViewTest extends \PHPUnit_Framework_TestCase
@@ -44,7 +44,7 @@ class ViewTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $objectManager->get('Magento\Core\Model\View\DesignInterface')
+        $objectManager->get('Magento\View\DesignInterface')
             ->setDefaultDesignTheme();
         $this->_helper = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->get('Magento\Catalog\Helper\Product\View');
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/DesignTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/DesignTest.php
index da8f661947394ca63996b115d8bea1343966c87f..f54c916a991bc686824166d2dbc52132ef9e8866 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Model/DesignTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/DesignTest.php
@@ -50,7 +50,7 @@ class DesignTest extends \PHPUnit_Framework_TestCase
     {
         $this->_model->applyCustomDesign($theme);
         $design = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface');
+            ->get('Magento\View\DesignInterface');
         $this->assertEquals('package', $design->getDesignTheme()->getPackageCode());
         $this->assertEquals('theme', $design->getDesignTheme()->getThemeCode());
     }
@@ -61,7 +61,7 @@ class DesignTest extends \PHPUnit_Framework_TestCase
     public function getThemeModel()
     {
         $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Theme');
+            ->create('Magento\View\Design\ThemeInterface');
         $theme->setData($this->_getThemeData());
         return array(array($theme));
     }
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/AttributeTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/AttributeTest.php
index fbd104e8d776ae46e2e436bfd7620f55248eb6ef..b1c61b27dc37771989a7348605d5a45c087295e2 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/AttributeTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/AttributeTest.php
@@ -79,7 +79,7 @@ class AttributeTest extends \PHPUnit_Framework_TestCase
         $request->setParam('attribute', array());
         $this->_model->apply(
             $request,
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Core\Block\Text'))
         ;
 
@@ -95,7 +95,7 @@ class AttributeTest extends \PHPUnit_Framework_TestCase
         $request->setParam('attribute', $this->_attributeOptionId);
         $this->_model->apply(
             $request,
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Core\Block\Text')
         );
 
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/CategoryTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/CategoryTest.php
index 8a4995d4a05ed4dff85f7ba351dfa7324518715a..ab426da3e1490e93d5e8e4aedd34b6834a3d0f1f 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/CategoryTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/CategoryTest.php
@@ -69,7 +69,7 @@ class CategoryTest extends \PHPUnit_Framework_TestCase
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $this->_model->apply(
             $objectManager->get('Magento\TestFramework\Request'),
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Core\Block\Text')
         );
         /** @var $objectManager \Magento\TestFramework\ObjectManager */
@@ -84,7 +84,7 @@ class CategoryTest extends \PHPUnit_Framework_TestCase
         $request->setParam('cat', 3);
         $this->_model->apply(
             $request,
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Core\Block\Text')
         );
 
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/DecimalTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/DecimalTest.php
index 144b18177aa99d297c7823d7ce9344108fb0b6b6..d55907e94ff18a60fe28ad8fcf35048d9848b2cf 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/DecimalTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/DecimalTest.php
@@ -71,7 +71,7 @@ class DecimalTest extends \PHPUnit_Framework_TestCase
         $request = $objectManager->get('Magento\TestFramework\Request');
         $this->_model->apply(
             $request,
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Core\Block\Text')
         );
 
@@ -88,7 +88,7 @@ class DecimalTest extends \PHPUnit_Framework_TestCase
         $request->setParam('decimal', 'non-decimal');
         $this->_model->apply(
             $request,
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Core\Block\Text')
         );
 
@@ -104,7 +104,7 @@ class DecimalTest extends \PHPUnit_Framework_TestCase
         $request->setParam('decimal', '1,100');
         $this->_model->apply(
             $request,
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Core\Block\Text')
         );
 
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/ItemTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/ItemTest.php
index 16cfeaa0370849b426d1294279eb9b1b34bfe9d3..95e7c7668f59278d6726f68317ce5912435adb60 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/ItemTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/ItemTest.php
@@ -94,9 +94,9 @@ class ItemTest extends \PHPUnit_Framework_TestCase
         /** @var $objectManager \Magento\TestFramework\ObjectManager */
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         /** @var $request \Magento\TestFramework\Request */
-        $request = $objectManager->get('Magento\TestFramework\Request');
+        $request = $objectManager->create('Magento\App\RequestInterface');
 
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Controller\Request\Http')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\RequestInterface')
             ->setRoutingInfo(array(
                 'requested_route'      => 'x',
                 'requested_controller' => 'y',
@@ -106,7 +106,7 @@ class ItemTest extends \PHPUnit_Framework_TestCase
         $request->setParam('cat', 4);
         $this->_model->getFilter()->apply(
             $request,
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Core\Block\Text')
         );
 
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/Price/AlgorithmAdvancedTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/Price/AlgorithmAdvancedTest.php
index 64872e34b4bd04906f216870dea7c33d59a0f645..188807407e7df673a98cb114d97b3ba4678f261e 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/Price/AlgorithmAdvancedTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/Price/AlgorithmAdvancedTest.php
@@ -67,7 +67,7 @@ class AlgorithmAdvancedTest extends \PHPUnit_Framework_TestCase
         if (!is_null($request)) {
             $filter->apply(
                 $request,
-                \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+                \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                     ->createBlock('Magento\Core\Block\Text')
             );
             $interval = $filter->getInterval();
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/PriceTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/PriceTest.php
index 4d4485022e70388886808e7f25be6b157fb7d3d8..2d8dd7464e52f9eeec0df8bff74b62a3b0b5f6a0 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/PriceTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/Layer/Filter/PriceTest.php
@@ -104,7 +104,7 @@ class PriceTest extends \PHPUnit_Framework_TestCase
         $request = $objectManager->get('Magento\TestFramework\Request');
         $this->_model->apply(
             $request,
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Core\Block\Text')
         );
 
@@ -121,7 +121,7 @@ class PriceTest extends \PHPUnit_Framework_TestCase
         $request->setParam('price', 'non-numeric');
         $this->_model->apply(
             $request,
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Core\Block\Text')
         );
 
@@ -140,7 +140,7 @@ class PriceTest extends \PHPUnit_Framework_TestCase
         $request->setParam('price', '10-20');
         $this->_model->apply(
             $request,
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->createBlock('Magento\Core\Block\Text')
         );
 
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Type/AbstractTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Type/AbstractTest.php
index c95eb571f7bcb86fcc9cbc19d0a38b012aa775eb..6a41d51983d3a675b6c64c31ac693fa95339686a 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Type/AbstractTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Type/AbstractTest.php
@@ -41,7 +41,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
             ->get('Magento\Catalog\Model\Product\Option');
         $eavConfig = $this->getMock('Magento\Eav\Model\Config', array(), array(), '', false);
         $catalogProductType = $this->getMock('Magento\Catalog\Model\Product\Type', array(), array(), '', false);
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array('dispatch'), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array('dispatch'), array(), '', false);
         $coreData = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
         $fileStorageDb = $this->getMock('Magento\Core\Helper\File\Storage\Database', array(), array(), '', false);
         $filesystem = $this->getMock('Magento\Filesystem', array(), array(), '', false);
diff --git a/dev/tests/integration/testsuite/Magento/Catalog/WidgetTest.php b/dev/tests/integration/testsuite/Magento/Catalog/WidgetTest.php
index 75b5e59e0862217967d63ccebc426f11f8d5c8cc..7ba5a669c104691049593b7594202b5c250b0d3e 100644
--- a/dev/tests/integration/testsuite/Magento/Catalog/WidgetTest.php
+++ b/dev/tests/integration/testsuite/Magento/Catalog/WidgetTest.php
@@ -31,10 +31,12 @@ class WidgetTest extends \PHPUnit_Framework_TestCase
 {
     public function testNewProductsWidget()
     {
+        $type = 'Magento\Catalog\Block\Product\Widget\NewWidget';
+
         /** @var $model \Magento\Widget\Model\Widget\Instance */
         $model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Widget\Model\Widget\Instance');
-        $config = $model->setType('Magento\Catalog\Block\Product\Widget\NewWidget')->getWidgetConfigAsArray();
+        $config = $model->setType($type)->getWidgetConfigAsArray();
         $templates = $config['parameters']['template']['values'];
         $this->assertArrayHasKey('default', $templates);
         $this->assertArrayHasKey('list', $templates);
@@ -52,5 +54,9 @@ class WidgetTest extends \PHPUnit_Framework_TestCase
         $this->assertContains('left', $containers);
         $this->assertContains('content', $containers);
         $this->assertContains('right', $containers);
+
+        // Verify that the correct id (code) is found for this widget instance type.
+        $code = $model->setType($type)->getWidgetReference('type', $type, 'code');
+        $this->assertEquals('new_products', $code);
     }
 }
diff --git a/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/Advanced/ResultTest.php b/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/Advanced/ResultTest.php
index e5621728b7e4287749e602922f86f39efa68e8fe..8ece02d37628f2730458cf21f7294b60b5a57678 100644
--- a/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/Advanced/ResultTest.php
+++ b/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/Advanced/ResultTest.php
@@ -30,7 +30,7 @@ namespace Magento\CatalogSearch\Block\Advanced;
 class ResultTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -41,7 +41,8 @@ class ResultTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->get('Magento\View\LayoutInterface');
         $this->_block = $this->_layout->createBlock('Magento\CatalogSearch\Block\Advanced\Result', 'block');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/ResultTest.php b/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/ResultTest.php
index 9136a403d20d466638e442058b7fcae6ca1dedf8..5ced3929b363a3c2ffbad9fdfb1538db0e455dba 100644
--- a/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/ResultTest.php
+++ b/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/ResultTest.php
@@ -32,7 +32,7 @@ class ResultTest extends \PHPUnit_Framework_TestCase
     public function testSetListOrders()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $layout->addBlock('Magento\Core\Block\Text', 'head'); // The tested block is using head block
         /** @var $block \Magento\CatalogSearch\Block\Result */
         $block = $layout->addBlock('Magento\CatalogSearch\Block\Result', 'block');
diff --git a/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/TermTest.php b/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/TermTest.php
index 585b299aece24b2a3ec35cc99259d7ba32b1a5ab..c826fde614a4df085e6d242d9cc268f7bc72432a 100644
--- a/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/TermTest.php
+++ b/dev/tests/integration/testsuite/Magento/CatalogSearch/Block/TermTest.php
@@ -36,7 +36,7 @@ class TermTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\CatalogSearch\Block\Term');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Checkout/Block/Cart/Item/RendererTest.php b/dev/tests/integration/testsuite/Magento/Checkout/Block/Cart/Item/RendererTest.php
index d700b88c63bc8bc610221874515141c7b9507b4d..051a43102612e4b9292f7dc6933f1b5aa799e822 100644
--- a/dev/tests/integration/testsuite/Magento/Checkout/Block/Cart/Item/RendererTest.php
+++ b/dev/tests/integration/testsuite/Magento/Checkout/Block/Cart/Item/RendererTest.php
@@ -41,7 +41,7 @@ class RendererTest extends \PHPUnit_Framework_TestCase
     {
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App')
             ->getArea(\Magento\Core\Model\App\Area::AREA_FRONTEND)->load();
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Checkout\Block\Cart\Item\Renderer');
         /** @var $item \Magento\Sales\Model\Quote\Item */
         $item = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/Checkout/Block/Cart/SidebarTest.php b/dev/tests/integration/testsuite/Magento/Checkout/Block/Cart/SidebarTest.php
index 058c0efe91897aaff8d2353934aa52ea5c61e89e..83c2fc2d0f5d51e1910b42b8896c22d920bbc312 100644
--- a/dev/tests/integration/testsuite/Magento/Checkout/Block/Cart/SidebarTest.php
+++ b/dev/tests/integration/testsuite/Magento/Checkout/Block/Cart/SidebarTest.php
@@ -32,7 +32,7 @@ class SidebarTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Checkout\Block\Cart\Sidebar');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Checkout/Block/CartTest.php b/dev/tests/integration/testsuite/Magento/Checkout/Block/CartTest.php
index 0d79ccb370f2defb115c904eddc263145b9af9fb..cb457468f0ceb8612de5eb553f9379c947f2f514 100644
--- a/dev/tests/integration/testsuite/Magento/Checkout/Block/CartTest.php
+++ b/dev/tests/integration/testsuite/Magento/Checkout/Block/CartTest.php
@@ -35,7 +35,7 @@ class CartTest extends \PHPUnit_Framework_TestCase
     public function testGetMethods()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $child = $layout->createBlock('Magento\Core\Block\Text')
             ->setChild('child1', $layout->createBlock('Magento\Core\Block\Text', 'method1'))
             ->setChild('child2', $layout->createBlock('Magento\Core\Block\Text', 'method2'));
@@ -49,7 +49,7 @@ class CartTest extends \PHPUnit_Framework_TestCase
     public function testGetMethodsEmptyChild()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $childEmpty = $layout->createBlock('Magento\Core\Block\Text');
         /** @var $block \Magento\Checkout\Block\Cart */
         $block = $layout->createBlock('Magento\Checkout\Block\Cart')
@@ -61,7 +61,7 @@ class CartTest extends \PHPUnit_Framework_TestCase
     public function testGetMethodsNoChild()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Checkout\Block\Cart */
         $block = $layout->createBlock('Magento\Checkout\Block\Cart');
         $methods = $block->getMethods('child');
diff --git a/dev/tests/integration/testsuite/Magento/Checkout/Block/Multishipping/OverviewTest.php b/dev/tests/integration/testsuite/Magento/Checkout/Block/Multishipping/OverviewTest.php
index ba36ce3bd3f03aebd460c81c19a8d842528829d1..2c4e961180f297c2ead4d214a50e3e2015fc5abd 100644
--- a/dev/tests/integration/testsuite/Magento/Checkout/Block/Multishipping/OverviewTest.php
+++ b/dev/tests/integration/testsuite/Magento/Checkout/Block/Multishipping/OverviewTest.php
@@ -38,7 +38,7 @@ class OverviewTest extends \PHPUnit_Framework_TestCase
     {
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App')
             ->getArea(\Magento\Core\Model\App\Area::AREA_FRONTEND)->load();
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Checkout\Block\Multishipping\Overview');
     }
 
@@ -57,6 +57,6 @@ class OverviewTest extends \PHPUnit_Framework_TestCase
             ->create('Magento\Sales\Model\Quote');
         $item->setQuote($quote);
         // assure that default renderer was obtained
-        $this->assertSelectCount('h2.product-name a', 1, $this->_block->getRowItemHtml($item));
+        $this->assertSelectCount('strong.product.name a', 1, $this->_block->getRowItemHtml($item));
     }
 }
diff --git a/dev/tests/integration/testsuite/Magento/Checkout/Block/Onepage/Payment/MethodsTest.php b/dev/tests/integration/testsuite/Magento/Checkout/Block/Onepage/Payment/MethodsTest.php
index d3e7e7415f42a68ecf806fa2e1265f793e1d3ff5..de0357afe6356b7a925537bd271ae087043a9c26 100644
--- a/dev/tests/integration/testsuite/Magento/Checkout/Block/Onepage/Payment/MethodsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Checkout/Block/Onepage/Payment/MethodsTest.php
@@ -40,7 +40,7 @@ class MethodsTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         parent::setUp();
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Checkout\Block\Onepage\Payment\Methods');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Cms/Block/BlockTest.php b/dev/tests/integration/testsuite/Magento/Cms/Block/BlockTest.php
index bc4aa2d3d121840a8877e95fc698277ad8c5153f..efa4555a565dbd4af6dce633d543187a65090a3c 100644
--- a/dev/tests/integration/testsuite/Magento/Cms/Block/BlockTest.php
+++ b/dev/tests/integration/testsuite/Magento/Cms/Block/BlockTest.php
@@ -41,7 +41,7 @@ class BlockTest extends \PHPUnit_Framework_TestCase
             ->create('Magento\Cms\Model\Block');
         $cmsBlock->load('fixture_block', 'identifier');
         /** @var $block \Magento\Cms\Block\Block */
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Cms\Block\Block');
         $block->setBlockId($cmsBlock->getId());
         $result = $block->toHtml();
diff --git a/dev/tests/integration/testsuite/Magento/Cms/Block/Widget/BlockTest.php b/dev/tests/integration/testsuite/Magento/Cms/Block/Widget/BlockTest.php
index a50322fd28c68c517bd57bd07a2337075a956011..213126d951e119fa75865cbba11851b174b9cc41 100644
--- a/dev/tests/integration/testsuite/Magento/Cms/Block/Widget/BlockTest.php
+++ b/dev/tests/integration/testsuite/Magento/Cms/Block/Widget/BlockTest.php
@@ -41,7 +41,7 @@ class BlockTest extends \PHPUnit_Framework_TestCase
             ->create('Magento\Cms\Model\Block');
         $cmsBlock->load('fixture_block', 'identifier');
         /** @var $block \Magento\Cms\Block\Widget\Block */
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Cms\Block\Widget\Block');
         $block->setBlockId($cmsBlock->getId());
         $block->toHtml();
diff --git a/dev/tests/integration/testsuite/Magento/Cms/Controller/RouterTest.php b/dev/tests/integration/testsuite/Magento/Cms/Controller/RouterTest.php
index 222073b0cc6abbf5f559a79af9b49a5da9fd3bb2..b756d44aefce7799b3f6dc3af3b3c4439655b112 100644
--- a/dev/tests/integration/testsuite/Magento/Cms/Controller/RouterTest.php
+++ b/dev/tests/integration/testsuite/Magento/Cms/Controller/RouterTest.php
@@ -40,14 +40,14 @@ class RouterTest extends \PHPUnit_Framework_TestCase
         $this->_model = new \Magento\Cms\Controller\Router(
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
                 ->get('Magento\Core\Controller\Varien\Action\Factory'),
-            new \Magento\Core\Model\Event\ManagerStub(
-                $this->getMockForAbstractClass('Magento\Core\Model\Event\InvokerInterface', array(), '', false),
-                $this->getMock('Magento\Core\Model\Event\Config', array(), array(), '', false),
+            new \Magento\Event\ManagerInterfaceStub(
+                $this->getMockForAbstractClass('Magento\Event\InvokerInterface'),
+                $this->getMock('Magento\Event\Config', array(), array(), '', false),
                 $this->getMock('Magento\EventFactory', array(), array(), '', false),
                 $this->getMock('Magento\Event\ObserverFactory', array(), array(), '', false)
             ),
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                ->get('Magento\Core\Model\UrlInterface'),
+                ->get('Magento\UrlInterface'),
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
                 ->get('Magento\Core\Model\Config\Primary'),
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
@@ -66,7 +66,7 @@ class RouterTest extends \PHPUnit_Framework_TestCase
     {
         $this->markTestIncomplete('MAGETWO-3393');
         $request = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Controller\Request\Http');
+            ->create('Magento\App\RequestInterface');
         //Open Node
         $request->setPathInfo('parent_node');
         $controller = $this->_model->match($request);
@@ -77,9 +77,9 @@ class RouterTest extends \PHPUnit_Framework_TestCase
 /**
  * Event manager stub
  */
-namespace Magento\Core\Model\Event;
+namespace Magento\Event;
 
-class ManagerStub extends \Magento\Core\Model\Event\Manager
+class ManagerStub extends Manager
 {
     /**
      * Stub dispatch event
diff --git a/dev/tests/integration/testsuite/Magento/Cms/Helper/PageTest.php b/dev/tests/integration/testsuite/Magento/Cms/Helper/PageTest.php
index 5d93c6c7e8f9777d0f5da635578c8ddddf7f0ed1..f22ea85345363128af5f16a9f6b51e6b3098af8e 100644
--- a/dev/tests/integration/testsuite/Magento/Cms/Helper/PageTest.php
+++ b/dev/tests/integration/testsuite/Magento/Cms/Helper/PageTest.php
@@ -53,7 +53,7 @@ class PageTest extends \PHPUnit_Framework_TestCase
             $page->getId()
         );
         $design = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface');
+            ->get('Magento\View\DesignInterface');
         $this->assertEquals('magento_blank', $design->getDesignTheme()->getThemePath());
         $this->assertTrue($result);
     }
diff --git a/dev/tests/integration/testsuite/Magento/Cms/Helper/Wysiwyg/ImagesTest.php b/dev/tests/integration/testsuite/Magento/Cms/Helper/Wysiwyg/ImagesTest.php
index 62ad74bc76b724fa6a7bb3b4a67c65b11ce993bb..163485cdafcd04f32cbf1dbf9c79dcfd9f43f03a 100644
--- a/dev/tests/integration/testsuite/Magento/Cms/Helper/Wysiwyg/ImagesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Cms/Helper/Wysiwyg/ImagesTest.php
@@ -27,11 +27,11 @@ class ImagesTest extends \PHPUnit_Framework_TestCase
 {
     public function testGetStorageRoot()
     {
-        /** @var $dir \Magento\Core\Model\Dir */
-        $dir = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir');
+        /** @var $dir \Magento\App\Dir */
+        $dir = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir');
         $helper = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Cms\Helper\Wysiwyg\Images');
-        $this->assertStringStartsWith($dir->getDir(\Magento\Core\Model\Dir::MEDIA), $helper->getStorageRoot());
+        $this->assertStringStartsWith($dir->getDir(\Magento\App\Dir::MEDIA), $helper->getStorageRoot());
     }
 
     public function testGetCurrentUrl()
diff --git a/dev/tests/integration/testsuite/Magento/Cms/Model/Wysiwyg/ConfigTest.php b/dev/tests/integration/testsuite/Magento/Cms/Model/Wysiwyg/ConfigTest.php
index ea8309b98df3d024c76da822cce9f9de320091cd..5a630002cccc9063c3e57b55ef598646420c04a5 100644
--- a/dev/tests/integration/testsuite/Magento/Cms/Model/Wysiwyg/ConfigTest.php
+++ b/dev/tests/integration/testsuite/Magento/Cms/Model/Wysiwyg/ConfigTest.php
@@ -39,7 +39,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Config\Scope')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Config\ScopeInterface')
             ->setCurrentScope(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
         $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Cms\Model\Wysiwyg\Config');
diff --git a/dev/tests/integration/testsuite/Magento/Cms/Model/Wysiwyg/Images/StorageTest.php b/dev/tests/integration/testsuite/Magento/Cms/Model/Wysiwyg/Images/StorageTest.php
index fb1fb8e3c158762615f2bfde8d84241cee86eea5..2f4ed6d7b13c2926fbdc9df2e8eff30a3dda006f 100644
--- a/dev/tests/integration/testsuite/Magento/Cms/Model/Wysiwyg/Images/StorageTest.php
+++ b/dev/tests/integration/testsuite/Magento/Cms/Model/Wysiwyg/Images/StorageTest.php
@@ -54,7 +54,7 @@ class StorageTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetFilesCollection()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setDesignTheme('magento_basic', 'adminhtml');
         /** @var $model \Magento\Cms\Model\Wysiwyg\Images\Storage */
         $model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
@@ -82,7 +82,7 @@ class StorageTest extends \PHPUnit_Framework_TestCase
         $viewUrl = $objectManager->get('Magento\Core\Model\View\Url');
         $imageHelper = $objectManager->get('Magento\Cms\Helper\Wysiwyg\Images');
         $coreFileStorageDb = $objectManager->get('Magento\Core\Helper\File\Storage\Database');
-        $dir = $objectManager->get('Magento\Core\Model\Dir');
+        $dir = $objectManager->get('Magento\App\Dir');
         $storageCollectionFactory = $objectManager->get('Magento\Cms\Model\Wysiwyg\Images\Storage\CollectionFactory');
         $storageFileFactory = $objectManager->get('Magento\Core\Model\File\Storage\FileFactory');
         $storageDatabaseFactory = $objectManager->get('Magento\Core\Model\File\Storage\DatabaseFactory');
diff --git a/dev/tests/integration/testsuite/Magento/Code/GeneratorTest.php b/dev/tests/integration/testsuite/Magento/Code/GeneratorTest.php
index 206c1f154fabc91e365e3189c1cb239faeb63752..5b082726fdeeac9ab1ad6803c9426005231e4d71 100644
--- a/dev/tests/integration/testsuite/Magento/Code/GeneratorTest.php
+++ b/dev/tests/integration/testsuite/Magento/Code/GeneratorTest.php
@@ -58,9 +58,9 @@ class GeneratorTest extends \PHPUnit_Framework_TestCase
     {
         $this->_includePath = get_include_path();
 
-        /** @var $dirs \Magento\Core\Model\Dir */
-        $dirs = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir');
-        $generationDirectory = $dirs->getDir(\Magento\Core\Model\Dir::VAR_DIR) . '/generation';
+        /** @var $dirs \Magento\App\Dir */
+        $dirs = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir');
+        $generationDirectory = $dirs->getDir(\Magento\App\Dir::VAR_DIR) . '/generation';
 
         \Magento\Autoload\IncludePath::addIncludePath($generationDirectory);
 
@@ -77,9 +77,9 @@ class GeneratorTest extends \PHPUnit_Framework_TestCase
 
     protected function tearDown()
     {
-        /** @var $dirs \Magento\Core\Model\Dir */
-        $dirs = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir');
-        $generationDirectory = $dirs->getDir(\Magento\Core\Model\Dir::VAR_DIR) . '/generation';
+        /** @var $dirs \Magento\App\Dir */
+        $dirs = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir');
+        $generationDirectory = $dirs->getDir(\Magento\App\Dir::VAR_DIR) . '/generation';
         \Magento\Io\File::rmdirRecursive($generationDirectory);
 
         set_include_path($this->_includePath);
diff --git a/dev/tests/integration/testsuite/Magento/Core/Block/AbstractBlockTest.php b/dev/tests/integration/testsuite/Magento/Core/Block/AbstractBlockTest.php
index e4e561b026f76e46fa68c34cd0f5af7dee2ea36a..d7b67ca72cbbd572e21b186a9688dee2bd583a9d 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Block/AbstractBlockTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Block/AbstractBlockTest.php
@@ -38,7 +38,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
     protected $_block;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout = null;
 
@@ -46,7 +46,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setDefaultDesignTheme();
         $this->_block = $this->getMockForAbstractClass('Magento\Core\Block\AbstractBlock', array(
             \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Block\Context'),
@@ -62,12 +62,12 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
     public function testCssWithWrongImage()
     {
         $dirPath = __DIR__ . DIRECTORY_SEPARATOR . '_files';
-        /** @var $dirs \Magento\Core\Model\Dir */
-        $dirs = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir');
+        /** @var $dirs \Magento\App\Dir */
+        $dirs = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir');
 
         $prepareFileName = new \ReflectionMethod($dirs, '_setDir');
         $prepareFileName->setAccessible(true);
-        $prepareFileName->invoke($dirs, \Magento\Core\Model\Dir::THEMES, $dirPath);
+        $prepareFileName->invoke($dirs, \Magento\App\Dir::THEMES, $dirPath);
 
         $cssUrl = $this->_block->getViewFileUrl('css/wrong.css', array(
             'area'    => 'frontend',
@@ -79,7 +79,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
 
     public function testGetRequest()
     {
-        $this->assertInstanceOf('Magento\Core\Controller\Request\Http', $this->_block->getRequest());
+        $this->assertInstanceOf('Magento\App\RequestInterface', $this->_block->getRequest());
     }
 
     /**
@@ -121,7 +121,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
         $this->assertEquals($name, $this->_block->getNameInLayout());
 
         // Setting second time, along with the layout
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $layout->createBlock('Magento\Core\Block\Template', $name);
         $block = $layout->getBlock($name);
         $this->assertInstanceOf('Magento\Core\Block\AbstractBlock', $block);
@@ -250,7 +250,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
 
         // With layout
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $child = $layout->createBlock('Magento\Core\Block\Text', $childName);
         $layout->addBlock($this->_block, $parentName);
 
@@ -475,7 +475,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
 
     public function testSetFrameTags()
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Core\Block\Text');
         $block->setText('text');
 
@@ -542,12 +542,12 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
     {
         // Get one from layout
         $this->_block->setLayout(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
         );
         $this->assertInstanceOf('Magento\Core\Block\Messages', $this->_block->getMessagesBlock());
 
         // Set explicitly
-        $messages = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $messages = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Core\Block\Messages');
         $this->_block->setMessagesBlock($messages);
         $this->assertSame($messages, $this->_block->getMessagesBlock());
@@ -637,7 +637,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
     public function testGetCacheKeyInfo()
     {
         $name = uniqid('block.');
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Core\Block\Text');
         $block->setNameInLayout($name);
         $this->assertEquals(array($name), $block->getCacheKeyInfo());
@@ -646,7 +646,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
     public function testGetCacheKey()
     {
         $name = uniqid('block.');
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Core\Block\Text');
         $block->setNameInLayout($name);
         $key = $block->getCacheKey();
@@ -690,7 +690,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
         $layout = false;
         if ($withLayout) {
             $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                ->get('Magento\Core\Model\Layout');
+                ->get('Magento\View\LayoutInterface');
         }
         for ($i = 0; $i < $qty; $i++) {
             $name = uniqid('block.');
@@ -729,7 +729,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
         }
         if (is_null($this->_layout)) {
             $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                ->get('Magento\Core\Model\Layout');
+                ->get('Magento\View\LayoutInterface');
         }
         $block = $this->_layout->addBlock($mockClass, $name, '', $alias);
         return $block;
diff --git a/dev/tests/integration/testsuite/Magento/Core/Block/TemplateTest.php b/dev/tests/integration/testsuite/Magento/Core/Block/TemplateTest.php
index 13288a6703dd4ba32268e56a085b412efdfe0daf..22246796fc221f74c4090cb3bfd4995a389b040c 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Block/TemplateTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Block/TemplateTest.php
@@ -39,13 +39,13 @@ class TemplateTest extends \PHPUnit_Framework_TestCase
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $params = array('layout' => $objectManager->create('Magento\Core\Model\Layout', array()));
         $context = $objectManager->create('Magento\Core\Block\Template\Context', $params);
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Core\Block\Template', '', array('context' => $context));
     }
 
     public function testConstruct()
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Core\Block\Template', '', array('data' => array('template' => 'value')));
         $this->assertEquals('value', $block->getTemplate());
     }
@@ -67,21 +67,6 @@ class TemplateTest extends \PHPUnit_Framework_TestCase
         $this->assertEquals('another_area', $this->_block->getArea());
     }
 
-    public function testGetDirectOutput()
-    {
-        $this->assertFalse($this->_block->getDirectOutput());
-
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
-        $layout->setDirectOutput(true);
-        $this->_block->setLayout($layout);
-        $this->assertTrue($this->_block->getDirectOutput());
-    }
-
-    public function testGetShowTemplateHints()
-    {
-        $this->assertFalse($this->_block->getShowTemplateHints());
-    }
-
     /**
      * @covers \Magento\Core\Block\Template::_toHtml
      * @covers \Magento\Core\Block\AbstractBlock::toHtml
diff --git a/dev/tests/integration/testsuite/Magento/Core/Block/Text/ListTest.php b/dev/tests/integration/testsuite/Magento/Core/Block/Text/ListTest.php
index c2ad311e7e78d25fd05bb11e9d78047b91eb00ff..31f29ae29801e138f4164d6758f3887d8f28be11 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Block/Text/ListTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Block/Text/ListTest.php
@@ -30,7 +30,7 @@ namespace Magento\Core\Block\Text;
 class ListTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -41,7 +41,8 @@ class ListTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->get('Magento\View\LayoutInterface');
         $this->_block = $this->_layout->createBlock('Magento\Core\Block\Text\ListText');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Core/Block/TextTest.php b/dev/tests/integration/testsuite/Magento/Core/Block/TextTest.php
index c5743b9313d8039e7e5f57933f04bdfdfbee7330..c427fd8346f762b7826fa2bd0e5fbabca4e6e1d2 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Block/TextTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Block/TextTest.php
@@ -36,7 +36,7 @@ class TextTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Core\Block\Text');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Core/Controller/Request/HttpTest.php b/dev/tests/integration/testsuite/Magento/Core/Controller/Request/HttpTest.php
deleted file mode 100644
index 697e57c764623daa5256b11d712b53da6bdbade0..0000000000000000000000000000000000000000
--- a/dev/tests/integration/testsuite/Magento/Core/Controller/Request/HttpTest.php
+++ /dev/null
@@ -1,193 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @category    Magento
- * @package     Magento_Core
- * @subpackage  integration_tests
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-
-namespace Magento\Core\Controller\Request;
-
-class HttpTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \Magento\Core\Controller\Request\Http
-     */
-    protected $_model;
-
-    protected function setUp()
-    {
-        $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Controller\Request\Http');
-    }
-
-    public function testGetOriginalPathInfo()
-    {
-        $this->assertEmpty($this->_model->getOriginalPathInfo());
-    }
-
-    /**
-     * @magentoConfigFixture current_store web/url/use_store 1
-     * @dataProvider setGetPathInfoDataProvider
-     * @magentoDbIsolation enabled
-     * @magentoAppIsolation enabled
-     */
-    public function testSetPathWithStoreCode($requestUri, $expectedResult)
-    {
-        $this->_model->setRequestUri($requestUri);
-        $this->_model->setPathInfo();
-        $this->assertEquals($expectedResult, $this->_model->getPathInfo());
-    }
-
-    /**
-     * @dataProvider setGetPathInfoDataProvider
-     */
-    public function testSetPathWithOut($requestUri)
-    {
-        $this->_model->setRequestUri($requestUri);
-        $this->_model->setPathInfo();
-        $this->assertEquals($requestUri, $this->_model->getPathInfo());
-    }
-
-    public function testSetGetPathInfo()
-    {
-        $this->_model->setPathInfo();
-        $this->assertEmpty($this->_model->getPathInfo());
-
-        $this->_model->setRequestUri('test');
-        $this->_model->setPathInfo();
-        $this->assertEquals('test', $this->_model->getPathInfo());
-
-
-        $this->_model->setPathInfo('new_test');
-        $this->assertEquals('new_test', $this->_model->getPathInfo());
-
-    }
-
-    /**
-     * @see self::testSetPathWithStoreCode()
-     * @return array
-     */
-    public function setGetPathInfoDataProvider()
-    {
-        return array(
-            array(null, null),
-            array('default', '/'),
-            array('default/new', '/new'),
-            array('admin/new', 'admin/new'),
-        );
-    }
-
-    /**
-     * @covers \Magento\Core\Controller\Request\Http::rewritePathInfo
-     * @covers \Magento\Core\Controller\Request\Http::getOriginalPathInfo
-     * @magentoConfigFixture current_store web/url/use_store 1
-     */
-    public function testRewritePathInfoStoreCodeInUrl()
-    {
-        $pathInfo = $this->_model->getPathInfo();
-        $this->_model->rewritePathInfo('test/path');
-        $this->assertNotEquals($pathInfo, $this->_model->getPathInfo());
-        $this->assertEquals('test/path', $this->_model->getPathInfo());
-        $this->assertEquals($pathInfo, $this->_model->getOriginalPathInfo());
-    }
-
-    public function testGetDirectFrontNames()
-    {
-        $this->assertEmpty(
-            $this->_model->getDirectFrontNames(),
-            "After API module removal there should not be areas with direct front name."
-        );
-    }
-
-    public function testGetRequestString()
-    {
-        $this->assertEmpty($this->_model->getRequestString());
-        $this->_model->setRequestUri('test');
-        $this->_model->setPathInfo();
-        $this->assertEquals('test', $this->_model->getRequestString());
-    }
-
-    public function testGetBasePath()
-    {
-        $this->assertEquals('/', $this->_model->getBasePath());
-    }
-
-    public function testGetBaseUrl()
-    {
-        $this->assertEmpty($this->_model->getBaseUrl());
-    }
-
-    public function testSetGetRouteName()
-    {
-        $this->assertEmpty($this->_model->getRouteName());
-        $this->_model->setRouteName('test');
-        $this->assertEquals('test', $this->_model->getRouteName());
-    }
-
-    public function testGetHttpHost()
-    {
-        $this->assertEquals('localhost', $this->_model->getHttpHost());
-        $_SERVER['HTTP_HOST'] = 'example.com:80';
-        $this->assertEquals($_SERVER['HTTP_HOST'], $this->_model->getHttpHost(false));
-        $this->assertEquals('example.com', $this->_model->getHttpHost());
-    }
-
-    public function testSetPost()
-    {
-        $post = $_POST;
-        $this->_model->setPost(array('test' => 'test'));
-        $post['test'] = 'test';
-        $this->assertEquals($post, $this->_model->getPost());
-
-        $this->_model->setPost('key', 'value');
-        $post['key'] = 'value';
-        $this->assertEquals($post, $this->_model->getPost());
-    }
-
-    public function testInitForward()
-    {
-        $this->_model->setParam('test', 'test');
-        $this->_model->initForward();
-        $this->assertEquals(array('test' => 'test'), $this->_model->getBeforeForwardInfo('params'));
-
-        $this->_model->setParam('test', 'test1');
-        /* the call shouldn't override existing info*/
-        $this->_model->initForward();
-        $this->assertEquals(array('test' => 'test'), $this->_model->getBeforeForwardInfo('params'));
-    }
-
-    public function testIsStraight()
-    {
-        $this->assertFalse($this->_model->isStraight());
-        $this->assertTrue($this->_model->isStraight(true));
-        $this->assertTrue($this->_model->isStraight());
-    }
-
-    public function testIsAjax()
-    {
-        $this->assertFalse($this->_model->isAjax());
-        $this->_model->setParam('isAjax', 1);
-        $this->assertTrue($this->_model->isAjax());
-    }
-
-}
diff --git a/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/ActionTest.php b/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/ActionTest.php
index 778053f1812758a3eee0eba4b99508a600e0361b..d3dae252969a268596587a224e3070da497b2daa 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/ActionTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/ActionTest.php
@@ -42,18 +42,18 @@ class ActionTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $this->_objectManager->get('Magento\Core\Model\View\DesignInterface')
+        $this->_objectManager->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_FRONTEND)
             ->setDefaultDesignTheme();
         /** @var $objectManager \Magento\TestFramework\ObjectManager */
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         /** @var $request \Magento\TestFramework\Request */
-        $request = $objectManager->get('Magento\TestFramework\Request');
+        $request = $objectManager->get('Magento\App\RequestInterface');
         $arguments = array(
             'request'  => $request,
             'response' => $this->_objectManager->get('Magento\TestFramework\Response'),
         );
-        $this->_objectManager->get('Magento\Core\Model\View\DesignInterface')
+        $this->_objectManager->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_FRONTEND)
             ->setDefaultDesignTheme();
         $context = $this->_objectManager->create('Magento\Core\Controller\Varien\Action\Context', $arguments);
@@ -114,7 +114,7 @@ class ActionTest extends \PHPUnit_Framework_TestCase
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App')
             ->loadArea($expectedArea);
 
-        $this->_objectManager->get('Magento\Core\Model\Config\Scope')->setCurrentScope($expectedArea);
+        $this->_objectManager->get('Magento\Config\ScopeInterface')->setCurrentScope($expectedArea);
         /** @var $controller \Magento\Core\Controller\Varien\Action */
         $controller = $this->_objectManager->create($controllerClass);
         $this->assertInstanceOf('Magento\Core\Model\Layout', $controller->getLayout());
@@ -290,7 +290,7 @@ class ActionTest extends \PHPUnit_Framework_TestCase
             'Magento\Core\Controller\Front\Action',
             array('context'  => $context)
         );
-        $this->_objectManager->get('Magento\Core\Model\Config\Scope')->setCurrentScope('frontend');
+        $this->_objectManager->get('Magento\Config\ScopeInterface')->setCurrentScope('frontend');
         $this->_object->dispatch('not_exists');
 
         $this->assertFalse($request->isDispatched());
@@ -345,7 +345,7 @@ class ActionTest extends \PHPUnit_Framework_TestCase
         $controller = $this->_objectManager->create($controllerClass, array('context' => $context));
         $controller->preDispatch();
 
-        $design = $this->_objectManager->get('Magento\Core\Model\View\DesignInterface');
+        $design = $this->_objectManager->get('Magento\View\DesignInterface');
 
         $this->assertEquals($expectedArea, $design->getArea());
         $this->assertEquals($expectedStore, \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/FrontTest.php b/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/FrontTest.php
deleted file mode 100644
index 8c9384f779bf87895ba5f78cc7f3da342c44aad9..0000000000000000000000000000000000000000
--- a/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/FrontTest.php
+++ /dev/null
@@ -1,141 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @category    Magento
- * @package     Magento_Core
- * @subpackage  integration_tests
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-
-namespace Magento\Core\Controller\Varien;
-
-class FrontTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \Magento\ObjectManager
-     */
-    protected $_objectManager;
-
-    /**
-     * @var \Magento\Core\Controller\Varien\Front
-     */
-    protected $_model;
-
-    protected function setUp()
-    {
-        $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $this->_model = $this->_objectManager->create('Magento\Core\Controller\Varien\Front');
-    }
-
-    public function testSetGetDefault()
-    {
-        $this->_model->setDefault('test', 'value');
-        $this->assertEquals('value', $this->_model->getDefault('test'));
-
-        $default = array('some_key' => 'some_value');
-        $this->_model->setDefault($default);
-        $this->assertEquals($default, $this->_model->getDefault());
-    }
-
-    public function testGetRequest()
-    {
-        $this->assertInstanceOf('Magento\Core\Controller\Request\Http', $this->_model->getRequest());
-    }
-
-    public function testGetResponse()
-    {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App')->setResponse(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                ->get('Magento\Core\Controller\Response\Http')
-        );
-        if (!\Magento\TestFramework\Helper\Bootstrap::canTestHeaders()) {
-            $this->markTestSkipped('Can\'t test get response without sending headers');
-        }
-        $this->assertInstanceOf('Magento\Core\Controller\Response\Http', $this->_model->getResponse());
-    }
-
-    public function testGetRouter()
-    {
-        $this->assertInstanceOf('Magento\Core\Controller\Varien\Router\DefaultRouter',
-            $this->_model->getRouter('default'));
-    }
-
-    public function testGetRouters()
-    {
-        $routers = $this->_model->getRouters();
-        $routerIds = array_keys($routers);
-        foreach (array('admin', 'standard', 'default', 'cms', 'vde') as $routerId) {
-            $this->assertContains($routerId, $routerIds);
-            $this->assertInstanceOf('Magento\Core\Controller\Varien\Router\AbstractRouter', $routers[$routerId]);
-        }
-    }
-
-    public function testDispatch()
-    {
-        if (!\Magento\TestFramework\Helper\Bootstrap::canTestHeaders()) {
-            $this->markTestSkipped('Cant\'t test dispatch process without sending headers');
-        }
-        $_SERVER['HTTP_HOST'] = 'localhost';
-        /* empty action */
-        $this->_model->getRequest()->setRequestUri('core/index/index');
-        $this->_model->dispatch();
-        $this->assertEmpty($this->_model->getResponse()->getBody());
-    }
-
-    /**
-     * @param string $sourcePath
-     * @param string $resultPath
-     *
-     * @dataProvider applyRewritesDataProvider
-     * @magentoConfigFixture global/rewrite/test_url/from /test\/(\w*)/
-     * @magentoConfigFixture global/rewrite/test_url/to   new_test/$1/subdirectory
-     * @magentoDataFixture Magento/Core/_files/url_rewrite.php
-     * @magentoDbIsolation enabled
-     */
-    public function testApplyRewrites($sourcePath, $resultPath)
-    {
-        /** @var $request \Magento\Core\Controller\Request\Http */
-        $request = $this->_objectManager->create('Magento\Core\Controller\Request\Http');
-        $request->setPathInfo($sourcePath);
-
-        $this->_model->applyRewrites($request);
-        $this->assertEquals($resultPath, $request->getPathInfo());
-    }
-
-    /**
-     * Data provider for testApplyRewrites
-     *
-     * @return array
-     */
-    public function applyRewritesDataProvider()
-    {
-        return array(
-            'url rewrite' => array(
-                '$sourcePath' => '/test_rewrite_path',      // data from fixture
-                '$resultPath' => 'cms/page/view/page_id/1', // data from fixture
-            ),
-            'configuration rewrite' => array(
-                '$sourcePath' => '/test/url/',
-                '$resultPath' => '/new_test/url/subdirectory/',
-            ),
-        );
-    }
-}
diff --git a/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/Router/BaseTest.php b/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/Router/BaseTest.php
index 16398a7666a6c6a8a804b56537ccf76f5e045d3b..88abd65823443f102e3d251c5b44340106b8d753 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/Router/BaseTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/Router/BaseTest.php
@@ -44,7 +44,7 @@ class BaseTest extends \PHPUnit_Framework_TestCase
         $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Controller\Varien\Router\Base', $options);
         $this->_model->setFront(\Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Controller\Varien\Front'));
+            ->create('Magento\App\FrontController'));
     }
 
     public function testFetchDefault()
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/App/AreaTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/App/AreaTest.php
index f0779f4b61e1750b6bfc3ee8a91000186bafdb55..83b11e714320287232ec9ca15b4d3cc9628c6af1 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/App/AreaTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/App/AreaTest.php
@@ -53,10 +53,10 @@ class AreaTest extends \PHPUnit_Framework_TestCase
     public function testInitDesign()
     {
         $defaultTheme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')->setDefaultDesignTheme()->getDesignTheme();
+            ->get('Magento\View\DesignInterface')->setDefaultDesignTheme()->getDesignTheme();
         $this->_model->load(\Magento\Core\Model\App\Area::PART_DESIGN);
         $design = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')
+            ->get('Magento\View\DesignInterface')
             ->setDefaultDesignTheme();
 
         $this->assertEquals($defaultTheme->getThemePath(), $design->getDesignTheme()->getThemePath());
@@ -65,10 +65,10 @@ class AreaTest extends \PHPUnit_Framework_TestCase
         // try second time and make sure it won't load second time
         $this->_model->load(\Magento\Core\Model\App\Area::PART_DESIGN);
         $designArea = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')
+            ->get('Magento\View\DesignInterface')
             ->getArea();
         $sameDesign = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')
+            ->get('Magento\View\DesignInterface')
             ->setArea($designArea);
         $this->assertSame($design, $sameDesign);
     }
@@ -81,10 +81,13 @@ class AreaTest extends \PHPUnit_Framework_TestCase
     // @codingStandardsIgnoreEnd
     public function testDetectDesignUserAgent()
     {
-        $_SERVER['HTTP_USER_AGENT'] = 'Mozilla Firefox';
-        $this->_model->detectDesign(new \Zend_Controller_Request_Http);
+        $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
+        /** @var $request \Magento\TestFramework\Request */
+        $request = $objectManager->create('Magento\TestFramework\Request');
+        $request->setServer(array('HTTP_USER_AGENT' => 'Mozilla Firefox'));
+        $this->_model->detectDesign($request);
         $design = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface');
+            ->get('Magento\View\DesignInterface');
         $this->assertEquals('magento_blank', $design->getDesignTheme()->getThemePath());
     }
 
@@ -96,7 +99,7 @@ class AreaTest extends \PHPUnit_Framework_TestCase
     {
         $this->_model->detectDesign();
         $design = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface');
+            ->get('Magento\View\DesignInterface');
         $this->assertEquals('magento_blank', $design->getDesignTheme()->getThemePath());
     }
 
@@ -111,12 +114,13 @@ class AreaTest extends \PHPUnit_Framework_TestCase
     // @codingStandardsIgnoreEnd
     public function testDetectDesignNonFrontend()
     {
-        $_SERVER['HTTP_USER_AGENT'] = 'Mozilla Firefox';
-        $model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\App\Area', array('areaCode' => 'install'));
-        $model->detectDesign(new \Zend_Controller_Request_Http);
-        $design = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface');
+        $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
+        $model = $objectManager->create('Magento\Core\Model\App\Area', array('areaCode' => 'install'));
+        /** @var $request \Magento\TestFramework\Request */
+        $request = $objectManager->create('Magento\TestFramework\Request');
+        $request->setServer(array('HTTP_USER_AGENT' => 'Mozilla Firefox'));
+        $model->detectDesign($request);
+        $design = $objectManager->get('Magento\View\DesignInterface');
         $this->assertNotEquals('magento_blank', $design->getDesignTheme()->getThemePath());
     }
 }
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/App/EmulationTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/App/EmulationTest.php
index f09b465e588f989dded180667e36fcee57e69520..b2058b098ced1917fa47c265a7afccf3ab64268a 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/App/EmulationTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/App/EmulationTest.php
@@ -43,7 +43,7 @@ class EmulationTest extends \PHPUnit_Framework_TestCase
         $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Model\App\Emulation');
         $design = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')
+            ->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
 
         $initialEnvInfo = $this->_model->startEnvironmentEmulation(1);
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/AppTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/AppTest.php
index 8b9bc4b96d5b2a540a5ee064ba28299a33b5eebe..79a25264228d9655884a9de995bdfed77b4f43a5 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/AppTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/AppTest.php
@@ -133,7 +133,8 @@ class AppTest extends \PHPUnit_Framework_TestCase
     public function testGetSafeNotExistingStore()
     {
         $this->_mageModel->getSafeStore(100);
-        $this->assertEquals('noRoute', $this->_mageModel->getRequest()->getActionName());
+        $request = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Request\Http');
+        $this->assertEquals('noRoute', $request->getActionName());
     }
 
     public function testGetStores()
@@ -194,7 +195,7 @@ class AppTest extends \PHPUnit_Framework_TestCase
     public function testGetFrontController()
     {
         $front = $this->_mageModel->getFrontController();
-        $this->assertInstanceOf('Magento\Core\Controller\Varien\Front', $front);
+        $this->assertInstanceOf('Magento\App\FrontController', $front);
         $this->assertSame($front, $this->_mageModel->getFrontController());
     }
 
@@ -230,7 +231,7 @@ class AppTest extends \PHPUnit_Framework_TestCase
 
     public function testSetGetRequest()
     {
-        $this->assertInstanceOf('Magento\Core\Controller\Request\Http', $this->_model->getRequest());
+        $this->assertInstanceOf('Magento\App\RequestInterface', $this->_model->getRequest());
         /** @var $objectManager \Magento\TestFramework\ObjectManager */
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         /** @var $request \Magento\TestFramework\Request */
@@ -242,8 +243,8 @@ class AppTest extends \PHPUnit_Framework_TestCase
     public function testSetGetResponse()
     {
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Controller\Response\Http')->headersSentThrowsException = false;
-        $this->assertInstanceOf('Magento\Core\Controller\Response\Http', $this->_model->getResponse());
+            ->get('Magento\App\ResponseInterface')->headersSentThrowsException = false;
+        $this->assertInstanceOf('Magento\App\ResponseInterface', $this->_model->getResponse());
         $expectedHeader = array(
             'name' => 'Content-Type',
             'value' => 'text/html; charset=UTF-8',
@@ -251,7 +252,7 @@ class AppTest extends \PHPUnit_Framework_TestCase
         );
         $this->assertContains($expectedHeader, $this->_model->getResponse()->getHeaders());
         $response = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\TestFramework\Response');
+            ->create('Magento\App\ResponseInterface');
         $this->_model->setResponse($response);
         $this->assertSame($response, $this->_model->getResponse());
         $this->assertEmpty($this->_model->getResponse()->getHeaders());
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/ConfigTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/ConfigTest.php
index 6929f53db974f7822eca8002877bc2dd79ba7926..9ebd892ee59a276d27374d8a17466f40dec1fad2 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/ConfigTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/ConfigTest.php
@@ -109,38 +109,4 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
             ->create('Magento\Core\Model\Config', $arguments);
         return $model;
     }
-
-    /**
-     * @magentoAppIsolation enabled
-     * @expectedException \InvalidArgumentException
-     */
-    public function testGetAreaConfigThrowsExceptionIfNonexistentAreaIsRequested()
-    {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App')->getConfig()
-            ->getAreaConfig('non_existent_area_code');
-    }
-
-    /**
-     * Check if areas loaded correctly from configuration
-     */
-    public function testGetAreas()
-    {
-        $this->markTestIncomplete('MAGETWO-6406');
-        $model = $this->_createModel(array('sourceData' => __DIR__ . '/../_files/etc/config.xml'));
-
-        $allowedAreas = $model->getAreas();
-        $this->assertNotEmpty($allowedAreas, 'Areas are not initialized');
-
-        $this->assertArrayHasKey('test_area1', $allowedAreas, 'Test area #1 is not loaded');
-
-        $testAreaExpected = array(
-            'areaNode' => 'value',
-        );
-        $this->assertEquals($testAreaExpected, $allowedAreas['test_area1'], 'Test area is not loaded correctly');
-
-        $this->assertArrayNotHasKey('test_area2', $allowedAreas, 'Test area #2 is loaded by mistake');
-        $this->assertArrayNotHasKey('test_area3', $allowedAreas, 'Test area #3 is loaded by mistake');
-        $this->assertArrayNotHasKey('test_area4', $allowedAreas, 'Test area #4 is loaded by mistake');
-        $this->assertArrayNotHasKey('test_area5', $allowedAreas, 'Test area #5 is loaded by mistake');
-    }
 }
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/DataService/ConfigTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/DataService/ConfigTest.php
index 15b8dc845b3b15bd2604ddb1d39af67554f897b4..b263985bdf9dc55614bab184d00cb4d2d6b7874e 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/DataService/ConfigTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/DataService/ConfigTest.php
@@ -35,26 +35,26 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        /** @var \Magento\Core\Model\Dir $dirs */
+        /** @var \Magento\App\Dir $dirs */
         $dirs = $objectManager->create(
-            'Magento\Core\Model\Dir',
+            'Magento\App\Dir',
             array(
                 'baseDir' => BP,
                 'dirs' => array(
-                    \Magento\Core\Model\Dir::MODULES => __DIR__ . '/LayoutTest',
-                    \Magento\Core\Model\Dir::CONFIG => __DIR__ . '/LayoutTest',
+                    \Magento\App\Dir::MODULES => __DIR__ . '/LayoutTest',
+                    \Magento\App\Dir::CONFIG => __DIR__ . '/LayoutTest',
                 )
             )
         );
 
         $moduleList = $objectManager->create(
-            'Magento\Core\Model\ModuleList',
+            'Magento\App\ModuleList',
             array(
                 'reader' => $objectManager->create(
-                    'Magento\Core\Model\Module\Declaration\Reader\Filesystem',
+                    'Magento\App\Module\Declaration\Reader\Filesystem',
                     array(
                         'fileResolver' => $objectManager->create(
-                            'Magento\Core\Model\Module\Declaration\FileResolver',
+                            'Magento\App\Module\Declaration\FileResolver',
                             array(
                                 'applicationDirs' => $dirs
                             )
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/DataService/LayoutTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/DataService/LayoutTest.php
index 3498e4f850104db7b3023bbb82a876aa2058db09..0fa7ef0c086e485b9e4620ee8ec9aecae665c236 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/DataService/LayoutTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/DataService/LayoutTest.php
@@ -72,7 +72,7 @@ class LayoutTest extends \Magento\TestFramework\TestCase\AbstractController
      */
     public function testServiceCalls()
     {
-        /** @var \Magento\Core\Model\Layout $layout */
+        /** @var \Magento\View\LayoutInterface $layout */
         $layout = $this->_getLayoutModel('layout_update.xml');
         $serviceCalls = $layout->getServiceCalls();
         $expectedServiceCalls = array(
@@ -99,16 +99,16 @@ class LayoutTest extends \Magento\TestFramework\TestCase\AbstractController
      *
      * @param string $fixtureFile
      *
-     * @return \Magento\Core\Model\Layout
+     * @return \Magento\View\LayoutInterface
      */
     protected function _getLayoutModel($fixtureFile)
     {
         /** @var $layout \Magento\Core\Model\Layout */
         $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
-            'Magento\Core\Model\Layout',
+            'Magento\View\LayoutInterface',
             array('dataServiceGraph' => $this->_dataServiceGraph)
         );
-        $xml = simplexml_load_file(__DIR__ . "/LayoutTest/{$fixtureFile}", 'Magento\Core\Model\Layout\Element');
+        $xml = simplexml_load_file(__DIR__ . "/LayoutTest/{$fixtureFile}", 'Magento\View\Layout\Element');
         $layout->setXml($xml);
         $layout->generateElements();
         return $layout;
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Design/FileResolution/Strategy/FallbackTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Design/FileResolution/Strategy/FallbackTest.php
index 0ddfa1568eb8d62c19a07783969a58a8dc932215..f54b9c6658f40d973c79063673e442696dfbeb24 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Design/FileResolution/Strategy/FallbackTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Design/FileResolution/Strategy/FallbackTest.php
@@ -53,10 +53,10 @@ class FallbackTest extends \PHPUnit_Framework_TestCase
     protected function _buildModel()
     {
         // Prepare config with directories
-        $dirs = new \Magento\Core\Model\Dir(
+        $dirs = new \Magento\App\Dir(
             $this->_baseDir,
             array(),
-            array(\Magento\Core\Model\Dir::THEMES => $this->_viewDir)
+            array(\Magento\App\Dir::THEMES => $this->_viewDir)
         );
 
         return \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/DesignTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/DesignTest.php
index f38f76f92f587c80b6897946796d619795f93ce3..36ca0d661f28f921fbb5acb6ab9409ccf536e3ce 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/DesignTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/DesignTest.php
@@ -52,7 +52,7 @@ class DesignTest extends \PHPUnit_Framework_TestCase
     public function testChangeDesign()
     {
         $design = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\View\DesignInterface');
+            ->create('Magento\View\DesignInterface');
         $storeId = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->get('Magento\Core\Model\StoreManagerInterface')->getAnyStoreView()->getId(); // fixture design_change
         $designChange = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Email/Template/FilterTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Email/Template/FilterTest.php
index a0c45563feb93ba6fb7f61354926e5ba1f113a99..764228b32bf583dd223585d4ea4d574e51db8f7d 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Email/Template/FilterTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Email/Template/FilterTest.php
@@ -110,7 +110,7 @@ class FilterTest extends \PHPUnit_Framework_TestCase
     {
         \Magento\TestFramework\Helper\Bootstrap::getInstance()->reinitialize(array(
             \Magento\Core\Model\App::PARAM_APP_DIRS => array(
-                \Magento\Core\Model\Dir::THEMES => dirname(__DIR__) . '/_files/design'
+                \Magento\App\Dir::THEMES => dirname(__DIR__) . '/_files/design'
             )
         ));
 
@@ -132,9 +132,9 @@ class FilterTest extends \PHPUnit_Framework_TestCase
         $this->assertEquals($area, $layout->getArea());
         $this->assertEquals(
             $area,
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')->getArea()
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')->getArea()
         );
-        $objectManager->get('Magento\Core\Model\View\DesignInterface')->setDesignTheme('test_default');
+        $objectManager->get('Magento\View\DesignInterface')->setDesignTheme('test_default');
 
         $actualOutput = $this->_model->layoutDirective(array(
             '{{layout ' . $directiveParams . '}}',
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Email/TemplateTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Email/TemplateTest.php
index 47c3d2ab4e479e8447832c16a534984ba5fff5b6..2acf244ac57608247cf1a37c2276643770223c7b 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Email/TemplateTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Email/TemplateTest.php
@@ -54,12 +54,12 @@ class TemplateTest extends \PHPUnit_Framework_TestCase
                 $objectManager->create('Magento\Filesystem'),
                 $objectManager->create('Magento\Core\Model\View\Url'),
                 $objectManager->create('Magento\Core\Model\View\FileSystem'),
-                $objectManager->get('Magento\Core\Model\View\DesignInterface'),
+                $objectManager->get('Magento\View\DesignInterface'),
                 $objectManager->create('Magento\Core\Model\Store\Config'),
                 $objectManager->create('Magento\Core\Model\Config'),
                 $objectManager->get('Magento\Core\Model\Email\Template\FilterFactory'),
                 $objectManager->get('Magento\Core\Model\StoreManager'),
-                $objectManager->get('Magento\Core\Model\Dir'),
+                $objectManager->get('Magento\App\Dir'),
                 $objectManager->get('Magento\Core\Model\Email\Template\Config'),
             ))
             ->getMock();
@@ -130,7 +130,7 @@ class TemplateTest extends \PHPUnit_Framework_TestCase
     protected function _setBlankThemeForFixtureStore()
     {
         $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Theme');
+            ->create('Magento\View\Design\ThemeInterface');
         $theme->load('magento_blank', 'theme_path');
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\StoreManagerInterface')
             ->getStore('fixturestore')->setConfig(\Magento\Core\Model\View\Design::XML_PATH_THEME_ID, $theme->getId());
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Fieldset/Config/ReaderTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Fieldset/Config/ReaderTest.php
index 97ab144100753466dab084d0a312a5cd5e0e10ea..d5fb8fa0347d9534805c0e5a496a3e2868e15f4a 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Fieldset/Config/ReaderTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Fieldset/Config/ReaderTest.php
@@ -38,35 +38,35 @@ class ReaderTest extends \PHPUnit_Framework_TestCase
     public function setUp()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        /** @var \Magento\Core\Model\Dir $dirs */
+        /** @var \Magento\App\Dir $dirs */
         $dirs = $objectManager->create(
-            'Magento\Core\Model\Dir', array(
+            'Magento\App\Dir', array(
                 'baseDir' => BP,
                 'dirs' => array(
-                    \Magento\Core\Model\Dir::MODULES => __DIR__ . '/_files',
-                    \Magento\Core\Model\Dir::CONFIG => __DIR__ . '/_files'
+                    \Magento\App\Dir::MODULES => __DIR__ . '/_files',
+                    \Magento\App\Dir::CONFIG => __DIR__ . '/_files'
                 )
             )
         );
 
-        /** @var \Magento\Core\Model\Module\Declaration\FileResolver $modulesDeclarations */
+        /** @var \Magento\App\Module\Declaration\FileResolver $modulesDeclarations */
         $modulesDeclarations = $objectManager->create(
-            'Magento\Core\Model\Module\Declaration\FileResolver', array(
+            'Magento\App\Module\Declaration\FileResolver', array(
                 'applicationDirs' => $dirs,
             )
         );
 
 
-        /** @var \Magento\Core\Model\Module\Declaration\Reader\Filesystem $filesystemReader */
+        /** @var \Magento\App\Module\Declaration\Reader\Filesystem $filesystemReader */
         $filesystemReader = $objectManager->create(
-            'Magento\Core\Model\Module\Declaration\Reader\Filesystem', array(
+            'Magento\App\Module\Declaration\Reader\Filesystem', array(
                 'fileResolver' => $modulesDeclarations,
             )
         );
 
-        /** @var \Magento\Core\Model\ModuleList $modulesList */
+        /** @var \Magento\App\ModuleList $modulesList */
         $modulesList = $objectManager->create(
-            'Magento\Core\Model\ModuleList', array(
+            'Magento\App\ModuleList', array(
                 'reader' => $filesystemReader,
             )
         );
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/File/StorageTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/File/StorageTest.php
index 6dbb64fd282d777cb27e65effbc43489b33ca1fa..1983ea3d31496508546de1e5606d67186aba2900 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/File/StorageTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/File/StorageTest.php
@@ -43,7 +43,7 @@ class StorageTest extends \PHPUnit_Framework_TestCase
         $this->assertArrayHasKey('allowed_resources', $config);
         $this->assertArrayHasKey('update_time', $config);
         $this->assertEquals(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')->getDir('media'),
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')->getDir('media'),
             $config['media_directory']
         );
         $this->assertInternalType('array', $config['allowed_resources']);
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/LayoutDirectivesTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/LayoutDirectivesTest.php
index bd69daa7bd02be9a18b44d170b9793b53189cb00..28fd7f0383c522c8bd93a6391aa3662cf58f44f2 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/LayoutDirectivesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/LayoutDirectivesTest.php
@@ -241,16 +241,16 @@ class LayoutDirectivesTest extends \PHPUnit_Framework_TestCase
      * Prepare a layout model with pre-loaded fixture of an update XML
      *
      * @param string $fixtureFile
-     * @return \Magento\Core\Model\Layout
+     * @return \Magento\View\LayoutInterface
      */
     protected function _getLayoutModel($fixtureFile)
     {
-        /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
-        /** @var $xml \Magento\Core\Model\Layout\Element */
+        /** @var $layout \Magento\View\LayoutInterface */
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
+        /** @var $xml \Magento\View\Layout\Element */
         $xml = simplexml_load_file(
             __DIR__ . "/_files/layout_directives_test/{$fixtureFile}",
-            'Magento\Core\Model\Layout\Element'
+            'Magento\View\Layout\Element'
         );
         $layout->loadString($xml->asXml());
         $layout->generateElements();
@@ -264,8 +264,8 @@ class LayoutDirectivesTest extends \PHPUnit_Framework_TestCase
     {
         $layout = $this->_getLayoutModel('ifconfig.xml');
         $this->assertFalse($layout->getBlock('block1'));
-        $this->assertInstanceOf('Magento\Core\Block', $layout->getBlock('block2'));
-        $this->assertInstanceOf('Magento\Core\Block', $layout->getBlock('block3'));
+        $this->assertInstanceOf('Magento\View\Element\BlockInterface', $layout->getBlock('block2'));
+        $this->assertInstanceOf('Magento\View\Element\BlockInterface', $layout->getBlock('block3'));
         $this->assertFalse($layout->getBlock('block4'));
     }
 }
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/LayoutTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/LayoutTest.php
index cca25c92aee51bfdbf2b0064ef9683ef27146bf7..3b12498494f95a64af2c04e2e2762d7c5ea9eb6b 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/LayoutTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/LayoutTest.php
@@ -61,7 +61,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
     public function constructorDataProvider()
     {
         return array(
-            'default area'  => array(array(), \Magento\Core\Model\View\DesignInterface::DEFAULT_AREA),
+            'default area'  => array(array(), \Magento\View\DesignInterface::DEFAULT_AREA),
             'frontend area' => array(array('area' => 'frontend'), 'frontend'),
             'backend area'  => array(array('area' => 'adminhtml'), 'adminhtml'),
         );
@@ -90,14 +90,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
 
     public function testGetUpdate()
     {
-        $this->assertInstanceOf('Magento\Core\Model\Layout\Merge', $this->_layout->getUpdate());
-    }
-
-    public function testGetSetDirectOutput()
-    {
-        $this->assertFalse($this->_layout->isDirectOutput());
-        $this->_layout->setDirectOutput(true);
-        $this->assertTrue($this->_layout->isDirectOutput());
+        $this->assertInstanceOf('Magento\View\Layout\ProcessorInterface', $this->_layout->getUpdate());
     }
 
     public function testGenerateXml()
@@ -109,7 +102,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
         $merge = $this->getMock('StdClass', array('asSimplexml'));
         $merge->expects($this->once())->method('asSimplexml')->will($this->returnValue(simplexml_load_string(
             '<layout><container name="container1"></container></layout>',
-            'Magento\Core\Model\Layout\Element'
+            'Magento\View\Layout\Element'
         )));
         $layout->expects($this->once())->method('getUpdate')->will($this->returnValue($merge));
         $this->assertEmpty($layout->getXpath('/layout/container[@name="container1"]'));
@@ -134,7 +127,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
                 <block class="Magento\Core\Block\Text" template="test"/>
                 <block class="Magento\Core\Block\Text"/>
             </layout>',
-            'Magento\Core\Model\Layout\Element'
+            'Magento\View\Layout\Element'
         ));
         $this->assertEquals(array(), $this->_layout->getAllBlocks());
         $this->_layout->generateElements();
@@ -492,7 +485,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
     public function testUpdateContainerAttributes()
     {
         $this->_layout->setXml(simplexml_load_file(__DIR__ . '/_files/layout/container_attributes.xml',
-            'Magento\Core\Model\Layout\Element'));
+            'Magento\View\Layout\Element'));
         $this->_layout->generateElements();
         $result = $this->_layout->renderElement('container1', false);
         $this->assertEquals('<div id="container1-2" class="class12">Test11Test12</div>', $result);
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Page/Asset/MergedTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Page/Asset/MergedTest.php
index ac3e6a38ed52447c28ac4ba6f41ee40ac0691da0..ac5cb3c194493972dde2a060834d3e963be985c1 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Page/Asset/MergedTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Page/Asset/MergedTest.php
@@ -50,9 +50,9 @@ class MergedTest extends \PHPUnit_Framework_TestCase
         $service = $objectManager->get('Magento\Core\Model\View\Service');
         self::$_themePublicDir = $service->getPublicDir();
 
-        /** @var \Magento\Core\Model\Dir $dirs */
-        $dirs = $objectManager->get('Magento\Core\Model\Dir');
-        self::$_viewPublicMergedDir = $dirs->getDir(\Magento\Core\Model\Dir::PUB_VIEW_CACHE)
+        /** @var \Magento\App\Dir $dirs */
+        $dirs = $objectManager->get('Magento\App\Dir');
+        self::$_viewPublicMergedDir = $dirs->getDir(\Magento\App\Dir::PUB_VIEW_CACHE)
             . DIRECTORY_SEPARATOR . \Magento\Core\Model\Page\Asset\Merged::PUBLIC_MERGE_DIR;
     }
 
@@ -60,10 +60,10 @@ class MergedTest extends \PHPUnit_Framework_TestCase
     {
         \Magento\TestFramework\Helper\Bootstrap::getInstance()->reinitialize(array(
             \Magento\Core\Model\App::PARAM_APP_DIRS => array(
-                \Magento\Core\Model\Dir::THEMES => realpath(__DIR__ . '/../../_files/design')
+                \Magento\App\Dir::THEMES => realpath(__DIR__ . '/../../_files/design')
             )
         ));
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setDesignTheme('vendor_default');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Resource/Db/Collection/AbstractTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Resource/Db/Collection/AbstractTest.php
index 1512b8c39830aa374da0fc522e507ce7e6709ebd..45bf587ab517b6791ef06585af2773e64a7e7307 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Resource/Db/Collection/AbstractTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Resource/Db/Collection/AbstractTest.php
@@ -49,7 +49,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
         $fetchStrategy = $this->getMockForAbstractClass('Magento\Data\Collection\Db\FetchStrategyInterface');
 
         $eventManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\Event\Manager');
+            ->get('Magento\Event\ManagerInterface');
 
         $entityFactory = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->get('Magento\Core\Model\EntityFactory');
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Resource/Layout/UpdateTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Resource/Layout/UpdateTest.php
index 953257a412ab6832056d3a3ec50c5ca17769f5c4..b162843675203175a4bf49fd2d4d87705de942a8 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Resource/Layout/UpdateTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Resource/Layout/UpdateTest.php
@@ -45,9 +45,9 @@ class UpdateTest extends \PHPUnit_Framework_TestCase
      */
     public function testFetchUpdatesByHandle()
     {
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Theme');
+            ->create('Magento\View\Design\ThemeInterface');
         $theme->load('Test Theme', 'theme_title');
         $result = $this->_resourceModel->fetchUpdatesByHandle(
             'test_handle',
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Resource/SetupTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Resource/SetupTest.php
index ba1e57e878ecd39ab12cd0280a14594318f41258..212d4cfcba02d3b56727ea1c8d78e9c9e94d8168 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Resource/SetupTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Resource/SetupTest.php
@@ -58,8 +58,8 @@ class SetupTest extends \PHPUnit_Framework_TestCase
         $this->_model->deleteTableRow('core_resource', 'code', 'adminnotification_setup');
         $this->_model->getConnection()->dropTable($this->_model->getTable('adminnotification_inbox'));
         $this->_model->getConnection()->dropTable($this->_model->getTable('admin_system_messages'));
-        /** @var $updater \Magento\Core\Model\Db\Updater */
-        $updater = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Db\Updater');
+        /** @var $updater \Magento\App\Updater */
+        $updater = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Updater');
         try {
             $updater->updateScheme();
             $updater->updateData();
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Resource/Theme/CollectionTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Resource/Theme/CollectionTest.php
index df3e218aa50463d0440e72b2da5d6ae50298828a..7fe2d3e9a3c75e358aab82474c284ab5410695b4 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Resource/Theme/CollectionTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Resource/Theme/CollectionTest.php
@@ -66,7 +66,7 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
     {
         $themeCollection = self::_getThemesCollection();
         $hasFound = false;
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($themeCollection as $theme) {
             if ($theme->getFullPath() == $fullPath) {
                 $hasFound = true;
@@ -164,7 +164,7 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
             ->create('Magento\Core\Model\Resource\Theme\Collection');
         $themeCollection->addAreaFilter('test_area3')->filterVisibleThemes();
         $this->assertCount(2, $themeCollection);
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($themeCollection as $theme) {
             $this->assertTrue(in_array(
                 $theme->getType(),
@@ -211,9 +211,9 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
         $themeCollection = self::_getThemesCollection();
         $themeCollection->load();
         foreach (self::getThemeList() as $themeData) {
-            /** @var $themeModel \Magento\Core\Model\Theme */
+            /** @var $themeModel \Magento\View\Design\ThemeInterface */
             $themeModel = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                ->create('Magento\Core\Model\Theme');
+                ->create('Magento\View\Design\ThemeInterface');
             $themeModel->setData($themeData);
             $themeCollection->addItem($themeModel);
         }
@@ -228,9 +228,9 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
         $fixture = self::getInheritedThemeList();
         $idByPath = array();
         foreach ($fixture as $themeData) {
-            /** @var $themeModel \Magento\Core\Model\Theme */
+            /** @var $themeModel \Magento\View\Design\ThemeInterface */
             $themeModel = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                ->create('Magento\Core\Model\Theme');
+                ->create('Magento\View\Design\ThemeInterface');
             $themeModel->setData($themeData);
 
             if ($themeData['parent_id'] && isset($idByPath[$themeData['parent_id']])) {
@@ -373,7 +373,7 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
             \Magento\Core\Model\Resource\Theme\Collection::DEFAULT_PAGE_SIZE, $collection->count()
         );
 
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($collection as $theme) {
             $this->assertEquals(\Magento\Core\Model\App\Area::AREA_FRONTEND, $theme->getArea());
             $this->assertEquals(\Magento\Core\Model\Theme::TYPE_PHYSICAL, $theme->getType());
@@ -389,7 +389,7 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
 
         $this->assertGreaterThan(0, $collection->count());
 
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($collection as $theme) {
             $this->assertEquals(\Magento\Core\Model\App\Area::AREA_FRONTEND, $theme->getArea());
             $this->assertEquals(\Magento\Core\Model\Theme::TYPE_PHYSICAL, $theme->getType());
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/RouterListTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/RouterListTest.php
index 96792dccdeaf277332087228401c378314b4f592..9ec1794ff60ec5a507d412f776a70fe36f6a8d76 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/RouterListTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/RouterListTest.php
@@ -32,14 +32,14 @@ class RouterListTest extends \PHPUnit_Framework_TestCase
     protected $_objectManager;
 
     /**
-     * @var \Magento\Core\Model\RouterList
+     * @var \Magento\App\RouterList
      */
     protected $_model;
 
     protected function setUp()
     {
         $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $this->_model = $this->_objectManager->create('Magento\Core\Model\RouterList');
+        $this->_model = $this->_objectManager->create('Magento\App\RouterList');
     }
 
     public function testGetRouterByRoute()
@@ -53,7 +53,7 @@ class RouterListTest extends \PHPUnit_Framework_TestCase
             $this->_model->getRouterByRoute('checkout')
         );
         $this->assertInstanceOf(
-            'Magento\Core\Controller\Varien\Router\DefaultRouter',
+            'Magento\App\Router\DefaultRouter',
             $this->_model->getRouterByRoute('test')
         );
     }
@@ -69,7 +69,7 @@ class RouterListTest extends \PHPUnit_Framework_TestCase
             $this->_model->getRouterByFrontName('checkout')
         );
         $this->assertInstanceOf(
-            'Magento\Core\Controller\Varien\Router\DefaultRouter',
+            'Magento\App\Router\DefaultRouter',
             $this->_model->getRouterByFrontName('test')
         );
     }
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Session/AbstractTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Session/AbstractTest.php
index 587727bbdc11064a17be18c9dd955a6fe94fe845..8ece7e703e98b17cc662b56d04751be1186c4a50 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Session/AbstractTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Session/AbstractTest.php
@@ -168,7 +168,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
     public function testGetSessionSavePath()
     {
         $this->assertEquals(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
                 ->getDir('session'),
             $this->_model->getSessionSavePath()
         );
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/StoreTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/StoreTest.php
index 9bfe852111882c24df8ca3435f44b5162e73a8e1..67a77b2f975f8ce2357366a78ecaaacd99a8633c 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/StoreTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/StoreTest.php
@@ -56,10 +56,10 @@ class StoreTest extends \PHPUnit_Framework_TestCase
             'registry'                => $objectManager->get('Magento\Core\Model\Registry'),
             'configCacheType'         => $objectManager->get('Magento\Core\Model\Cache\Type\Config'),
             'url'                     => $objectManager->get('Magento\Core\Model\Url'),
-            'appState'                => $objectManager->get('Magento\Core\Model\App\State'),
-            'request'                 => $objectManager->get('Magento\Core\Controller\Request\Http'),
+            'appState'                => $objectManager->get('Magento\App\State'),
+            'request'                 => $objectManager->get('Magento\App\RequestInterface'),
             'configDataResource'      => $objectManager->get('Magento\Core\Model\Resource\Config\Data'),
-            'dir'                     => $objectManager->get('Magento\Core\Model\Dir'),
+            'dir'                     => $objectManager->get('Magento\App\Dir'),
             'coreStoreConfig'         => $objectManager->get('Magento\Core\Model\Store\Config'),
             'coreConfig'              => $objectManager->get('Magento\Core\Model\Config'),
             'resource'                => $objectManager->get('Magento\Core\Model\Resource\Store'),
@@ -198,7 +198,7 @@ class StoreTest extends \PHPUnit_Framework_TestCase
     public function testGetBaseUrlInPub()
     {
         \Magento\TestFramework\Helper\Bootstrap::getInstance()->reinitialize(array(
-            \Magento\Core\Model\App::PARAM_APP_URIS => array(\Magento\Core\Model\Dir::PUB => '')
+            \Magento\Core\Model\App::PARAM_APP_URIS => array(\Magento\App\Dir::PUB => '')
         ));
         $this->_model = $this->_getStoreModel();
         $this->_model->load('default');
@@ -371,7 +371,7 @@ class StoreTest extends \PHPUnit_Framework_TestCase
      */
     public function testIsUseStoreInUrl($isInstalled, $storeInUrl, $storeId, $expectedResult)
     {
-        $appStateMock = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false, false);
+        $appStateMock = $this->getMock('Magento\App\State', array(), array(), '', false, false);
         $appStateMock->expects($this->any())
             ->method('isInstalled')
             ->will($this->returnValue($isInstalled));
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/TemplateEngine/TwigTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/TemplateEngine/TwigTest.php
deleted file mode 100644
index 042889e605306662c449b800063c1f6713cfbbda..0000000000000000000000000000000000000000
--- a/dev/tests/integration/testsuite/Magento/Core/Model/TemplateEngine/TwigTest.php
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * Integration test of twig engine and classes it calls.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\TemplateEngine;
-
-class TwigTest extends \PHPUnit_Framework_TestCase
-{
-    /** @var  \Magento\Core\Model\TemplateEngine\Twig */
-    protected $_twigEngine;
-
-    /**
-     * @var \Magento\TestFramework\ObjectManager
-     */
-    protected $_objectManager;
-
-    /**
-     * Create a Twig template engine to test.
-     */
-    protected function setUp()
-    {
-        $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App')->loadAreaPart(
-            \Magento\Core\Model\App\Area::AREA_GLOBAL,
-            \Magento\Core\Model\App\Area::PART_CONFIG
-        );
-        $this->_twigEngine = $this->_objectManager->create('Magento\Core\Model\TemplateEngine\Twig');
-    }
-
-    /**
-     * Render a twig file using the Magento Twig Template Engine.
-     *
-     * @param \Magento\Core\Block\Template $block
-     * @param $fileName
-     * @param array $dictionary
-     * @return string
-     */
-    public function render(\Magento\Core\Block\Template $block, $fileName, array $dictionary = array())
-    {
-        return $this->_twigEngine->render($block, $fileName, $dictionary);
-    }
-
-    /**
-     * Test the render() function with a very simple .twig file.
-     *
-     * Template will include a title taken from the dictionary passed in.
-     */
-    public function testSimpleRender()
-    {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App')
-            ->loadAreaPart(\Magento\Core\Model\App\Area::AREA_FRONTEND, \Magento\Core\Model\App\Area::PART_DESIGN);
-        $simpleTitle = 'This is the Title';
-        $renderedOutput = '<html><head><title>' . $simpleTitle . '</title></head><body></body></html>';
-        $path = __DIR__ . '/_files';
-        $blockMock = $this->getMockBuilder('Magento\Core\Block\Template')
-            ->disableOriginalConstructor()->getMock();
-
-        $dictionary = array(
-            'simple' => array(
-                'title' => $simpleTitle
-            )
-        );
-
-        $actualOutput = $this->render($blockMock, $path . '/simple.twig', $dictionary);
-        $this->assertSame($renderedOutput, $actualOutput, 'Twig file did not render properly');
-    }
-}
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Theme/CollectionTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Theme/CollectionTest.php
index 2697208aa04e699096b15e068843662f4c73d1fd..1ce3c36f9d430186e9fb97dbe821307fe9e41498 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Theme/CollectionTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Theme/CollectionTest.php
@@ -100,8 +100,9 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
      */
     public function testHasThemeInCollection()
     {
-        /** @var $themeModel \Magento\Core\Model\Theme */
-        $themeModel = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\Core\Model\Theme');
+        /** @var $themeModel \Magento\View\Design\ThemeInterface */
+        $themeModel = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->create('Magento\View\Design\ThemeInterface');
         $themeModel->setData(array(
             'area'                 => 'space_area',
             'theme_title'          => 'Space theme',
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Theme/Domain/VirtualTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Theme/Domain/VirtualTest.php
index 0df5b7283c3245492787531fcf4b19f24ffb3083..033c0269fd6f2fbe4f9690b6a41e9e6f540dc5f7 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Theme/Domain/VirtualTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Theme/Domain/VirtualTest.php
@@ -76,22 +76,22 @@ class VirtualTest extends \PHPUnit_Framework_TestCase
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         //1. set up fixture
-        /** @var $physicalTheme \Magento\Core\Model\Theme */
-        $physicalTheme = $objectManager->create('Magento\Core\Model\Theme');
+        /** @var $physicalTheme \Magento\View\Design\ThemeInterface */
+        $physicalTheme = $objectManager->create('Magento\View\Design\ThemeInterface');
         $physicalTheme->setData($this->_themes['physical']);
         $physicalTheme->save();
 
         $this->_themes['virtual']['parent_id'] = $physicalTheme->getId();
 
-        /** @var $virtualTheme \Magento\Core\Model\Theme */
-        $virtualTheme = $objectManager->create('Magento\Core\Model\Theme');
+        /** @var $virtualTheme \Magento\View\Design\ThemeInterface */
+        $virtualTheme = $objectManager->create('Magento\View\Design\ThemeInterface');
         $virtualTheme->setData($this->_themes['virtual']);
         $virtualTheme->save();
 
         $this->_themes['staging']['parent_id'] = $virtualTheme->getId();
 
-        /** @var $stagingTheme \Magento\Core\Model\Theme */
-        $stagingTheme = $objectManager->create('Magento\Core\Model\Theme');
+        /** @var $stagingTheme \Magento\View\Design\ThemeInterface */
+        $stagingTheme = $objectManager->create('Magento\View\Design\ThemeInterface');
         $stagingTheme->setData($this->_themes['staging']);
         $stagingTheme->save();
 
@@ -99,8 +99,8 @@ class VirtualTest extends \PHPUnit_Framework_TestCase
         $this->_virtualThemeId = $virtualTheme->getId();
 
         //2. run test
-        /** @var $virtualTheme \Magento\Core\Model\Theme */
-        $virtualTheme = $objectManager->create('Magento\Core\Model\Theme');
+        /** @var $virtualTheme \Magento\View\Design\ThemeInterface */
+        $virtualTheme = $objectManager->create('Magento\View\Design\ThemeInterface');
         $virtualTheme->load($this->_virtualThemeId);
 
         $this->assertEquals(
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Theme/FileTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Theme/FileTest.php
index 5e7ba08f5bc6634db6120985e8523bbf340ce257..e1b29abae7e02e93369b1c67095f8f3913f99df9 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Theme/FileTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Theme/FileTest.php
@@ -48,8 +48,8 @@ class FileTest extends \PHPUnit_Framework_TestCase
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $this->_model = $objectManager->create('Magento\Core\Model\Theme\File');
-        /** @var $themeModel \Magento\Core\Model\Theme */
-        $themeModel = $objectManager->create('Magento\Core\Model\Theme');
+        /** @var $themeModel \Magento\View\Design\ThemeInterface */
+        $themeModel = $objectManager->create('Magento\View\Design\ThemeInterface');
         $this->_theme = $themeModel->getCollection()->getFirstItem();
         $this->_data = array(
             'file_path' => 'main.css',
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Theme/RegistrationTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Theme/RegistrationTest.php
index 5337d11c2cbf3d3984d79e14614ae4a2e10330b6..2219338ebdf32b826db44d8b6fd5f7ee064bf727 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Theme/RegistrationTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Theme/RegistrationTest.php
@@ -45,7 +45,7 @@ class RegistrationTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Theme');
+            ->create('Magento\View\Design\ThemeInterface');
         $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Model\Theme\Registration', array('theme' => $this->_theme));
     }
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Theme/ValidatorTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Theme/ValidatorTest.php
index f50968d1164bcff36ac60df8d71727ca25124a01..87590dab8c6ac9e56ef21746a1b48e4bb1f3b922 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Theme/ValidatorTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Theme/ValidatorTest.php
@@ -70,7 +70,7 @@ class ValidatorTest extends \PHPUnit_Framework_TestCase
     protected function _getThemeModel()
     {
         return \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Theme');
+            ->create('Magento\View\Design\ThemeInterface');
     }
 
     /**
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/ThemeTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/ThemeTest.php
index fa312250df041758a7397d36251ed7af904d8396..731b0bde9f449f4c2238032aa8a9f615b78adbd1 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/ThemeTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/ThemeTest.php
@@ -36,8 +36,9 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
      */
     public function testCrud()
     {
-        /** @var $themeModel \Magento\Core\Model\Theme */
-        $themeModel = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\Core\Model\Theme');
+        /** @var $themeModel \Magento\View\Design\ThemeInterface */
+        $themeModel = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->create('Magento\View\Design\ThemeInterface');
         $themeModel->setData($this->_getThemeValidData());
 
         $crud = new \Magento\TestFramework\Entity($themeModel, array('theme_version' => '2.0.0.1'));
@@ -68,9 +69,9 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
      */
     public function testChildRelation()
     {
-        /** @var $theme \Magento\Core\Model\Theme */
-        /** @var $currentTheme \Magento\Core\Model\Theme */
-        $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Theme');
+        /** @var $theme \Magento\View\Design\ThemeInterface */
+        /** @var $currentTheme \Magento\View\Design\ThemeInterface */
+        $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\Design\ThemeInterface');
         $collection = $theme->getCollection()->addTypeFilter(\Magento\Core\Model\Theme::TYPE_VIRTUAL);
         foreach ($collection as $currentTheme) {
             $parentTheme = $currentTheme->getParentTheme();
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Translate/InlineParserTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Translate/InlineParserTest.php
index 09f3efb7328d007fd53f9ad4ed9c8698a828f157..6b08c71c25187ba442fd1c4ad623cb9ebde074b4 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Translate/InlineParserTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Translate/InlineParserTest.php
@@ -39,7 +39,7 @@ class InlineParserTest extends \PHPUnit_Framework_TestCase
 
     public static function setUpBeforeClass()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setDesignTheme('magento_demo');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Translate/InlineTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Translate/InlineTest.php
index 6af8d576b9181d2c9f0c9bea1eafcfde2bf49dc5..b75084f8017ef87e5edb27154f6fd7ab95568eb6 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Translate/InlineTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Translate/InlineTest.php
@@ -41,7 +41,7 @@ class InlineTest extends \PHPUnit_Framework_TestCase
 
     public static function setUpBeforeClass()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setDesignTheme('magento_demo');
     }
 
@@ -99,7 +99,7 @@ class InlineTest extends \PHPUnit_Framework_TestCase
         $expectedText = file_get_contents(__DIR__ . '/_files/_inline_page_expected.html');
 
         $package = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')
+            ->get('Magento\View\DesignInterface')
             ->getDesignTheme()
             ->getPackageCode();
         $expectedText = str_replace(
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/TranslateTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/TranslateTest.php
index 3251c2986c39ee702c3a78d7d7ff657e91b744e2..ef3713a3ed361585f2d98b7fb6b1f80975935452 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/TranslateTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/TranslateTest.php
@@ -38,7 +38,7 @@ class TranslateTest extends \PHPUnit_Framework_TestCase
     protected $_model;
 
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_designModel;
 
@@ -79,10 +79,10 @@ class TranslateTest extends \PHPUnit_Framework_TestCase
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $objectManager->addSharedInstance($this->_viewFileSystem, 'Magento\Core\Model\View\FileSystem');
 
-        /** @var $configModel \Magento\Core\Model\Config */
-        $configModel = $objectManager->get('Magento\Core\Model\Config');
-        $configModel->setModuleDir('Magento_Core', 'i18n', __DIR__ . '/_files/Magento/Core/i18n');
-        $configModel->setModuleDir('Magento_Catalog', 'i18n',
+        /** @var $moduleReader \Magento\Core\Model\Config\Modules\Reader */
+        $moduleReader = $objectManager->get('Magento\Core\Model\Config\Modules\Reader');
+        $moduleReader->setModuleDir('Magento_Core', 'i18n', __DIR__ . '/_files/Magento/Core/i18n');
+        $moduleReader->setModuleDir('Magento_Catalog', 'i18n',
             __DIR__ . '/_files/Magento/Catalog/i18n');
 
         /** @var \Magento\Core\Model\View\Design _designModel */
@@ -143,7 +143,7 @@ class TranslateTest extends \PHPUnit_Framework_TestCase
         $this->assertEquals('en_US', $this->_model->getConfig(\Magento\Core\Model\Translate::CONFIG_KEY_LOCALE));
         $this->assertEquals(1, $this->_model->getConfig(\Magento\Core\Model\Translate::CONFIG_KEY_STORE));
         $design = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface');
+            ->get('Magento\View\DesignInterface');
         $this->assertEquals($design->getDesignTheme()->getId(),
             $this->_model->getConfig(\Magento\Core\Model\Translate::CONFIG_KEY_DESIGN_THEME));
         $this->assertNull($this->_model->getConfig('non_existing_key'));
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Url/RewriteTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/Url/RewriteTest.php
index 3776dd01832010445ffd07340a4fb4b922481a8f..4673ef16edbf954bc08d3635149d458a4cede362 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Url/RewriteTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/Url/RewriteTest.php
@@ -116,9 +116,7 @@ class RewriteTest extends \PHPUnit_Framework_TestCase
     public function testRewrite()
     {
         $request = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Controller\Request\Http')->setPathInfo('fancy/url.html');
-        $response = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\TestFramework\Response');
+            ->create('Magento\App\RequestInterface')->setPathInfo('fancy/url.html');
         $_SERVER['QUERY_STRING'] = 'foo=bar&___fooo=bar';
 
         $this->_model->setRequestPath('fancy/url.html')
@@ -127,7 +125,7 @@ class RewriteTest extends \PHPUnit_Framework_TestCase
             ->save();
 
         try {
-            $this->assertTrue($this->_model->rewrite(null, $response));
+            $this->assertTrue($this->_model->rewrite($request));
             $this->assertEquals('/another/fancy/url.html?foo=bar', $request->getRequestUri());
             $this->assertEquals('another/fancy/url.html', $request->getPathInfo());
             $this->_model->delete();
@@ -139,26 +137,26 @@ class RewriteTest extends \PHPUnit_Framework_TestCase
 
     public function testRewriteNonExistingRecord()
     {
-        $response = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\TestFramework\Response');
-        $this->assertFalse($this->_model->rewrite(null, $response));
+        $request = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->create('Magento\App\RequestInterface');
+        $this->assertFalse($this->_model->rewrite($request));
     }
 
     public function testRewriteWrongStore()
     {
-        $response = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\TestFramework\Response');
+        $request = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->create('Magento\App\RequestInterface');
         $_GET['___from_store'] = uniqid('store');
-        $this->assertFalse($this->_model->rewrite(null, $response));
+        $this->assertFalse($this->_model->rewrite($request));
     }
 
     public function testRewriteNonExistingRecordCorrectStore()
     {
-        $response = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\TestFramework\Response');
+        $request = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->create('Magento\App\RequestInterface');
         $_GET['___from_store'] = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->get('Magento\Core\Model\StoreManagerInterface')->getDefaultStoreView()->getCode();
-        $this->assertFalse($this->_model->rewrite(null, $response));
+        $this->assertFalse($this->_model->rewrite($request));
     }
 
     public function testGetStoreId()
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/UrlTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/UrlTest.php
index b11f7767bb52b367d229ac86606c80f1ed0a80b8..800f96742a4d862b962abf04df92456d6129ca9c 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/UrlTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/UrlTest.php
@@ -92,7 +92,7 @@ class UrlTest extends \PHPUnit_Framework_TestCase
 
     public function testSetGetRequest()
     {
-        $this->assertInstanceOf('Zend_Controller_Request_Http', $this->_model->getRequest());
+        $this->assertInstanceOf('\Magento\App\RequestInterface', $this->_model->getRequest());
         /** @var $objectManager \Magento\TestFramework\ObjectManager */
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         /** @var $request \Magento\TestFramework\Request */
@@ -643,10 +643,13 @@ class UrlTest extends \PHPUnit_Framework_TestCase
      */
     public function testIsOwnOriginUrl()
     {
-        $_SERVER['HTTP_REFERER'] = 'http://localhost/';
+        $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
+        /** @var $request \Magento\TestFramework\Request */
+        $request = $objectManager->get('Magento\App\RequestInterface');
+        $request->setServer(array('HTTP_REFERER' => 'http://localhost/'));
         $this->assertTrue($this->_model->isOwnOriginUrl());
 
-        $_SERVER['HTTP_REFERER'] = 'http://example.com/';
+        $request->setServer(array('HTTP_REFERER' => 'http://example.com/'));
         $this->assertFalse($this->_model->isOwnOriginUrl());
     }
 }
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/View/DesignTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/View/DesignTest.php
index cf7d32d17b8e2b7290ed2257f3ece4348bba4f9b..0c5c7bd0608e21249910fb2e2d3dd46ddbd1a3b9 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/View/DesignTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/View/DesignTest.php
@@ -33,7 +33,7 @@ namespace Magento\Core\Model\View;
 class DesignTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_model;
 
@@ -43,7 +43,7 @@ class DesignTest extends \PHPUnit_Framework_TestCase
     protected $_viewFileSystem;
 
     /**
-     * @var \Magento\Core\Model\View\Config
+     * @var \Magento\View\ConfigInterface
      */
     protected $_viewConfig;
 
@@ -54,18 +54,18 @@ class DesignTest extends \PHPUnit_Framework_TestCase
 
     public static function setUpBeforeClass()
     {
-        $themeDir = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
-                ->getDir(\Magento\Core\Model\Dir::MEDIA) . 'theme';
+        $themeDir = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
+                ->getDir(\Magento\App\Dir::MEDIA) . 'theme';
         $filesystem = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\Filesystem');
         $filesystem->delete($themeDir . '/frontend');
         $filesystem->delete($themeDir . '/_merged');
 
         $ioAdapter = new \Magento\Io\File();
         $ioAdapter->cp(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
-                ->getDir(\Magento\Core\Model\Dir::PUB_LIB) . '/prototype/prototype.js',
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
-                ->getDir(\Magento\Core\Model\Dir::PUB_LIB) . '/prototype/prototype.min.js'
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
+                ->getDir(\Magento\App\Dir::PUB_LIB) . '/prototype/prototype.js',
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
+                ->getDir(\Magento\App\Dir::PUB_LIB) . '/prototype/prototype.min.js'
         );
     }
 
@@ -73,19 +73,19 @@ class DesignTest extends \PHPUnit_Framework_TestCase
     {
         $ioAdapter = new \Magento\Io\File();
         $ioAdapter->rm(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
-                ->getDir(\Magento\Core\Model\Dir::PUB_LIB) . '/prototype/prototype.min.js'
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
+                ->getDir(\Magento\App\Dir::PUB_LIB) . '/prototype/prototype.min.js'
         );
     }
 
     protected function setUp()
     {
         $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\View\DesignInterface');
+            ->create('Magento\View\DesignInterface');
         $this->_viewFileSystem = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Model\View\FileSystem');
         $this->_viewConfig = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\View\Config');
+            ->create('Magento\View\ConfigInterface');
         $this->_viewUrl = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Model\View\Url');
     }
@@ -99,24 +99,24 @@ class DesignTest extends \PHPUnit_Framework_TestCase
     {
         \Magento\TestFramework\Helper\Bootstrap::getInstance()->reinitialize(array(
             \Magento\Core\Model\App::PARAM_APP_DIRS => array(
-                \Magento\Core\Model\Dir::THEMES => realpath(__DIR__ . '/../_files/design'),
+                \Magento\App\Dir::THEMES => realpath(__DIR__ . '/../_files/design'),
             ),
         ));
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')
+            ->get('Magento\View\DesignInterface')
             ->setDesignTheme($themePath);
 
         $this->_viewFileSystem = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Model\View\FileSystem');
         $this->_viewConfig = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\View\Config');
+            ->create('Magento\View\ConfigInterface');
         $this->_viewUrl = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Model\View\Url');
     }
 
     public function testSetGetArea()
     {
-        $this->assertEquals(\Magento\Core\Model\View\DesignInterface::DEFAULT_AREA, $this->_model->getArea());
+        $this->assertEquals(\Magento\View\DesignInterface::DEFAULT_AREA, $this->_model->getArea());
         $this->_model->setArea('test');
         $this->assertEquals('test', $this->_model->getArea());
     }
@@ -130,7 +130,7 @@ class DesignTest extends \PHPUnit_Framework_TestCase
 
     public function testGetDesignTheme()
     {
-        $this->assertInstanceOf('Magento\Core\Model\Theme', $this->_model->getDesignTheme());
+        $this->assertInstanceOf('Magento\View\Design\ThemeInterface', $this->_model->getDesignTheme());
     }
 
     /**
@@ -235,9 +235,9 @@ class DesignTest extends \PHPUnit_Framework_TestCase
     public function testGetConfigCustomized()
     {
         $this->_emulateFixtureTheme();
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')
+            ->get('Magento\View\DesignInterface')
             ->getDesignTheme();
         $customConfigFile = $theme->getCustomization()->getCustomViewConfigPath();
         /** @var $filesystem \Magento\Filesystem */
@@ -270,7 +270,7 @@ class DesignTest extends \PHPUnit_Framework_TestCase
     public function testGetViewUrl($appMode, $file, $result)
     {
         $currentAppMode = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\App\State')->getMode();
+            ->get('Magento\App\State')->getMode();
         if ($currentAppMode != $appMode) {
             $this->markTestSkipped("Implemented to be run in {$appMode} mode");
         }
@@ -291,7 +291,7 @@ class DesignTest extends \PHPUnit_Framework_TestCase
     public function testGetViewUrlSigned($appMode, $file, $result)
     {
         $currentAppMode = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\App\State')->getMode();
+            ->get('Magento\App\State')->getMode();
         if ($currentAppMode != $appMode) {
             $this->markTestSkipped("Implemented to be run in {$appMode} mode");
         }
@@ -312,32 +312,32 @@ class DesignTest extends \PHPUnit_Framework_TestCase
     {
         return array(
             array(
-                \Magento\Core\Model\App\State::MODE_DEFAULT,
+                \Magento\App\State::MODE_DEFAULT,
                 'Magento_Page::favicon.ico',
                 'http://localhost/pub/static/frontend/test_default/en_US/Magento_Page/favicon.ico',
             ),
             array(
-                \Magento\Core\Model\App\State::MODE_DEFAULT,
+                \Magento\App\State::MODE_DEFAULT,
                 'prototype/prototype.js',
                 'http://localhost/pub/lib/prototype/prototype.js'
             ),
             array(
-                \Magento\Core\Model\App\State::MODE_DEVELOPER,
+                \Magento\App\State::MODE_DEVELOPER,
                 'Magento_Page::menu.js',
                 'http://localhost/pub/static/frontend/test_default/en_US/Magento_Page/menu.js'
             ),
             array(
-                \Magento\Core\Model\App\State::MODE_DEFAULT,
+                \Magento\App\State::MODE_DEFAULT,
                 'Magento_Page::menu.js',
                 'http://localhost/pub/static/frontend/test_default/en_US/Magento_Page/menu.js'
             ),
             array(
-                \Magento\Core\Model\App\State::MODE_DEFAULT,
+                \Magento\App\State::MODE_DEFAULT,
                 'Magento_Catalog::widgets.css',
                 'http://localhost/pub/static/frontend/test_default/en_US/Magento_Catalog/widgets.css'
             ),
             array(
-                \Magento\Core\Model\App\State::MODE_DEVELOPER,
+                \Magento\App\State::MODE_DEVELOPER,
                 'Magento_Catalog::widgets.css',
                 'http://localhost/pub/static/frontend/test_default/en_US/Magento_Catalog/widgets.css'
             ),
@@ -346,8 +346,8 @@ class DesignTest extends \PHPUnit_Framework_TestCase
 
     public function testGetPublicFileUrl()
     {
-        $pubLibFile = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
-                ->getDir(\Magento\Core\Model\Dir::PUB_LIB) . '/jquery/jquery.js';
+        $pubLibFile = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
+                ->getDir(\Magento\App\Dir::PUB_LIB) . '/jquery/jquery.js';
         $actualResult = $this->_viewUrl->getPublicFileUrl($pubLibFile);
         $this->assertStringEndsWith('/jquery/jquery.js', $actualResult);
     }
@@ -357,8 +357,8 @@ class DesignTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetPublicFileUrlSigned()
     {
-        $pubLibFile = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
-                ->getDir(\Magento\Core\Model\Dir::PUB_LIB) . '/jquery/jquery.js';
+        $pubLibFile = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
+                ->getDir(\Magento\App\Dir::PUB_LIB) . '/jquery/jquery.js';
         $actualResult = $this->_viewUrl->getPublicFileUrl($pubLibFile);
         $this->assertStringMatchesFormat('%a/jquery/jquery.js?%d', $actualResult);
     }
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/View/FileSystemTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/View/FileSystemTest.php
index e638069b42c420cff9d5eca814cf7c72e5d460c8..4c13b98f80d8ace1ad48f304d75f61ae7aab1d91 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/View/FileSystemTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/View/FileSystemTest.php
@@ -42,13 +42,13 @@ class FileSystemTest extends \PHPUnit_Framework_TestCase
     {
         \Magento\TestFramework\Helper\Bootstrap::getInstance()->reinitialize(array(
             \Magento\Core\Model\App::PARAM_APP_DIRS => array(
-                \Magento\Core\Model\Dir::THEMES => dirname(__DIR__) . '/_files/design'
+                \Magento\App\Dir::THEMES => dirname(__DIR__) . '/_files/design'
             )
         ));
         $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Model\View\FileSystem');
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')
+            ->get('Magento\View\DesignInterface')
             ->setDesignTheme('test_default');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/View/PublicationTest.php b/dev/tests/integration/testsuite/Magento/Core/Model/View/PublicationTest.php
index 3aa084cf677bc4df7cc5ae6a945e6be5b3a7755f..bc58ac9245e1454f83f50a35e61b74879139118a 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/View/PublicationTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Model/View/PublicationTest.php
@@ -30,7 +30,7 @@ namespace Magento\Core\Model\View;
 class PublicationTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_model;
 
@@ -58,7 +58,7 @@ class PublicationTest extends \PHPUnit_Framework_TestCase
         $this->_viewUrl = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Model\View\Url');
         $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface');
+            ->get('Magento\View\DesignInterface');
     }
 
     protected function tearDown()
@@ -75,9 +75,9 @@ class PublicationTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetPublicDir()
     {
-        /** @var $dirs \Magento\Core\Model\Dir */
-        $dirs = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir');
-        $expectedPublicDir = $dirs->getDir(\Magento\Core\Model\Dir::STATIC_VIEW);
+        /** @var $dirs \Magento\App\Dir */
+        $dirs = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir');
+        $expectedPublicDir = $dirs->getDir(\Magento\App\Dir::STATIC_VIEW);
         $this->assertEquals($expectedPublicDir, $this->_viewService->getPublicDir());
     }
 
@@ -406,9 +406,9 @@ class PublicationTest extends \PHPUnit_Framework_TestCase
      */
     public function testPublishResourcesAndCssWhenChangedCssDevMode()
     {
-        $mode = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App\State')
+        $mode = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\State')
             ->getMode();
-        if ($mode != \Magento\Core\Model\App\State::MODE_DEVELOPER) {
+        if ($mode != \Magento\App\State::MODE_DEVELOPER) {
             $this->markTestSkipped('Valid in developer mode only');
         }
         $this->_testPublishResourcesAndCssWhenChangedCss(true);
@@ -422,9 +422,9 @@ class PublicationTest extends \PHPUnit_Framework_TestCase
      */
     public function testNotPublishResourcesAndCssWhenChangedCssUsualMode()
     {
-        $mode = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App\State')
+        $mode = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\State')
             ->getMode();
-        if ($mode == \Magento\Core\Model\App\State::MODE_DEVELOPER) {
+        if ($mode == \Magento\App\State::MODE_DEVELOPER) {
             $this->markTestSkipped('Valid in non-developer mode only');
         }
         $this->_testPublishResourcesAndCssWhenChangedCss(false);
@@ -440,12 +440,12 @@ class PublicationTest extends \PHPUnit_Framework_TestCase
         $appInstallDir = \Magento\TestFramework\Helper\Bootstrap::getInstance()->getAppInstallDir();
         \Magento\TestFramework\Helper\Bootstrap::getInstance()->reinitialize(array(
             \Magento\Core\Model\App::PARAM_APP_DIRS => array(
-                \Magento\Core\Model\Dir::THEMES => "$appInstallDir/media_for_change",
+                \Magento\App\Dir::THEMES => "$appInstallDir/media_for_change",
             )
         ));
 
         $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface');
+            ->get('Magento\View\DesignInterface');
         $this->_model->setDesignTheme('test_default');
 
         $this->_viewService = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
@@ -494,9 +494,9 @@ class PublicationTest extends \PHPUnit_Framework_TestCase
      */
     public function testPublishChangedResourcesWhenUnchangedCssDevMode()
     {
-        $mode = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App\State')
+        $mode = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\State')
             ->getMode();
-        if ($mode != \Magento\Core\Model\App\State::MODE_DEVELOPER) {
+        if ($mode != \Magento\App\State::MODE_DEVELOPER) {
             $this->markTestSkipped('Valid in developer mode only');
         }
 
@@ -511,9 +511,9 @@ class PublicationTest extends \PHPUnit_Framework_TestCase
      */
     public function testNotPublishChangedResourcesWhenUnchangedCssUsualMode()
     {
-        $mode = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App\State')
+        $mode = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\State')
             ->getMode();
-        if ($mode == \Magento\Core\Model\App\State::MODE_DEVELOPER) {
+        if ($mode == \Magento\App\State::MODE_DEVELOPER) {
             $this->markTestSkipped('Valid in non-developer mode only');
         }
 
@@ -530,12 +530,12 @@ class PublicationTest extends \PHPUnit_Framework_TestCase
         $appInstallDir = \Magento\TestFramework\Helper\Bootstrap::getInstance()->getAppInstallDir();
         \Magento\TestFramework\Helper\Bootstrap::getInstance()->reinitialize(array(
             \Magento\Core\Model\App::PARAM_APP_DIRS => array(
-                \Magento\Core\Model\Dir::THEMES => "$appInstallDir/media_for_change",
+                \Magento\App\Dir::THEMES => "$appInstallDir/media_for_change",
             )
         ));
 
         $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface');
+            ->get('Magento\View\DesignInterface');
         $this->_model->setDesignTheme('test_default');
 
         $this->_viewService = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
@@ -577,7 +577,7 @@ class PublicationTest extends \PHPUnit_Framework_TestCase
     {
         \Magento\TestFramework\Helper\Bootstrap::getInstance()->reinitialize(array(
             \Magento\Core\Model\App::PARAM_APP_DIRS => array(
-                \Magento\Core\Model\Dir::THEMES => dirname(__DIR__) . '/_files/design/'
+                \Magento\App\Dir::THEMES => dirname(__DIR__) . '/_files/design/'
             )
         ));
 
@@ -592,7 +592,7 @@ class PublicationTest extends \PHPUnit_Framework_TestCase
 
         // Reinit model with new directories
         $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface');
+            ->get('Magento\View\DesignInterface');
         $this->_model->setDesignTheme('test_default');
 
         $this->_viewService = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
@@ -613,7 +613,7 @@ class PublicationTest extends \PHPUnit_Framework_TestCase
     {
         \Magento\TestFramework\Helper\Bootstrap::getInstance()->reinitialize(array(
             \Magento\Core\Model\App::PARAM_APP_DIRS => array(
-                \Magento\Core\Model\Dir::THEMES => dirname(__DIR__) . '/_files/design/'
+                \Magento\App\Dir::THEMES => dirname(__DIR__) . '/_files/design/'
             )
         ));
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App')->loadAreaPart(
@@ -643,7 +643,7 @@ class PublicationTest extends \PHPUnit_Framework_TestCase
         $this->assertFileEquals($filePath, str_replace('/', DIRECTORY_SEPARATOR, "{$publishedPath}/css/base64.css"));
 
         $this->_model->setDesignTheme(\Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Theme'));
+            ->create('Magento\View\Design\ThemeInterface'));
     }
 
     /**
@@ -670,8 +670,8 @@ class PublicationTest extends \PHPUnit_Framework_TestCase
     public function testGetViewFilePublicPathExistingFile()
     {
         $filePath = 'mage/mage.js';
-        $expectedFile = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
-                ->getDir(\Magento\Core\Model\Dir::PUB_LIB) . '/' . $filePath;
+        $expectedFile = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
+                ->getDir(\Magento\App\Dir::PUB_LIB) . '/' . $filePath;
         $this->assertFileExists($expectedFile, 'Please verify existence of public library file');
 
         $actualFile = $this->_viewUrl->getViewFilePublicPath($filePath);
diff --git a/dev/tests/integration/testsuite/Magento/Core/Utility/Layout.php b/dev/tests/integration/testsuite/Magento/Core/Utility/Layout.php
index 35ae9f3b06b61a09f9be8c87c0d35b610742fa2f..03471c70427836748e9505790862cb0aecd04856 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Utility/Layout.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Utility/Layout.php
@@ -63,7 +63,7 @@ class Layout
             ->will(\PHPUnit_Framework_TestCase::returnValue($files));
         $cache = $this->_testCase->getMockForAbstractClass('Magento\Cache\FrontendInterface');
         return $objectManager->create(
-            'Magento\Core\Model\Layout\Merge', array('fileSource' => $fileSource, 'cache' => $cache)
+            'Magento\View\Layout\ProcessorInterface', array('fileSource' => $fileSource, 'cache' => $cache)
         );
     }
 
@@ -94,13 +94,13 @@ class Layout
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         return array(
-            'mergeFactory'       => $objectManager->get('Magento\Core\Model\Layout\MergeFactory'),
+            'processorFactory'       => $objectManager->get('Magento\View\Layout\ProcessorFactory'),
             'themeFactory'       => $objectManager->get('Magento\Core\Model\Resource\Theme\CollectionFactory'),
             'logger'             => $objectManager->get('Magento\Core\Model\Logger'),
-            'eventManager'       => $objectManager->get('Magento\Core\Model\Event\Manager'),
+            'eventManager'       => $objectManager->get('Magento\Event\ManagerInterface'),
             'factoryHelper'      => $objectManager->get('Magento\Core\Model\Factory\Helper'),
             'coreData'           => $objectManager->get('Magento\Core\Helper\Data'),
-            'design'             => $objectManager->get('Magento\Core\Model\View\DesignInterface'),
+            'design'             => $objectManager->get('Magento\View\DesignInterface'),
             'blockFactory'       => $objectManager->create('Magento\Core\Model\BlockFactory', array()),
             'structure'          => $objectManager->create('Magento\Data\Structure', array()),
             'argumentProcessor'  => $objectManager->create('Magento\Core\Model\Layout\Argument\Processor', array()),
diff --git a/dev/tests/integration/testsuite/Magento/Core/Utility/LayoutTest.php b/dev/tests/integration/testsuite/Magento/Core/Utility/LayoutTest.php
index 0bc7a210b93d1a45a7b51c5e371ba4f011e227ea..dd3a7f1a6cf77d1d2ac1a57765a8c026951abc3d 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Utility/LayoutTest.php
+++ b/dev/tests/integration/testsuite/Magento/Core/Utility/LayoutTest.php
@@ -45,10 +45,10 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
      */
     protected function _assertLayoutUpdate($expectedUpdateFile, $actualUpdate)
     {
-        $this->assertInstanceOf('Magento\Core\Model\Layout\Merge', $actualUpdate);
+        $this->assertInstanceOf('Magento\View\Layout\ProcessorInterface', $actualUpdate);
 
         $layoutUpdateXml = $actualUpdate->getFileLayoutUpdatesXml();
-        $this->assertInstanceOf('Magento\Core\Model\Layout\Element', $layoutUpdateXml);
+        $this->assertInstanceOf('Magento\View\Layout\Element', $layoutUpdateXml);
         $this->assertXmlStringEqualsXmlFile($expectedUpdateFile, $layoutUpdateXml->asNiceXml());
     }
 
@@ -71,7 +71,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
     public function testGetLayoutFromFixture($inputFiles, $expectedFile)
     {
         $layout = $this->_utility->getLayoutFromFixture($inputFiles, $this->_utility->getLayoutDependencies());
-        $this->assertInstanceOf('Magento\Core\Model\Layout', $layout);
+        $this->assertInstanceOf('Magento\View\LayoutInterface', $layout);
         $this->_assertLayoutUpdate($expectedFile, $layout->getUpdate());
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Core/_files/layout_update.php b/dev/tests/integration/testsuite/Magento/Core/_files/layout_update.php
index 6103e98b9d83d4470ea3f567c59432c610c71f80..51391e9e347794c26749b8407a427461746259b3 100644
--- a/dev/tests/integration/testsuite/Magento/Core/_files/layout_update.php
+++ b/dev/tests/integration/testsuite/Magento/Core/_files/layout_update.php
@@ -29,8 +29,8 @@
 $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
 $objectManager->get('Magento\Core\Model\App')
     ->loadAreaPart(\Magento\Core\Model\App\Area::AREA_ADMINHTML, \Magento\Core\Model\App\Area::PART_CONFIG);
-/** @var $theme \Magento\Core\Model\Theme */
-$theme = $objectManager->create('Magento\Core\Model\Theme');
+/** @var $theme \Magento\View\Design\ThemeInterface */
+$theme = $objectManager->create('Magento\View\Design\ThemeInterface');
 $theme->setThemePath('test/test')
     ->setThemeVersion('2.0.0.0')
     ->setArea('frontend')
diff --git a/dev/tests/integration/testsuite/Magento/Customer/Block/Account/Dashboard/InfoTest.php b/dev/tests/integration/testsuite/Magento/Customer/Block/Account/Dashboard/InfoTest.php
index b031a7e592909f021233add867a5fc136a38090d..684bef2b9bd94769fa78a7908b68c51f75cc89f2 100644
--- a/dev/tests/integration/testsuite/Magento/Customer/Block/Account/Dashboard/InfoTest.php
+++ b/dev/tests/integration/testsuite/Magento/Customer/Block/Account/Dashboard/InfoTest.php
@@ -36,7 +36,7 @@ class InfoTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Customer\Block\Account\Dashboard\Info');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Customer/Block/Widget/GenderTest.php b/dev/tests/integration/testsuite/Magento/Customer/Block/Widget/GenderTest.php
index 6f7536efe6ebc6e015728524f09fe87055c23300..4603d0acc5c1af72928e22330978565ea9ba19af 100644
--- a/dev/tests/integration/testsuite/Magento/Customer/Block/Widget/GenderTest.php
+++ b/dev/tests/integration/testsuite/Magento/Customer/Block/Widget/GenderTest.php
@@ -36,7 +36,7 @@ class GenderTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Customer\Block\Widget\Gender');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Config/QuickStylesTest.php b/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Config/QuickStylesTest.php
index 340e8e39e8178f6bb3413419243ad5429e34719b..1bf4d156f9b0a0cf89b1d9ad0513b468e9df6813 100644
--- a/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Config/QuickStylesTest.php
+++ b/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Config/QuickStylesTest.php
@@ -35,7 +35,7 @@ class QuickStylesTest extends \PHPUnit_Framework_TestCase
     protected $_model;
 
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_design;
 
@@ -50,8 +50,8 @@ class QuickStylesTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $this->_design = $objectManager->get('Magento\Core\Model\View\DesignInterface');
-        $this->_design->setDesignTheme('vendor_test', \Magento\Core\Model\View\DesignInterface::DEFAULT_AREA);
+        $this->_design = $objectManager->get('Magento\View\DesignInterface');
+        $this->_design->setDesignTheme('vendor_test', \Magento\View\DesignInterface::DEFAULT_AREA);
         $this->_viewFileSystem = $objectManager->get('Magento\Core\Model\View\FileSystem');
         $quickStylesPath = $this->_viewFileSystem->getFilename('Magento_DesignEditor::controls/quick_styles.xml');
         $this->assertFileExists($quickStylesPath);
diff --git a/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Editor/Tools/Controls/ConfigurationTest.php b/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Editor/Tools/Controls/ConfigurationTest.php
index eebd82205d58969ebb53be366da4a88f215f18f3..2a4ed51970fe5f7b99e4153696849f977473d61d 100644
--- a/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Editor/Tools/Controls/ConfigurationTest.php
+++ b/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Editor/Tools/Controls/ConfigurationTest.php
@@ -35,7 +35,7 @@ class ConfigurationTest extends \PHPUnit_Framework_TestCase
     protected $_configFactory;
 
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_design;
 
@@ -45,9 +45,9 @@ class ConfigurationTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_design = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
-            'Magento\Core\Model\View\DesignInterface'
+            'Magento\View\DesignInterface'
         );
-        $this->_design->setDesignTheme('vendor_test_child', \Magento\Core\Model\View\DesignInterface::DEFAULT_AREA);
+        $this->_design->setDesignTheme('vendor_test_child', \Magento\View\DesignInterface::DEFAULT_AREA);
         $this->_configFactory = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
             'Magento\DesignEditor\Model\Editor\Tools\Controls\Factory'
         );
@@ -63,7 +63,7 @@ class ConfigurationTest extends \PHPUnit_Framework_TestCase
     public function testLoadConfigurations($type, $controlName, $controlData)
     {
         $designTheme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')
+            ->get('Magento\View\DesignInterface')
             ->getDesignTheme();
         $configuration = $this->_configFactory->create($type, $designTheme);
         $this->assertEquals($controlData, $configuration->getControlData($controlName));
@@ -136,7 +136,7 @@ class ConfigurationTest extends \PHPUnit_Framework_TestCase
     {
         $type = \Magento\DesignEditor\Model\Editor\Tools\Controls\Factory::TYPE_QUICK_STYLES;
         $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')
+            ->get('Magento\View\DesignInterface')
             ->getDesignTheme();
         $configuration = $this->_configFactory->create($type, $theme);
         $configuration->saveData($saveData);
diff --git a/dev/tests/integration/testsuite/Magento/DesignEditor/Model/ObserverTest.php b/dev/tests/integration/testsuite/Magento/DesignEditor/Model/ObserverTest.php
index d4fb05fe3b940415529618c6c64a7570c2233a9d..9702190a028da85af521965afa10fd17ce2bc9fc 100644
--- a/dev/tests/integration/testsuite/Magento/DesignEditor/Model/ObserverTest.php
+++ b/dev/tests/integration/testsuite/Magento/DesignEditor/Model/ObserverTest.php
@@ -39,7 +39,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
      */
     public function testCleanJs($area, $designMode, $expectedAssets)
     {
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $headBlock \Magento\Page\Block\Html\Head */
         $headBlock = $layout->createBlock('Magento\Page\Block\Html\Head', 'head');
         $headBlock->setData('vde_design_mode', $designMode);
@@ -75,12 +75,12 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
         }
 
 
-        /** @var \Magento\Core\Model\Config\Scope $configScope */
-        $configScope = $objectManager->get('Magento\Core\Model\Config\Scope');
+        /** @var \Magento\Config\Scope $configScope */
+        $configScope = $objectManager->get('Magento\Config\ScopeInterface');
         $configScope->setCurrentScope($area);
 
-        /** @var $eventManager \Magento\Core\Model\Event\Manager */
-        $eventManager = $objectManager->get('Magento\Core\Model\Event\Manager');
+        /** @var $eventManager \Magento\Event\ManagerInterface */
+        $eventManager = $objectManager->get('Magento\Event\ManagerInterface');
         $eventManager->dispatch('controller_action_layout_generate_blocks_after', array('layout' => $layout));
 
         $actualAssets = array_keys($pageAssets->getAll());
diff --git a/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Theme/ChangeTest.php b/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Theme/ChangeTest.php
index 34d886161930df25fa83d1255ebab701a5a48832..34390230f579f626c14d4b6c42a46e4bae19cddc 100644
--- a/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Theme/ChangeTest.php
+++ b/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Theme/ChangeTest.php
@@ -52,9 +52,10 @@ class ChangeTest extends \PHPUnit_Framework_TestCase
      */
     protected function _getChangeValidData()
     {
-        /** @var $theme \Magento\Core\Model\Theme */
-        /** @var $themeModel \Magento\Core\Model\Theme */
-        $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\Core\Model\Theme');
+        /** @var $theme \Magento\View\Design\ThemeInterface */
+        /** @var $themeModel \Magento\View\Design\ThemeInterface */
+        $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->create('Magento\View\Design\ThemeInterface');
         $themeModel = $theme->getCollection()->getFirstItem();
 
         return array(
diff --git a/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Translate/InlineVdeTest.php b/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Translate/InlineVdeTest.php
index 3267cb2506f485857e4d04f8f0c58fb8a03e3b52..87132cac92034fc614918d3dd5ee79f2568e1790 100644
--- a/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Translate/InlineVdeTest.php
+++ b/dev/tests/integration/testsuite/Magento/DesignEditor/Model/Translate/InlineVdeTest.php
@@ -35,7 +35,7 @@ class InlineVdeTest extends \PHPUnit_Framework_TestCase
     protected $_model;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
@@ -46,7 +46,7 @@ class InlineVdeTest extends \PHPUnit_Framework_TestCase
 
     public static function setUpBeforeClass()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setDesignTheme('magento_demo');
     }
 
@@ -55,7 +55,7 @@ class InlineVdeTest extends \PHPUnit_Framework_TestCase
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
 
         $this->_model = $objectManager->get('Magento\DesignEditor\Model\Translate\InlineVde');
-        $this->_request = $objectManager->get('Magento\Core\Controller\Request\Http');
+        $this->_request = $objectManager->get('Magento\App\RequestInterface');
         $this->_request->setParam('translation_mode', 'text');
 
         $this->_helperData = $objectManager->get('Magento\DesignEditor\Helper\Data');
@@ -65,7 +65,7 @@ class InlineVdeTest extends \PHPUnit_Framework_TestCase
     public function testObjectCreation()
     {
         $this->assertInstanceOf('Magento\DesignEditor\Model\Translate\InlineVde', $this->_model);
-        $this->assertInstanceOf('Magento\Core\Controller\Request\Http', $this->_request);
+        $this->assertInstanceOf('Magento\App\RequestInterface', $this->_request);
         $this->assertInstanceOf('Magento\DesignEditor\Helper\Data', $this->_helperData);
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/DesignEditor/Model/_files/design/themes.php b/dev/tests/integration/testsuite/Magento/DesignEditor/Model/_files/design/themes.php
index 669599b5e5adbd66f4a284498b23b5df97e05511..0a0686507960cd947fe5d05a8bacda92de3f7a5a 100644
--- a/dev/tests/integration/testsuite/Magento/DesignEditor/Model/_files/design/themes.php
+++ b/dev/tests/integration/testsuite/Magento/DesignEditor/Model/_files/design/themes.php
@@ -27,7 +27,7 @@
 
 \Magento\TestFramework\Helper\Bootstrap::getInstance()->reinitialize(array(
     \Magento\Core\Model\App::PARAM_APP_DIRS => array(
-        \Magento\Core\Model\Dir::THEMES => dirname(__DIR__) . '/design'
+        \Magento\App\Dir::THEMES => dirname(__DIR__) . '/design'
     )
 ));
 
diff --git a/dev/tests/integration/testsuite/Magento/DesignEditor/_files/design_editor_active.php b/dev/tests/integration/testsuite/Magento/DesignEditor/_files/design_editor_active.php
index bdc8bdc46bb953004382c4a3f751ecfc32989cd3..714aa8d020a163b80d39656662a61d15a42f4846 100644
--- a/dev/tests/integration/testsuite/Magento/DesignEditor/_files/design_editor_active.php
+++ b/dev/tests/integration/testsuite/Magento/DesignEditor/_files/design_editor_active.php
@@ -24,7 +24,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Config\Scope')
+\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Config\ScopeInterface')
     ->setCurrentScope(\Magento\Core\Model\App\Area::AREA_ADMINHTML);
 $session = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
     ->create('Magento\DesignEditor\Model\Session');
@@ -35,9 +35,9 @@ $auth->setAuthStorage($session);
 $auth->login(\Magento\TestFramework\Bootstrap::ADMIN_NAME, \Magento\TestFramework\Bootstrap::ADMIN_PASSWORD);
 $session->activateDesignEditor();
 
-/** @var $theme \Magento\Core\Model\Theme */
+/** @var $theme \Magento\View\Design\ThemeInterface */
 $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-    ->create('Magento\Core\Model\Theme');
+    ->create('Magento\View\Design\ThemeInterface');
 $theme->setData(array(
     'theme_code'           => 'blank',
     'area'                 => 'frontend',
diff --git a/dev/tests/integration/testsuite/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/LinksTest.php b/dev/tests/integration/testsuite/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/LinksTest.php
index 148d95e80f4c2d0c725972f34c2b06145d3c9984..a6c95a813c41fdf2ef41ab7883232dd36ff8a81a 100644
--- a/dev/tests/integration/testsuite/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/LinksTest.php
+++ b/dev/tests/integration/testsuite/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/LinksTest.php
@@ -32,7 +32,7 @@ class LinksTest
 {
     public function testGetUploadButtonsHtml()
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Downloadable\Block\Adminhtml\Catalog\Product\Edit\Tab\Downloadable\Links');
         self::performUploadButtonTest($block);
     }
@@ -49,7 +49,7 @@ class LinksTest
             ->create('Magento\Core\Model\Layout');
         $layout->addBlock($block, 'links');
         $expected = uniqid();
-        $text = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $text = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Core\Block\Text', '', array('data' => array('text' => $expected)));
         $block->unsetChild('upload_button');
         $layout->addBlock($text, 'upload_button', 'links');
@@ -65,7 +65,7 @@ class LinksTest
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $objectManager->get('Magento\Core\Model\Registry')
             ->register('product', new \Magento\Object(array('type_id' => 'simple')));
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Downloadable\Block\Adminhtml\Catalog\Product\Edit\Tab\Downloadable\Links');
         $this->assertEmpty($block->getLinkData());
     }
@@ -90,7 +90,7 @@ class LinksTest
             'id' => '1',
             'links_title' => $linksTitle
         )));
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Downloadable\Block\Adminhtml\Catalog\Product\Edit\Tab\Downloadable\Links');
         $this->assertEquals($expectedResult, $block->getLinksTitle());
     }
diff --git a/dev/tests/integration/testsuite/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/SamplesTest.php b/dev/tests/integration/testsuite/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/SamplesTest.php
index 707f51b27c09d8798a3547e5943eff418da24e5d..d89c344509c2384dfb1fdbcc62382ee0763efb8a 100644
--- a/dev/tests/integration/testsuite/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/SamplesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Downloadable/Block/Adminhtml/Catalog/Product/Edit/Tab/Downloadable/SamplesTest.php
@@ -32,7 +32,7 @@ class SamplesTest
 {
     public function testGetUploadButtonsHtml()
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Downloadable\Block\Adminhtml\Catalog\Product\Edit\Tab\Downloadable\Samples');
         \Magento\Downloadable\Block\Adminhtml\Catalog\Product\Edit\Tab\Downloadable\LinksTest
             ::performUploadButtonTest($block);
@@ -47,7 +47,7 @@ class SamplesTest
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $objectManager->get('Magento\Core\Model\Registry')
             ->register('current_product', new \Magento\Object(array('type_id' => 'simple')));
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Downloadable\Block\Adminhtml\Catalog\Product\Edit\Tab\Downloadable\Samples');
         $this->assertEmpty($block->getSampleData());
     }
@@ -72,7 +72,7 @@ class SamplesTest
             'id' => '1',
             'samples_title' => $samplesTitle
         )));
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Downloadable\Block\Adminhtml\Catalog\Product\Edit\Tab\Downloadable\Samples');
         $this->assertEquals($expectedResult, $block->getSamplesTitle());
     }
diff --git a/dev/tests/integration/testsuite/Magento/Downloadable/Controller/ProductTest.php b/dev/tests/integration/testsuite/Magento/Downloadable/Controller/ProductTest.php
index d5262e0ea98b54891a60d686b7a03000978602f8..5df8495492ebc46f6d17484538a7959ef6eb0399 100644
--- a/dev/tests/integration/testsuite/Magento/Downloadable/Controller/ProductTest.php
+++ b/dev/tests/integration/testsuite/Magento/Downloadable/Controller/ProductTest.php
@@ -40,7 +40,7 @@ class ProductTest extends \Magento\TestFramework\TestCase\AbstractController
         $this->dispatch('catalog/product/view/id/1');
         $this->assertContains(
             'catalog_product_view_type_downloadable',
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
                 ->getUpdate()->getHandles()
         );
         $responseBody = $this->getResponse()->getBody();
diff --git a/dev/tests/integration/testsuite/Magento/Eav/Block/Adminhtml/Attribute/Edit/Main/AbstractTest.php b/dev/tests/integration/testsuite/Magento/Eav/Block/Adminhtml/Attribute/Edit/Main/AbstractTest.php
index 9889f3e50fbe55f612e87a4d2e0f74768b25aee5..f119bfe1110e84679bbfe9229e12c8abeee741a3 100644
--- a/dev/tests/integration/testsuite/Magento/Eav/Block/Adminhtml/Attribute/Edit/Main/AbstractTest.php
+++ b/dev/tests/integration/testsuite/Magento/Eav/Block/Adminhtml/Attribute/Edit/Main/AbstractTest.php
@@ -41,7 +41,7 @@ class AbstractTest
         /** @var $objectManager \Magento\TestFramework\ObjectManager */
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
 
-        $objectManager->get('Magento\Core\Model\View\DesignInterface')
+        $objectManager->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML)
             ->setDefaultDesignTheme();
         $entityType = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Eav\Model\Config')
diff --git a/dev/tests/integration/testsuite/Magento/Filesystem/Adapter/LocalTest.php b/dev/tests/integration/testsuite/Magento/Filesystem/Adapter/LocalTest.php
index 53639d4d62b85133dc53f94b5eb795f3a5cff5ca..3b164197e4245d428aec876a98de23ca0452521b 100644
--- a/dev/tests/integration/testsuite/Magento/Filesystem/Adapter/LocalTest.php
+++ b/dev/tests/integration/testsuite/Magento/Filesystem/Adapter/LocalTest.php
@@ -47,8 +47,8 @@ class LocalTest extends \PHPUnit_Framework_TestCase
 
     protected static function _getTmpDir()
     {
-        return \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
-            ->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DIRECTORY_SEPARATOR . 'Magento\Filesystem\Adapter\LocalTest';
+        return \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
+            ->getDir(\Magento\App\Dir::VAR_DIR) . DIRECTORY_SEPARATOR . 'Magento\Filesystem\Adapter\LocalTest';
     }
 
     /**
diff --git a/dev/tests/integration/testsuite/Magento/GiftMessage/Block/Message/InlineTest.php b/dev/tests/integration/testsuite/Magento/GiftMessage/Block/Message/InlineTest.php
index cfed9e44ac808fd7da938542a0bb36ef0d71b5b7..1d6530c3fc8f2a32e33b44d52c3110cd7f784c5d 100644
--- a/dev/tests/integration/testsuite/Magento/GiftMessage/Block/Message/InlineTest.php
+++ b/dev/tests/integration/testsuite/Magento/GiftMessage/Block/Message/InlineTest.php
@@ -36,7 +36,7 @@ class InlineTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\GiftMessage\Block\Message\Inline');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/GoogleShopping/Block/Adminhtml/Items/ProductTest.php b/dev/tests/integration/testsuite/Magento/GoogleShopping/Block/Adminhtml/Items/ProductTest.php
index a8ed213ed6cb4dad4c35d548e8bf47e64c6dcdd0..241a77401f6bad7321a55bb5f3fe9e5c6fe388f9 100644
--- a/dev/tests/integration/testsuite/Magento/GoogleShopping/Block/Adminhtml/Items/ProductTest.php
+++ b/dev/tests/integration/testsuite/Magento/GoogleShopping/Block/Adminhtml/Items/ProductTest.php
@@ -36,14 +36,14 @@ class ProductTest extends \PHPUnit_Framework_TestCase
     {
         $this->markTestIncomplete('Magento_GoogleShopping is not implemented yet');
 
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\GoogleShopping\Block\Adminhtml\Items\Product');
-        $filter = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $filter = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Core\Block\Text');
-        $search = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $search = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Core\Block\Text');
 
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $layout->addBlock($block, 'product');
         $layout->addBlock($filter, 'reset_filter_button', 'product');
         $layout->addBlock($search, 'search_button', 'product');
diff --git a/dev/tests/integration/testsuite/Magento/Image/Adapter/InterfaceTest.php b/dev/tests/integration/testsuite/Magento/Image/Adapter/InterfaceTest.php
index e4673bedb9406bbe531fb107ae752ffcfafc7305..aab82d30da2a1488d0a951c86a7c6fce40cf2d7d 100644
--- a/dev/tests/integration/testsuite/Magento/Image/Adapter/InterfaceTest.php
+++ b/dev/tests/integration/testsuite/Magento/Image/Adapter/InterfaceTest.php
@@ -597,7 +597,7 @@ class InterfaceTest extends \PHPUnit_Framework_TestCase
         $adapter = $this->_getAdapter($adapterType);
         $adapter->createPngFromString(
             'T',
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')->getDir()
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')->getDir()
                 . '/lib/LinLibertineFont/LinLibertine_Re-4.4.1.ttf'
         );
         $adapter->refreshImageDimensions();
diff --git a/dev/tests/integration/testsuite/Magento/ImportExport/Block/Adminhtml/Export/Edit/FormTest.php b/dev/tests/integration/testsuite/Magento/ImportExport/Block/Adminhtml/Export/Edit/FormTest.php
index c631ffc58def0543f8cd0aa2737370460fd21985..24a25cea3a1d0b37f5fac1ee7b7d7a00cb353d49 100644
--- a/dev/tests/integration/testsuite/Magento/ImportExport/Block/Adminhtml/Export/Edit/FormTest.php
+++ b/dev/tests/integration/testsuite/Magento/ImportExport/Block/Adminhtml/Export/Edit/FormTest.php
@@ -62,7 +62,7 @@ class FormTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         parent::setUp();
-        $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\ImportExport\Block\Adminhtml\Export\Edit\Form');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/ImportExport/Block/Adminhtml/Export/FilterTest.php b/dev/tests/integration/testsuite/Magento/ImportExport/Block/Adminhtml/Export/FilterTest.php
index ce0a46563fa687254a312b34b8dc1e971531133a..7cfd5bf603a86f5b0d4521ebc57658c9cd6b0005 100644
--- a/dev/tests/integration/testsuite/Magento/ImportExport/Block/Adminhtml/Export/FilterTest.php
+++ b/dev/tests/integration/testsuite/Magento/ImportExport/Block/Adminhtml/Export/FilterTest.php
@@ -38,7 +38,7 @@ class FilterTest
      */
     public function testGetDateFromToHtmlWithValue()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_ADMINHTML)
             ->setDefaultDesignTheme();
         $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/ImportExport/Block/Adminhtml/Import/Edit/FormTest.php b/dev/tests/integration/testsuite/Magento/ImportExport/Block/Adminhtml/Import/Edit/FormTest.php
index b00b3e46e687d3a78252c844bcf4727a98f68a9e..1acc3780ecdd208df0383eda96451e53543e3c92 100644
--- a/dev/tests/integration/testsuite/Magento/ImportExport/Block/Adminhtml/Import/Edit/FormTest.php
+++ b/dev/tests/integration/testsuite/Magento/ImportExport/Block/Adminhtml/Import/Edit/FormTest.php
@@ -63,7 +63,7 @@ class FormTest extends \PHPUnit_Framework_TestCase
      */
     public function testPrepareForm()
     {
-        $formBlock = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $formBlock = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\ImportExport\Block\Adminhtml\Import\Edit\Form');
         $prepareForm = new \ReflectionMethod(
             'Magento\ImportExport\Block\Adminhtml\Import\Edit\Form',
diff --git a/dev/tests/integration/testsuite/Magento/ImportExport/Model/Import/Entity/ProductTest.php b/dev/tests/integration/testsuite/Magento/ImportExport/Model/Import/Entity/ProductTest.php
index 66ebe2cb13c720ad9353b1b95f73a046401c1251..6dab6350f52efb29d7b09ee0f901eb368e0f2991 100644
--- a/dev/tests/integration/testsuite/Magento/ImportExport/Model/Import/Entity/ProductTest.php
+++ b/dev/tests/integration/testsuite/Magento/ImportExport/Model/Import/Entity/ProductTest.php
@@ -500,7 +500,7 @@ class ProductTest extends \PHPUnit_Framework_TestCase
      */
     public static function mediaImportImageFixture()
     {
-        $dir = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
+        $dir = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
             ->getDir('media') . '/import';
         mkdir($dir);
         copy(__DIR__ . '/../../../../../Magento/Catalog/_files/magento_image.jpg', "{$dir}/magento_image.jpg");
@@ -511,7 +511,7 @@ class ProductTest extends \PHPUnit_Framework_TestCase
      */
     public static function mediaImportImageFixtureRollback()
     {
-        $media = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
+        $media = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
             ->getDir('media');
         \Magento\Io\File::rmdirRecursive("{$media}/import");
         \Magento\Io\File::rmdirRecursive("{$media}/catalog");
diff --git a/dev/tests/integration/testsuite/Magento/Index/Model/Process/FileTest.php b/dev/tests/integration/testsuite/Magento/Index/Model/Process/FileTest.php
index 29285323abb1ae5927f5d1b9201003247ddf0e2f..9b6000059c4e03456f4a55b0fbc4913539364069 100644
--- a/dev/tests/integration/testsuite/Magento/Index/Model/Process/FileTest.php
+++ b/dev/tests/integration/testsuite/Magento/Index/Model/Process/FileTest.php
@@ -61,9 +61,9 @@ class FileTest extends \PHPUnit_Framework_TestCase
     {
         $this->_objectManager   = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $this->_model           = $this->_objectManager->create('Magento\Index\Model\Process\File');
-        /** @var $dir \Magento\Core\Model\Dir */
-        $dir = $this->_objectManager->get('Magento\Core\Model\Dir');
-        $this->_fileDirectory   = $dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DIRECTORY_SEPARATOR . 'locks';
+        /** @var $dir \Magento\App\Dir */
+        $dir = $this->_objectManager->get('Magento\App\Dir');
+        $this->_fileDirectory   = $dir->getDir(\Magento\App\Dir::VAR_DIR) . DIRECTORY_SEPARATOR . 'locks';
         $fullFileName           = $this->_fileDirectory . DIRECTORY_SEPARATOR . self::FILE_NAME;
         $this->_testFileHandler = fopen($fullFileName, 'w');
     }
diff --git a/dev/tests/integration/testsuite/Magento/Install/Controller/WizardTest.php b/dev/tests/integration/testsuite/Magento/Install/Controller/WizardTest.php
index 362072157978a3b5f7502bc4309fc2b232ad853f..b700881041b72d152590b280504868f1a28067ce 100644
--- a/dev/tests/integration/testsuite/Magento/Install/Controller/WizardTest.php
+++ b/dev/tests/integration/testsuite/Magento/Install/Controller/WizardTest.php
@@ -58,12 +58,12 @@ class WizardTest extends \Magento\TestFramework\TestCase\AbstractController
     {
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->configure(array(
             'preferences' => array(
-                'Magento\Core\Controller\Request\Http' => 'Magento\TestFramework\Request',
-                'Magento\Core\Controller\Response\Http' => 'Magento\TestFramework\Response'
+                'Magento\App\RequestInterface' => 'Magento\TestFramework\Request',
+                'Magento\App\Response\Http' => 'Magento\TestFramework\Response'
             )
         ));
-        /** @var $appState \Magento\Core\Model\App\State */
-        $appState = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App\State');
+        /** @var $appState \Magento\App\State */
+        $appState = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\State');
         $appState->setInstallDate(false);
         $this->dispatch('install/wizard');
         $this->assertEquals(200, $this->getResponse()->getHttpResponseCode());
@@ -78,12 +78,12 @@ class WizardTest extends \Magento\TestFramework\TestCase\AbstractController
     public function testPreDispatchImpossibleToRenderPage($action)
     {
         $params = self::$_params;
-        $params[\Magento\Core\Model\App::PARAM_APP_DIRS][\Magento\Core\Model\Dir::STATIC_VIEW] = self::$_tmpDir;
+        $params[\Magento\Core\Model\App::PARAM_APP_DIRS][\Magento\App\Dir::STATIC_VIEW] = self::$_tmpDir;
         \Magento\TestFramework\Helper\Bootstrap::getInstance()->reinitialize($params);
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->configure(array(
             'preferences' => array(
-                'Magento\Core\Controller\Request\Http' => 'Magento\TestFramework\Request',
-                'Magento\Core\Controller\Response\Http' => 'Magento\TestFramework\Response'
+                'Magento\App\RequestInterface' => 'Magento\TestFramework\Request',
+                'Magento\App\Response\Http' => 'Magento\TestFramework\Response'
             )
         ));
         $this->dispatch("install/wizard/{$action}");
diff --git a/dev/tests/integration/testsuite/Magento/Install/IndexTest.php b/dev/tests/integration/testsuite/Magento/Install/IndexTest.php
index e85945a81fe32269ae6348c17df7e94b3ab2a640..f5f3eb492c7ece3410cc921cf7fba77a73c2ee3c 100644
--- a/dev/tests/integration/testsuite/Magento/Install/IndexTest.php
+++ b/dev/tests/integration/testsuite/Magento/Install/IndexTest.php
@@ -37,8 +37,8 @@ class IndexTest extends \Magento\TestFramework\TestCase\AbstractController
          * because in integration testing environment the application is considered "installed"
          */
         $this->assertFileExists(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
-                ->getDir(\Magento\Core\Model\Dir::TMP)
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
+                ->getDir(\Magento\App\Dir::TMP)
         );
     }
 }
diff --git a/dev/tests/integration/testsuite/Magento/Install/Model/ConfigTest.php b/dev/tests/integration/testsuite/Magento/Install/Model/ConfigTest.php
index ba5c041a5b892153278c2b2a2ca4b816373839ca..c39ea4fc6e4732d6201be8c98d521905f671597d 100644
--- a/dev/tests/integration/testsuite/Magento/Install/Model/ConfigTest.php
+++ b/dev/tests/integration/testsuite/Magento/Install/Model/ConfigTest.php
@@ -53,35 +53,35 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
         }
         $cacheState->persist();
 
-        /** @var \Magento\Core\Model\Dir $dirs */
+        /** @var \Magento\App\Dir $dirs */
         $dirs = $this->_objectManager->create(
-            'Magento\Core\Model\Dir', array(
+            'Magento\App\Dir', array(
                 'baseDir' => BP,
                 'dirs' => array(
-                    \Magento\Core\Model\Dir::MODULES => __DIR__ . '/_files',
-                    \Magento\Core\Model\Dir::CONFIG => __DIR__ . '/_files'
+                    \Magento\App\Dir::MODULES => __DIR__ . '/_files',
+                    \Magento\App\Dir::CONFIG => __DIR__ . '/_files'
                 )
             )
         );
 
-        /** @var \Magento\Core\Model\Module\Declaration\FileResolver $modulesDeclarations */
+        /** @var \Magento\App\Module\Declaration\FileResolver $modulesDeclarations */
         $modulesDeclarations = $this->_objectManager->create(
-            'Magento\Core\Model\Module\Declaration\FileResolver', array(
+            'Magento\App\Module\Declaration\FileResolver', array(
                 'applicationDirs' => $dirs,
             )
         );
 
 
-        /** @var \Magento\Core\Model\Module\Declaration\Reader\Filesystem $filesystemReader */
+        /** @var \Magento\App\Module\Declaration\Reader\Filesystem $filesystemReader */
         $filesystemReader = $this->_objectManager->create(
-            'Magento\Core\Model\Module\Declaration\Reader\Filesystem', array(
+            'Magento\App\Module\Declaration\Reader\Filesystem', array(
                 'fileResolver' => $modulesDeclarations,
             )
         );
 
-        /** @var \Magento\Core\Model\ModuleList $modulesList */
+        /** @var \Magento\App\ModuleList $modulesList */
         $modulesList = $this->_objectManager->create(
-            'Magento\Core\Model\ModuleList', array(
+            'Magento\App\ModuleList', array(
                 'reader' => $filesystemReader,
             )
         );
diff --git a/dev/tests/integration/testsuite/Magento/Install/Model/Installer/ConfigTest.php b/dev/tests/integration/testsuite/Magento/Install/Model/Installer/ConfigTest.php
index 49541ba9d73e9c1aeacf06ae8e5b175b7bc6dda5..be363136958780214da78de302d28c42f438d99f 100644
--- a/dev/tests/integration/testsuite/Magento/Install/Model/Installer/ConfigTest.php
+++ b/dev/tests/integration/testsuite/Magento/Install/Model/Installer/ConfigTest.php
@@ -32,8 +32,8 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
 
     public static function setUpBeforeClass()
     {
-        self::$_tmpDir = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
-            ->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DIRECTORY_SEPARATOR . "ConfigTest";
+        self::$_tmpDir = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
+            ->getDir(\Magento\App\Dir::VAR_DIR) . DIRECTORY_SEPARATOR . "ConfigTest";
         mkdir(self::$_tmpDir);
     }
 
@@ -48,7 +48,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
         $expectedFile = self::$_tmpDir . '/local.xml';
 
         $request = $this->getMock(
-            'Magento\Core\Controller\Request\Http',
+            'Magento\App\Request\Http',
             array('getDistroBaseUrl'),
             array(),
             '',
@@ -57,10 +57,10 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
 
         $request->expects($this->once())->method('getDistroBaseUrl')->will($this->returnValue('http://example.com/'));
         $expectedContents = "test; <![CDATA[d-d-d-d-d]]>; <![CDATA[http://example.com/]]>; {{unknown}}";
-        $dirs = new \Magento\Core\Model\Dir(
+        $dirs = new \Magento\App\Dir(
             self::$_tmpDir,
             array(),
-            array(\Magento\Core\Model\Dir::CONFIG => self::$_tmpDir)
+            array(\Magento\App\Dir::CONFIG => self::$_tmpDir)
         );
 
         $this->assertFileNotExists($expectedFile);
diff --git a/dev/tests/integration/testsuite/Magento/Install/Model/InstallerTest.php b/dev/tests/integration/testsuite/Magento/Install/Model/InstallerTest.php
index 5eaa00a677e05022dbc606fbfaba3f2247d1fd0d..74fabf9d1186a27c65b8f451e8f1af9631152881 100644
--- a/dev/tests/integration/testsuite/Magento/Install/Model/InstallerTest.php
+++ b/dev/tests/integration/testsuite/Magento/Install/Model/InstallerTest.php
@@ -41,8 +41,8 @@ class InstallerTest extends \PHPUnit_Framework_TestCase
 
     public static function setUpBeforeClass()
     {
-        self::$_tmpDir = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
-            ->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DIRECTORY_SEPARATOR . 'InstallerTest';
+        self::$_tmpDir = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
+            ->getDir(\Magento\App\Dir::VAR_DIR) . DIRECTORY_SEPARATOR . 'InstallerTest';
         self::$_tmpConfigFile = self::$_tmpDir . DIRECTORY_SEPARATOR . 'local.xml';
         mkdir(self::$_tmpDir);
     }
@@ -64,9 +64,9 @@ class InstallerTest extends \PHPUnit_Framework_TestCase
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         if ($emulateConfig) {
             $installerConfig = new \Magento\Install\Model\Installer\Config(
-                $objectManager->get('Magento\Install\Model\InstallerProxy'),
-                $objectManager->get('Magento\Core\Controller\Request\Http'),
-                new \Magento\Core\Model\Dir(__DIR__, array(), array(\Magento\Core\Model\Dir::CONFIG => self::$_tmpDir)),
+                $objectManager->get('Magento\Install\Model\Installer'),
+                $objectManager->get('Magento\App\RequestInterface'),
+                new \Magento\App\Dir(__DIR__, array(), array(\Magento\App\Dir::CONFIG => self::$_tmpDir)),
                 new \Magento\Filesystem(new \Magento\Filesystem\Adapter\Local()),
                 $objectManager->get('Magento\Core\Model\StoreManager')
             );
diff --git a/dev/tests/integration/testsuite/Magento/Newsletter/Model/QueueTest.php b/dev/tests/integration/testsuite/Magento/Newsletter/Model/QueueTest.php
index c0b48bc27e584a7ce6afd4d10a32270a2aac3241..6ad448fdd328b4323719990f24979c3b3f06bbae 100644
--- a/dev/tests/integration/testsuite/Magento/Newsletter/Model/QueueTest.php
+++ b/dev/tests/integration/testsuite/Magento/Newsletter/Model/QueueTest.php
@@ -41,7 +41,7 @@ class QueueTest extends \PHPUnit_Framework_TestCase
 
         $themes = array('frontend' => 'magento_blank');
         /** @var $design \Magento\Core\Model\View\Design */
-        $design = $objectManager->create('Magento\Core\Model\View\DesignInterface', array('themes' => $themes));
+        $design = $objectManager->create('Magento\View\DesignInterface', array('themes' => $themes));
         $objectManager->addSharedInstance($design, 'Magento\Core\Model\View\Design');
         /** @var $appEmulation \Magento\Core\Model\App\Emulation */
         $appEmulation = $objectManager->create('Magento\Core\Model\App\Emulation', array('viewDesign' => $design));
@@ -83,7 +83,7 @@ class QueueTest extends \PHPUnit_Framework_TestCase
                 $objectManager->get('Magento\Core\Model\ConfigInterface'),
                 $objectManager->get('Magento\Core\Model\Email\Template\FilterFactory'),
                 $objectManager->get('Magento\Core\Model\StoreManagerInterface'),
-                $objectManager->get('Magento\Core\Model\Dir'),
+                $objectManager->get('Magento\App\Dir'),
                 $objectManager->get('Magento\Core\Model\Email\Template\Config'),
             )
         );
@@ -130,7 +130,7 @@ class QueueTest extends \PHPUnit_Framework_TestCase
                 $objectManager->get('Magento\Core\Model\ConfigInterface'),
                 $objectManager->get('Magento\Core\Model\Email\Template\FilterFactory'),
                 $objectManager->get('Magento\Core\Model\StoreManagerInterface'),
-                $objectManager->get('Magento\Core\Model\Dir'),
+                $objectManager->get('Magento\App\Dir'),
                 $objectManager->get('Magento\Core\Model\Email\Template\Config'),
             )
         );
diff --git a/dev/tests/integration/testsuite/Magento/ObjectManager/Config/Reader/DomTest.php b/dev/tests/integration/testsuite/Magento/ObjectManager/Config/Reader/DomTest.php
index add2a16ffd8445775c9b53043893f247f819a355..ee3ff8a2bee7a157e872e2e06163d51bbdae4c9e 100644
--- a/dev/tests/integration/testsuite/Magento/ObjectManager/Config/Reader/DomTest.php
+++ b/dev/tests/integration/testsuite/Magento/ObjectManager/Config/Reader/DomTest.php
@@ -74,7 +74,7 @@ class DomTest extends \PHPUnit_Framework_TestCase
         $this->_fileResolverMock->expects($this->once())->method('get')->will($this->returnValue($this->_fileList));
         $this->_mapper = new \Magento\ObjectManager\Config\Mapper\Dom();
         $this->_validationState =
-            new \Magento\Core\Model\Config\ValidationState(\Magento\Core\Model\App\State::MODE_DEFAULT);
+            new \Magento\Core\Model\Config\ValidationState(\Magento\App\State::MODE_DEFAULT);
         $this->_schemaLocator = new \Magento\ObjectManager\Config\SchemaLocator();
 
         $this->_mergedConfig = new \DOMDocument();
diff --git a/dev/tests/integration/testsuite/Magento/ObjectManager/_files/config_merged.xml b/dev/tests/integration/testsuite/Magento/ObjectManager/_files/config_merged.xml
index f7262d041b9b61719fd3a530f59fae22b7d6913b..0377b4244812099dc9ec724568a3b9acc69eb60f 100644
--- a/dev/tests/integration/testsuite/Magento/ObjectManager/_files/config_merged.xml
+++ b/dev/tests/integration/testsuite/Magento/ObjectManager/_files/config_merged.xml
@@ -24,8 +24,8 @@
  */
 -->
 <config>
-    <preference for="Magento\Core\Model\Db\UpdaterInterface" type="Magento\Core\Model\Db\UpdaterOne" />
-    <preference for="Magento\Core\Model\Db\UpdaterInterfaceTwo" type="Magento\Core\Model\Db\UpdaterTwo"/>
+    <preference for="Magento\App\UpdaterInterface" type="Magento\App\UpdaterOne" />
+    <preference for="Magento\App\UpdaterInterfaceTwo" type="Magento\App\UpdaterTwo"/>
     <type name="Magento\Core\Model\Config\Loader\Local" shared="false">
         <param name="customFile">
             <value type="argument">Magento\Core\Model\App::PARAM_CUSTOM_LOCAL_CONFIG</value>
diff --git a/dev/tests/integration/testsuite/Magento/ObjectManager/_files/config_one.xml b/dev/tests/integration/testsuite/Magento/ObjectManager/_files/config_one.xml
index 399ba92553e37aea6f40194717e0aca334cfb7be..708a9c97c82ddba06f8daa4311c598509e7b26b6 100644
--- a/dev/tests/integration/testsuite/Magento/ObjectManager/_files/config_one.xml
+++ b/dev/tests/integration/testsuite/Magento/ObjectManager/_files/config_one.xml
@@ -24,7 +24,7 @@
  */
 -->
 <config>
-    <preference for="Magento\Core\Model\Db\UpdaterInterface" type="Magento\Core\Model\Db\Updater" />
+    <preference for="Magento\App\UpdaterInterface" type="Magento\App\Updater" />
     <type name="Magento\Core\Model\Config\Loader\Local">
         <param name="customFile">
             <value type="argument">Magento\Core\Model\App::PARAM_CUSTOM_LOCAL_FILE</value>
diff --git a/dev/tests/integration/testsuite/Magento/ObjectManager/_files/config_two.xml b/dev/tests/integration/testsuite/Magento/ObjectManager/_files/config_two.xml
index 593b9ab4c506441ddc51497b83db3984f12598be..8e794956d1c2d811b085ac210d6013adcb84f773 100644
--- a/dev/tests/integration/testsuite/Magento/ObjectManager/_files/config_two.xml
+++ b/dev/tests/integration/testsuite/Magento/ObjectManager/_files/config_two.xml
@@ -24,8 +24,8 @@
  */
 -->
 <config>
-    <preference for="Magento\Core\Model\Db\UpdaterInterfaceTwo" type="Magento\Core\Model\Db\UpdaterTwo" />
-    <preference for="Magento\Core\Model\Db\UpdaterInterface" type="Magento\Core\Model\Db\UpdaterOne" />
+    <preference for="Magento\App\UpdaterInterfaceTwo" type="Magento\App\UpdaterTwo" />
+    <preference for="Magento\App\UpdaterInterface" type="Magento\App\UpdaterOne" />
     <type name="Magento\Core\Model\Config\Loader\Local" shared="false">
         <param name="customFile">
             <value type="argument">Magento\Core\Model\App::PARAM_CUSTOM_LOCAL_CONFIG</value>
diff --git a/dev/tests/integration/testsuite/Magento/Page/Block/Html/BreadcrumbsTest.php b/dev/tests/integration/testsuite/Magento/Page/Block/Html/BreadcrumbsTest.php
index 87ba9fc87cd27d4f71bd9c155059bafd8cf0917e..d23b11357974643e5bdccb562534297c78bef06c 100644
--- a/dev/tests/integration/testsuite/Magento/Page/Block/Html/BreadcrumbsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Page/Block/Html/BreadcrumbsTest.php
@@ -36,7 +36,7 @@ class BreadcrumbsTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Page\Block\Html\Breadcrumbs');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Page/Block/Html/FooterTest.php b/dev/tests/integration/testsuite/Magento/Page/Block/Html/FooterTest.php
index 254d5eaa833060829b1117aeb52b77effe0fd669..d382f849c85cbb9052b766842475459c6ce0ff6d 100644
--- a/dev/tests/integration/testsuite/Magento/Page/Block/Html/FooterTest.php
+++ b/dev/tests/integration/testsuite/Magento/Page/Block/Html/FooterTest.php
@@ -37,13 +37,13 @@ class FooterTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $design = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface');
+            ->get('Magento\View\DesignInterface');
         $this->_theme = $design->setDefaultDesignTheme()->getDesignTheme();
     }
 
     public function testGetCacheKeyInfo()
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Page\Block\Html\Footer');
         $storeId = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->get('Magento\Core\Model\StoreManagerInterface')->getStore()->getId();
diff --git a/dev/tests/integration/testsuite/Magento/Page/Block/Html/HeadTest.php b/dev/tests/integration/testsuite/Magento/Page/Block/Html/HeadTest.php
index 3dfc61df393a9b4f4ec669fc95bb2e26998ea9a8..18f69ad3c0bd6306f9d409e36ea4de7dd16b43a0 100644
--- a/dev/tests/integration/testsuite/Magento/Page/Block/Html/HeadTest.php
+++ b/dev/tests/integration/testsuite/Magento/Page/Block/Html/HeadTest.php
@@ -36,9 +36,9 @@ class HeadTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setDesignTheme('magento_demo', 'frontend');
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Page\Block\Html\Head');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Payment/Block/InfoTest.php b/dev/tests/integration/testsuite/Magento/Payment/Block/InfoTest.php
index 2b2c08d259204e3a1d174af13a3e5f097619cd72..8a12488037ba61f454f1f228c28d82f70a7e9120 100644
--- a/dev/tests/integration/testsuite/Magento/Payment/Block/InfoTest.php
+++ b/dev/tests/integration/testsuite/Magento/Payment/Block/InfoTest.php
@@ -36,7 +36,7 @@ class InfoTest extends \PHPUnit_Framework_TestCase
     public function testGetChildPdfAsArray()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $block = $layout->createBlock('Magento\Payment\Block\Info', 'block');
 
         /** @var $paymentInfoBank \Magento\Payment\Model\Info  */
diff --git a/dev/tests/integration/testsuite/Magento/Paypal/Block/Express/ReviewTest.php b/dev/tests/integration/testsuite/Magento/Paypal/Block/Express/ReviewTest.php
index 6f7ea766bf2dfbac15dd57c6ecc76d85f177103d..581b23766fc11f604e070e35720e89742115c843 100644
--- a/dev/tests/integration/testsuite/Magento/Paypal/Block/Express/ReviewTest.php
+++ b/dev/tests/integration/testsuite/Magento/Paypal/Block/Express/ReviewTest.php
@@ -34,7 +34,7 @@ class ReviewTest extends \PHPUnit_Framework_TestCase
 {
     public function testRenderAddress()
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Paypal\Block\Express\Review');
         $addressData = include(__DIR__ . '/../../../Sales/_files/address_data.php');
         $address = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/Paypal/Model/VoidTest.php b/dev/tests/integration/testsuite/Magento/Paypal/Model/VoidTest.php
index ffa05306b0ae1c46c76d045107625e5592ab36a2..bea4f722f165043fb82d71ab04c5346a7b8ae6d2 100644
--- a/dev/tests/integration/testsuite/Magento/Paypal/Model/VoidTest.php
+++ b/dev/tests/integration/testsuite/Magento/Paypal/Model/VoidTest.php
@@ -36,8 +36,8 @@ class VoidTest extends \PHPUnit_Framework_TestCase
     public function testPayflowProVoid()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $eventManager = $objectManager->get('Magento\Core\Model\Event\Manager');
-        $moduleList = $objectManager->get('Magento\Core\Model\ModuleListInterface');
+        $eventManager = $objectManager->get('Magento\Event\ManagerInterface');
+        $moduleList = $objectManager->get('Magento\App\ModuleListInterface');
         $paymentData = $objectManager->get('Magento\Payment\Helper\Data');
         $coreStoreConfig = $objectManager->get('Magento\Core\Model\Store\Config');
         $logger = $objectManager->get('Magento\Core\Model\Logger');
diff --git a/dev/tests/integration/testsuite/Magento/ProductAlert/Block/Email/StockTest.php b/dev/tests/integration/testsuite/Magento/ProductAlert/Block/Email/StockTest.php
index 9f390473d350078638b37e205bd2b666f6794df9..c437f98bb761e4e0d85d2c0e7c6d5016f60d42f6 100644
--- a/dev/tests/integration/testsuite/Magento/ProductAlert/Block/Email/StockTest.php
+++ b/dev/tests/integration/testsuite/Magento/ProductAlert/Block/Email/StockTest.php
@@ -36,7 +36,7 @@ class StockTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\ProductAlert\Block\Email\Stock');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Profiler/Driver/Standard/Output/FirebugTest.php b/dev/tests/integration/testsuite/Magento/Profiler/Driver/Standard/Output/FirebugTest.php
index d02ddfa225bfeb5b263d370b9917d2fcbb97cb36..e010066c97897a0c8b4c86cb5b99baa92cee23d0 100644
--- a/dev/tests/integration/testsuite/Magento/Profiler/Driver/Standard/Output/FirebugTest.php
+++ b/dev/tests/integration/testsuite/Magento/Profiler/Driver/Standard/Output/FirebugTest.php
@@ -38,19 +38,19 @@ class FirebugTest extends \PHPUnit_Framework_TestCase
     protected $_response;
 
     /**
-     * @var \Zend_Controller_Request_Http|PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\RequestInterface|PHPUnit_Framework_MockObject_MockObject
      */
     protected $_request;
 
     protected function setUp()
     {
-        $this->_response = $this->getMock('Zend_Controller_Response_Http', array('canSendHeaders', 'sendHeaders'));
+        $this->_response = $this->getMock('\Magento\App\Response\Http', array('canSendHeaders', 'sendHeaders'));
         $this->_response
             ->expects($this->any())
             ->method('canSendHeaders')
             ->will($this->returnValue(true));
 
-        $this->_request = $this->getMock('Zend_Controller_Request_Http', array('getHeader'));
+        $this->_request = $this->getMock('\Magento\App\Request\Http', array('getHeader'));
         $this->_request
             ->expects($this->any())
             ->method('getHeader')
diff --git a/dev/tests/integration/testsuite/Magento/Rss/Block/Order/StatusTest.php b/dev/tests/integration/testsuite/Magento/Rss/Block/Order/StatusTest.php
index c30615624c0dc251de2daa74b86cecbbaf85bc0d..944dbb6057c704d6eb9ec54c654c822ea903ae2e 100644
--- a/dev/tests/integration/testsuite/Magento/Rss/Block/Order/StatusTest.php
+++ b/dev/tests/integration/testsuite/Magento/Rss/Block/Order/StatusTest.php
@@ -31,7 +31,7 @@ class StatusTest extends \PHPUnit_Framework_TestCase
 {
     public function testToHtml()
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Rss\Block\Order\Status');
         $this->assertEmpty($block->toHtml());
 
diff --git a/dev/tests/integration/testsuite/Magento/Rss/Controller/CatalogTest.php b/dev/tests/integration/testsuite/Magento/Rss/Controller/CatalogTest.php
index 15613b949254b8bece401b9db2952959c2dd15fd..4440c58d107b176c6a80dd08741c76614904b742 100644
--- a/dev/tests/integration/testsuite/Magento/Rss/Controller/CatalogTest.php
+++ b/dev/tests/integration/testsuite/Magento/Rss/Controller/CatalogTest.php
@@ -160,7 +160,7 @@ class CatalogTest extends \Magento\TestFramework\TestCase\AbstractController
      */
     protected function _loginAdmin()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setArea('adminhtml')
             ->setDefaultDesignTheme();
         $this->getRequest()->setServer(array(
diff --git a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/CommentsTest.php b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/CommentsTest.php
index b2d999b55da75027f0be85b1620ddda171be30be..0f3d33bffcbd7c4302f5bef25b6f061f90345877 100644
--- a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/CommentsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/CommentsTest.php
@@ -36,7 +36,7 @@ class CommentsTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Sales\Block\Order\Comments');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/Creditmemo/ItemsTest.php b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/Creditmemo/ItemsTest.php
index 9c0fc30b06a9048b69154b1e2e456318a00723fe..dd082c4b87e5c3e4692398152a1521c6fe7ba992 100644
--- a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/Creditmemo/ItemsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/Creditmemo/ItemsTest.php
@@ -30,7 +30,7 @@ namespace Magento\Sales\Block\Order\Creditmemo;
 class ItemsTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -46,7 +46,8 @@ class ItemsTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->get('Magento\View\LayoutInterface');
         $this->_block = $this->_layout->createBlock('Magento\Sales\Block\Order\Creditmemo\Items', 'block');
         $this->_creditmemo = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Sales\Model\Order\Creditmemo');
diff --git a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/Invoice/ItemsTest.php b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/Invoice/ItemsTest.php
index a83a705bc4e9c209a44b0368c603d9bdebac586c..54ddf9ea9c54679aaf2564d6c218739735d5caaf 100644
--- a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/Invoice/ItemsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/Invoice/ItemsTest.php
@@ -30,7 +30,7 @@ namespace Magento\Sales\Block\Order\Invoice;
 class ItemsTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -46,7 +46,8 @@ class ItemsTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->get('Magento\View\LayoutInterface');
         $this->_block = $this->_layout->createBlock('Magento\Sales\Block\Order\Invoice\Items', 'block');
         $this->_invoice = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Sales\Model\Order\Invoice');
diff --git a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/PrintOrder/CreditmemoTest.php b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/PrintOrder/CreditmemoTest.php
index 72538a5ee2d67a7b364a3cb221c902886e2ee8c2..4111f8ba407dfb867047a743528b84ffdc5aa844 100644
--- a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/PrintOrder/CreditmemoTest.php
+++ b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/PrintOrder/CreditmemoTest.php
@@ -44,7 +44,7 @@ class CreditmemoTest extends \PHPUnit_Framework_TestCase
         $payment->setMethod('checkmo');
         $order->setPayment($payment);
 
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $block = $layout->createBlock('Magento\Sales\Block\Order\PrintOrder\Creditmemo', 'block');
         $childBlock = $layout->addBlock('Magento\Core\Block\Text', 'creditmemo_totals', 'block');
 
diff --git a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/PrintOrder/InvoiceTest.php b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/PrintOrder/InvoiceTest.php
index e5d0909364f93a98e54a8b254feb0208203e4959..1f437b4029f194333936dc0692a52a0ac7b281df 100644
--- a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/PrintOrder/InvoiceTest.php
+++ b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/PrintOrder/InvoiceTest.php
@@ -44,7 +44,7 @@ class InvoiceTest extends \PHPUnit_Framework_TestCase
         $payment->setMethod('checkmo');
         $order->setPayment($payment);
 
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $block = $layout->createBlock('Magento\Sales\Block\Order\PrintOrder\Invoice', 'block');
         $childBlock = $layout->addBlock('Magento\Core\Block\Text', 'invoice_totals', 'block');
 
diff --git a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/Shipment/ItemsTest.php b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/Shipment/ItemsTest.php
index c46c13199dbbe11458acc1a88a23af753f123208..7bc682f4bee49a890d850a25cfed2317834f0116 100644
--- a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/Shipment/ItemsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/Shipment/ItemsTest.php
@@ -31,7 +31,7 @@ class ItemsTest extends \PHPUnit_Framework_TestCase
 {
     public function testGetCommentsHtml()
     {
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $block = $layout->createBlock('Magento\Sales\Block\Order\Shipment\Items', 'block');
         $childBlock = $layout->addBlock('Magento\Core\Block\Text', 'shipment_comments', 'block');
         $shipment = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/TotalsTest.php b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/TotalsTest.php
index 06a785ed454bda612a9b6e6dc180a44932c82ebf..ccce946491ad7575adc17582c726d86ef82cc87e 100644
--- a/dev/tests/integration/testsuite/Magento/Sales/Block/Order/TotalsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Sales/Block/Order/TotalsTest.php
@@ -32,7 +32,7 @@ class TotalsTest extends \PHPUnit_Framework_TestCase
     public function testToHtmlChildrenInitialized()
     {
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $block = $layout->createBlock('Magento\Sales\Block\Order\Totals', 'block');
         $block->setOrder(\Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Sales\Model\Order'))
diff --git a/dev/tests/integration/testsuite/Magento/Sales/Block/Recurring/Profile/ViewTest.php b/dev/tests/integration/testsuite/Magento/Sales/Block/Recurring/Profile/ViewTest.php
index 23ba0ead0faad19362703b48d9cbb2d663228f17..332b7a3f68b6fd9134ca1478acacf7c70a2c3c27 100644
--- a/dev/tests/integration/testsuite/Magento/Sales/Block/Recurring/Profile/ViewTest.php
+++ b/dev/tests/integration/testsuite/Magento/Sales/Block/Recurring/Profile/ViewTest.php
@@ -35,7 +35,7 @@ class ViewTest extends \PHPUnit_Framework_TestCase
     protected $_block;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -52,7 +52,8 @@ class ViewTest extends \PHPUnit_Framework_TestCase
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $objectManager->get('Magento\Core\Model\Registry')->register('current_recurring_profile', $this->_profile);
 
-        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->get('Magento\View\LayoutInterface');
         $this->_block = $this->_layout->createBlock('Magento\Sales\Block\Recurring\Profile\View', 'block');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/LayoutTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/LayoutTest.php
index 63f77a3b378248827bffe33167b53f8b4b0772f6..665e29622fdf2983c59a6dc88ed44a0c3f4c8f4c 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/LayoutTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/LayoutTest.php
@@ -48,9 +48,9 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
         $invoker = new \Magento\TestFramework\Utility\AggregateInvoker($this);
         $invoker(
             /**
-             * @param \Magento\Core\Model\Theme $theme
+             * @param \Magento\View\Design\ThemeInterface $theme
              */
-            function (\Magento\Core\Model\Theme $theme) {
+            function (\Magento\View\Design\ThemeInterface $theme) {
                 $xml = $this->_composeXml($theme);
 
                 /**
@@ -67,7 +67,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
                     }
                 }
 
-                /** @var \Magento\Core\Model\Layout\Element $node */
+                /** @var \Magento\View\Layout\Element $node */
                 $errors = array();
                 foreach ($handles as $node) {
                     $this->_collectHierarchyErrors($node, $xml, $errors);
@@ -86,14 +86,14 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
     /**
      * Composes full layout xml for designated parameters
      *
-     * @param \Magento\Core\Model\Theme $theme
-     * @return \Magento\Core\Model\Layout\Element
+     * @param \Magento\View\Design\ThemeInterface $theme
+     * @return \Magento\View\Layout\Element
      */
-    protected function _composeXml(\Magento\Core\Model\Theme $theme)
+    protected function _composeXml(\Magento\View\Design\ThemeInterface $theme)
     {
-        /** @var \Magento\Core\Model\Layout\Merge $layoutUpdate */
+        /** @var \Magento\View\Layout\ProcessorInterface $layoutUpdate */
         $layoutUpdate = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Layout\Merge', array('theme' => $theme));
+            ->create('Magento\View\Layout\ProcessorInterface', array('theme' => $theme));
         return $layoutUpdate->getFileLayoutUpdatesXml();
     }
 
@@ -101,7 +101,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
      * Validate node's declared position in hierarchy and add errors to the specified array if found
      *
      * @param \SimpleXMLElement $node
-     * @param \Magento\Core\Model\Layout\Element $xml
+     * @param \Magento\View\Layout\Element $xml
      * @param array &$errors
      */
     protected function _collectHierarchyErrors($node, $xml, &$errors)
@@ -141,8 +141,8 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
     {
         $result = array();
         $themeCollection = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Theme')->getCollection();
-        /** @var $theme \Magento\Core\Model\Theme */
+            ->create('Magento\View\Design\ThemeInterface')->getCollection();
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($themeCollection as $theme) {
             $result[] = array($theme);
         }
@@ -154,9 +154,9 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
         $invoker = new \Magento\TestFramework\Utility\AggregateInvoker($this);
         $invoker(
             /**
-             * @param \Magento\Core\Model\Theme $theme
+             * @param \Magento\View\Design\ThemeInterface $theme
              */
-            function (\Magento\Core\Model\Theme $theme) {
+            function (\Magento\View\Design\ThemeInterface $theme) {
                 $xml = $this->_composeXml($theme);
 
                 $xpath = '/layouts/*['
@@ -164,7 +164,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
                     . ' or @type="' . \Magento\Core\Model\Layout\Merge::TYPE_FRAGMENT . '"]';
                 $handles = $xml->xpath($xpath) ?: array();
 
-                /** @var \Magento\Core\Model\Layout\Element $node */
+                /** @var \Magento\View\Layout\Element $node */
                 $errors = array();
                 foreach ($handles as $node) {
                     if (!$node->xpath('@label')) {
@@ -220,7 +220,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
         $themeCollection->addDefaultPattern('*');
         /** @var $themeLayouts \Magento\Core\Model\Layout\File[] */
         $themeLayouts = array();
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($themeCollection as $theme) {
             $themeLayouts = array_merge($themeLayouts, $themeUpdates->getFiles($theme));
             $themeLayouts = array_merge($themeLayouts, $themeUpdatesOverride->getFiles($theme));
@@ -240,7 +240,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
              * Check, that for an overriding file ($themeFile) in a theme ($theme), there is a corresponding base file
              *
              * @param \Magento\Core\Model\Layout\File $themeFile
-             * @param \Magento\Core\Model\Theme $theme
+             * @param \Magento\View\Design\ThemeInterface $theme
              */
             function ($themeFile, $theme) {
                 $baseFiles = self::_getCachedFiles(
@@ -266,7 +266,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
              * there is a corresponding file in that ancestor theme
              *
              * @param \Magento\Core\Model\Layout\File $themeFile
-             * @param \Magento\Core\Model\Theme $theme
+             * @param \Magento\View\Design\ThemeInterface $theme
              */
             function ($themeFile, $theme) {
                 // Find an ancestor theme, where a file is to be overridden
@@ -304,10 +304,10 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
      *
      * @param string $cacheKey
      * @param string $sourceClass
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return \Magento\Core\Model\Layout\File[]
      */
-    protected static function _getCachedFiles($cacheKey, $sourceClass, \Magento\Core\Model\Theme $theme)
+    protected static function _getCachedFiles($cacheKey, $sourceClass, \Magento\View\Design\ThemeInterface $theme)
     {
         if (!isset(self::$_cachedFiles[$cacheKey])) {
             /* @var $fileList \Magento\Core\Model\Layout\File[] */
@@ -358,7 +358,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
         $themeCollection = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\Core\Model\Theme\Collection');
         $themeCollection->addDefaultPattern('*');
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($themeCollection as $theme) {
             foreach ($filesRetriever->getFiles($theme) as $file) {
                 $result[] = array($file, $theme);
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/AclConfigFilesTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/AclConfigFilesTest.php
index b768e71a317bca25ee12a92a2bc96ebd23fcd268..704f30c67313adaad79f497869e9b506f6bcee99 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/AclConfigFilesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/AclConfigFilesTest.php
@@ -45,7 +45,7 @@ class AclConfigFilesTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_schemeFile = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
+        $this->_schemeFile = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
                 ->getDir('lib') . str_replace('/', DIRECTORY_SEPARATOR, '/Magento/Acl/etc/acl.xsd');
     }
 
@@ -71,7 +71,7 @@ class AclConfigFilesTest extends \PHPUnit_Framework_TestCase
     public function aclConfigFileDataProvider()
     {
         $fileList = glob(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
                 ->getDir('app') . '/*/*/*/etc/adminhtml/acl.xml'
         );
         $dataProviderResult = array();
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/BlockInstantiationTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/BlockInstantiationTest.php
index 97b53df03c8da9d2a8e65a58b960f43b47e055b4..475422704112c95a8d04b545ce9f4cf514e65b02 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/BlockInstantiationTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/BlockInstantiationTest.php
@@ -48,7 +48,7 @@ class BlockInstantiationTest extends \Magento\TestFramework\TestCase\AbstractInt
                 $this->assertNotEmpty($module);
                 $this->assertTrue(class_exists($class), "Block class: {$class}");
                 \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                    ->get('Magento\Core\Model\Config\Scope')
+                    ->get('Magento\Config\ScopeInterface')
                     ->setCurrentScope($area);
 
                 /** @var \Magento\Core\Model\App $app */
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/DiConfigFilesTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/DiConfigFilesTest.php
index 567c87d2f33979e3b5286aad2e426e72266ec79f..93120b72be97910495fe4d36875d08056da1a138 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/DiConfigFilesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/DiConfigFilesTest.php
@@ -46,12 +46,12 @@ class DiConfigFilesTest extends \PHPUnit_Framework_TestCase
     protected function _prepareFiles()
     {
         //init primary configs
-        /** @var $dir \Magento\Core\Model\Dir */
-        $dir = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir');
+        /** @var $dir \Magento\App\Dir */
+        $dir = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir');
 
-        $configPath = $dir->getDir(\Magento\Core\Model\Dir::APP) . DS . 'etc' . DS . '*' . DS;
+        $configPath = $dir->getDir(\Magento\App\Dir::APP) . DS . 'etc' . DS . '*' . DS;
         self::$_primaryFiles = glob($configPath . DS. 'di.xml');
-        array_unshift(self::$_primaryFiles, $dir->getDir(\Magento\Core\Model\Dir::APP) . DS . 'etc' . DS . 'di.xml');
+        array_unshift(self::$_primaryFiles, $dir->getDir(\Magento\App\Dir::APP) . DS . 'etc' . DS . 'di.xml');
 
         //init module global configs
         /** @var $modulesReader \Magento\Core\Model\Config\Modules\Reader */
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/EventConfigFilesTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/EventConfigFilesTest.php
index 9c228af2c76a461aaf5539b3d5a12bea4f4c586a..59ae279702d97cb3b3e66b18c95f5b4df13fe2b4 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/EventConfigFilesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/EventConfigFilesTest.php
@@ -33,7 +33,7 @@ class EventConfigFilesTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $this->_schemaFile = $objectManager->get('Magento\Core\Model\Event\Config\SchemaLocator')->getSchema();
+        $this->_schemaFile = $objectManager->get('Magento\Event\Config\SchemaLocator')->getSchema();
     }
 
     /**
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/LayoutFilesTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/LayoutFilesTest.php
index 1e717a3b18f9b1e5d65376425590a646bef09545..42cd9dcbfb81831e66b204a26ccbc738b9979eed 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/LayoutFilesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/LayoutFilesTest.php
@@ -53,7 +53,7 @@ class LayoutFilesTest extends \PHPUnit_Framework_TestCase
     {
         $layout = simplexml_load_file(
             $layout,
-            'Magento\Core\Model\Layout\Element'
+            'Magento\View\Layout\Element'
         );
         foreach ($layout->xpath('//*[@xsi:type]') as $argument) {
             $type = (string)$argument->attributes('xsi', true)->type;
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/ServiceCallsConfigFilesTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/ServiceCallsConfigFilesTest.php
index 1731130687ea2450d65c206219df77ef4376acf8..d15a5ea8e6fc6abd8baf60192664ca4f5b766391 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/ServiceCallsConfigFilesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/ServiceCallsConfigFilesTest.php
@@ -62,7 +62,7 @@ class ServiceCallsConfigFilesTest extends \PHPUnit_Framework_TestCase
     public function getServiceCallsConfigFiles()
     {
         return glob(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')->getDir('app')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')->getDir('app')
                 . '/*/*/*/etc/service_calls.xml'
         );
     }
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/SystemConfigFilesTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/SystemConfigFilesTest.php
index 43c204bc45028b51ddc1d5c866aeec8cc55cd899..9b357baf9ccd84530bd01be91c815e3b6ad9d480 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/SystemConfigFilesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/SystemConfigFilesTest.php
@@ -38,9 +38,9 @@ class SystemConfigFilesTest extends \PHPUnit_Framework_TestCase
         $cacheState = $objectManager->get('Magento\Core\Model\Cache\StateInterface');
         $cacheState->setEnabled(\Magento\Core\Model\Cache\Type\Config::TYPE_IDENTIFIER, false);
 
-        /** @var $dirs \Magento\Core\Model\Dir */
-        $dirs = $objectManager->get('Magento\Core\Model\Dir');
-        $modulesDir = $dirs->getDir(\Magento\Core\Model\Dir::MODULES);
+        /** @var $dirs \Magento\App\Dir */
+        $dirs = $objectManager->get('Magento\App\Dir');
+        $modulesDir = $dirs->getDir(\Magento\App\Dir::MODULES);
 
         $fileList = glob($modulesDir . '/*/*/etc/adminhtml/system.xml');
 
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/TemplateFilesTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/TemplateFilesTest.php
index deee3cbb341ccd3523beef4f721f299f173e0ed7..dbdd2f44aa592123e6d310071d96c57b58d8d94b 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/TemplateFilesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/TemplateFilesTest.php
@@ -43,13 +43,13 @@ class TemplateFilesTest extends \Magento\TestFramework\TestCase\AbstractIntegrit
              * @param string $area
              */
             function ($module, $template, $class, $area) {
-                \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+                \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
                     ->setDefaultDesignTheme();
                 // intentionally to make sure the module files will be requested
                 $params = array(
                     'area'       => $area,
                     'themeModel' => \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                        ->create('Magento\Core\Model\Theme'),
+                        ->create('Magento\View\Design\ThemeInterface'),
                     'module'     => $module
                 );
                 $file = \Magento\TestFramework\Helper\Bootstrap::getObjectmanager()
@@ -98,7 +98,7 @@ class TemplateFilesTest extends \Magento\TestFramework\TestCase\AbstractIntegrit
                     \Magento\Core\Model\App\Area::PART_CONFIG
                 );
                 \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                    ->get('Magento\Core\Model\Config\Scope')
+                    ->get('Magento\Config\ScopeInterface')
                     ->setCurrentScope($area);
 
                 $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create($blockClass);
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/ViewConfigFilesTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/ViewConfigFilesTest.php
index 8a903d8b66173d6f91642ad7a2e9e923d9834a59..845e1bc274cf04a6783a32af3cd2c53f118bf7c2 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/ViewConfigFilesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/ViewConfigFilesTest.php
@@ -37,7 +37,7 @@ class ViewConfigFilesTest extends \PHPUnit_Framework_TestCase
     {
         $domConfig = new \Magento\Config\Dom(file_get_contents($file));
         $result = $domConfig->validate(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')->getDir('lib')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')->getDir('lib')
                 . '/Magento/Config/etc/view.xsd',
             $errors
         );
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/ViewFilesTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/ViewFilesTest.php
index 12bcd790fb82796abcfecbad66337cc35fbfe73b..fed053e38e4316d3d067487884da747c8a586868 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/ViewFilesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/ViewFilesTest.php
@@ -39,7 +39,7 @@ class ViewFilesTest extends \Magento\TestFramework\TestCase\AbstractIntegrity
              */
             function ($application, $file) {
                 \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                    ->get('Magento\Core\Model\View\DesignInterface')
+                    ->get('Magento\View\DesignInterface')
                     ->setArea($application)
                     ->setDefaultDesignTheme();
                 $result = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
@@ -142,7 +142,7 @@ class ViewFilesTest extends \Magento\TestFramework\TestCase\AbstractIntegrity
              */
             function ($application, $file) {
                 \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-                    ->get('Magento\Core\Model\View\DesignInterface')
+                    ->get('Magento\View\DesignInterface')
                     ->setArea($application)
                     ->setDefaultDesignTheme();
                 $filesystem = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Theme/TemplateFilesTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Theme/TemplateFilesTest.php
index 828c5a99fc6f6e9660670b0dfcdd0e3223c3e446..52ea7983a681b5a2379a04e0449f7560011d1d3a 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Theme/TemplateFilesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Theme/TemplateFilesTest.php
@@ -72,9 +72,9 @@ class TemplateFilesTest extends \Magento\TestFramework\TestCase\AbstractIntegrit
 
         $themes = $this->_getDesignThemes();
         foreach ($themes as $theme) {
-            /** @var \Magento\Core\Model\Layout\Merge $layoutUpdate */
+            /** @var \Magento\View\Layout\ProcessorInterface $layoutUpdate */
             $layoutUpdate = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Layout\Merge', array('theme' => $theme));
+            ->create('Magento\View\Layout\ProcessorInterface', array('theme' => $theme));
             $layoutTemplates = $this->_getLayoutTemplates($layoutUpdate->getFileLayoutUpdatesXml());
             foreach ($layoutTemplates as $templateData) {
                 $templates[] = array_merge(array($theme->getArea(), $theme->getId()), $templateData);
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Theme/ViewFilesTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Theme/ViewFilesTest.php
index 34bc16aa894ec40b3ac41ab47264ba4821ffced3..c5557a9e8598481c1c110e1513a31cd50bf8b4ba 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Theme/ViewFilesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Theme/ViewFilesTest.php
@@ -134,14 +134,14 @@ class ViewFilesTest extends \Magento\TestFramework\TestCase\AbstractIntegrity
 
         // Find files, declared in views
         $files = array();
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($themes as $theme) {
             $this->_collectGetViewUrlInvokes($theme, $files);
         }
 
         // Populate data provider in correspondence of themes to view files
         $result = array();
-        /** @var $theme \Magento\Core\Model\Theme */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($themes as $theme) {
             if (!isset($files[$theme->getId()])) {
                 continue;
@@ -156,7 +156,7 @@ class ViewFilesTest extends \Magento\TestFramework\TestCase\AbstractIntegrity
     /**
      * Collect getViewUrl() from theme templates
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @param array &$files
      */
     protected function _collectGetViewUrlInvokes($theme, &$files)
@@ -177,9 +177,9 @@ class ViewFilesTest extends \Magento\TestFramework\TestCase\AbstractIntegrity
         }
 
         // Collect "addCss" and "addJs" from theme layout
-        /** @var \Magento\Core\Model\Layout\Merge $layoutUpdate */
+        /** @var \Magento\View\Layout\ProcessorInterface $layoutUpdate */
         $layoutUpdate = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Layout\Merge', array('theme' => $theme));
+            ->create('Magento\View\Layout\ProcessorInterface', array('theme' => $theme));
         $fileLayoutUpdates = $layoutUpdate->getFileLayoutUpdatesXml();
         $elements = $fileLayoutUpdates->xpath(
             '//block[@class="Magento\Page\Block\Html\Head\Css" or @class="Magento\Page\Block\Html\Head\Script"]'
@@ -251,7 +251,7 @@ class ViewFilesTest extends \Magento\TestFramework\TestCase\AbstractIntegrity
     {
         $this->markTestIncomplete('Should be fixed when static when we have static folder jslib implemented');
         $this->assertFileExists(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')->getDir('jslib')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')->getDir('jslib')
                 . DIRECTORY_SEPARATOR . $file
         );
     }
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/Theme/XmlFilesTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/Theme/XmlFilesTest.php
index a589589b41873cf1c6448258a4aebb9f4161e790..9b0a355b60d3586bd760d7e8455e55b52ac9ccff 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/Theme/XmlFilesTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/Theme/XmlFilesTest.php
@@ -42,7 +42,7 @@ class XmlFilesTest extends \PHPUnit_Framework_TestCase
         }
         $this->_validateConfigFile(
             $file,
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')->getDir('lib')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')->getDir('lib')
                 . '/Magento/Config/etc/view.xsd'
         );
     }
@@ -54,7 +54,7 @@ class XmlFilesTest extends \PHPUnit_Framework_TestCase
     {
         $result = array();
         $files = glob(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')->getDir('design')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')->getDir('design')
                 . '/*/*/view.xml'
         );
         foreach ($files as $file) {
@@ -79,7 +79,7 @@ class XmlFilesTest extends \PHPUnit_Framework_TestCase
     {
         $result = array();
         $files = glob(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')->getDir('design')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')->getDir('design')
                 . '/*/*', GLOB_ONLYDIR
         );
         foreach ($files as $themeDir) {
@@ -96,7 +96,7 @@ class XmlFilesTest extends \PHPUnit_Framework_TestCase
     {
         $this->_validateConfigFile(
             $file,
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')->getDir('lib')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')->getDir('lib')
                 . '/Magento/Config/etc/theme.xsd'
         );
     }
@@ -122,7 +122,7 @@ class XmlFilesTest extends \PHPUnit_Framework_TestCase
     {
         $result = array();
         $files = glob(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')->getDir('design')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')->getDir('design')
                 . '/*/*/theme.xml'
         );
         foreach ($files as $file) {
diff --git a/dev/tests/integration/testsuite/Magento/Test/Integrity/ViewFileReferenceTest.php b/dev/tests/integration/testsuite/Magento/Test/Integrity/ViewFileReferenceTest.php
index f5acb3093e9f987395fe404b1d4f5883b3841493..3a9fbc811f958d89da92eb3ec8e12ef9f5ef0a02 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Integrity/ViewFileReferenceTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Integrity/ViewFileReferenceTest.php
@@ -86,10 +86,10 @@ class ViewFileReferenceTest extends \PHPUnit_Framework_TestCase
     /**
      * Return array of locales, supported by the theme
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return array
      */
-    static protected function _getThemeLocales(\Magento\Core\Model\Theme $theme)
+    static protected function _getThemeLocales(\Magento\View\Design\ThemeInterface $theme)
     {
         $result = array();
         $patternDir = self::_getLocalePatternDir($theme);
@@ -106,11 +106,11 @@ class ViewFileReferenceTest extends \PHPUnit_Framework_TestCase
     /**
      * Return pattern for theme locale directories, where <locale_placeholder> is placed to mark a locale's location.
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @return string
      * @throws \Exception
      */
-    static protected function _getLocalePatternDir(\Magento\Core\Model\Theme $theme)
+    static protected function _getLocalePatternDir(\Magento\View\Design\ThemeInterface $theme)
     {
         $localePlaceholder = '<locale_placeholder>';
         $params = array(
@@ -166,11 +166,11 @@ class ViewFileReferenceTest extends \PHPUnit_Framework_TestCase
     /**
      * Resolves file to find its fallback'ed paths
      *
-     * @param \Magento\Core\Model\Theme $theme
+     * @param \Magento\View\Design\ThemeInterface $theme
      * @param string $file
      * @return array
      */
-    protected function _getFileResolutions(\Magento\Core\Model\Theme $theme, $file)
+    protected function _getFileResolutions(\Magento\View\Design\ThemeInterface $theme, $file)
     {
         $found = array();
         $fileResolved = self::$_fallback->getFile($theme->getArea(), $theme, $file);
diff --git a/dev/tests/integration/testsuite/Magento/Test/Tools/Layout/Reference/ProcessorTest.php b/dev/tests/integration/testsuite/Magento/Test/Tools/Layout/Reference/ProcessorTest.php
index 2c67134522535353d2c407ff1279bc8536550e16..09d54a26f53d8eeb91c3f0eb28552143afd5a3bf 100644
--- a/dev/tests/integration/testsuite/Magento/Test/Tools/Layout/Reference/ProcessorTest.php
+++ b/dev/tests/integration/testsuite/Magento/Test/Tools/Layout/Reference/ProcessorTest.php
@@ -61,8 +61,8 @@ class ProcessorTest extends \PHPUnit_Framework_TestCase
         }
         $this->_testDir = realpath(__DIR__ . DS . '_files') . DS;
 
-        $dir = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir');
-        $this->_varDir = $dir->getDir(\Magento\Core\Model\Dir::VAR_DIR) . DS . 'references' . DS;
+        $dir = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir');
+        $this->_varDir = $dir->getDir(\Magento\App\Dir::VAR_DIR) . DS . 'references' . DS;
         mkdir($this->_varDir, 0777, true);
 
         $this->_formatter = new Formatter();
diff --git a/dev/tests/integration/testsuite/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/Tab/GeneralTest.php b/dev/tests/integration/testsuite/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/Tab/GeneralTest.php
index aff0f0b98e47026eedc4c4d56f523ff990d6f0c3..f399290a707762b4b8764af0c011b82d6a887d69 100644
--- a/dev/tests/integration/testsuite/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/Tab/GeneralTest.php
+++ b/dev/tests/integration/testsuite/Magento/Theme/Block/Adminhtml/System/Design/Theme/Edit/Tab/GeneralTest.php
@@ -32,10 +32,10 @@ namespace Magento\Theme\Block\Adminhtml\System\Design\Theme\Edit\Tab;
  */
 class GeneralTest extends \PHPUnit_Framework_TestCase
 {
-    /** @var \Magento\Core\Model\Layout */
+    /** @var \Magento\View\LayoutInterface */
     protected $_layout;
 
-    /** @var \Magento\Core\Model\Theme */
+    /** @var \Magento\View\Design\ThemeInterface */
     protected $_theme;
 
     /** @var \Magento\Theme\Block\Adminhtml\System\Design\Theme\Edit\Tab_General */
@@ -44,9 +44,10 @@ class GeneralTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         parent::setUp();
-        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->get('Magento\View\LayoutInterface');
         $this->_theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Model\Theme');
+            ->create('Magento\View\Design\ThemeInterface');
         $this->_theme->setType(\Magento\Core\Model\Theme::TYPE_VIRTUAL);
         $this->_block = $this->_layout
             ->createBlock('Magento\Theme\Block\Adminhtml\System\Design\Theme\Edit\Tab\General');
diff --git a/dev/tests/integration/testsuite/Magento/Theme/Controller/Adminhtml/System/Design/ThemeControllerTest.php b/dev/tests/integration/testsuite/Magento/Theme/Controller/Adminhtml/System/Design/ThemeControllerTest.php
index aadda3aa6698396bfab319db579a47abe98cb5a0..222f85a44b342617d15c700b15c34df2d18e7420 100644
--- a/dev/tests/integration/testsuite/Magento/Theme/Controller/Adminhtml/System/Design/ThemeControllerTest.php
+++ b/dev/tests/integration/testsuite/Magento/Theme/Controller/Adminhtml/System/Design/ThemeControllerTest.php
@@ -35,7 +35,7 @@ class ThemeControllerTest extends \Magento\Backend\Utility\Controller
     /** @var \Magento\Filesystem */
     protected $_filesystem;
 
-    /** @var \Magento\Core\Model\Dir */
+    /** @var \Magento\App\Dir */
     protected $_dirs;
 
     protected function setUp()
@@ -43,7 +43,7 @@ class ThemeControllerTest extends \Magento\Backend\Utility\Controller
         parent::setUp();
 
         $this->_filesystem = $this->_objectManager->get('Magento\Filesystem');
-        $this->_dirs = $this->_objectManager->get('Magento\Core\Model\Dir');
+        $this->_dirs = $this->_objectManager->get('Magento\App\Dir');
     }
 
     /**
@@ -61,7 +61,7 @@ class ThemeControllerTest extends \Magento\Backend\Utility\Controller
             )
         );
 
-        $theme = $this->_objectManager->create('Magento\Core\Model\Theme')->getCollection()->getFirstItem();
+        $theme = $this->_objectManager->create('Magento\View\Design\ThemeInterface')->getCollection()->getFirstItem();
 
         $this->getRequest()->setPost('id', $theme->getId());
         $this->dispatch('backend/admin/system_design_theme/uploadjs');
@@ -82,7 +82,7 @@ class ThemeControllerTest extends \Magento\Backend\Utility\Controller
          * Uploader can copy(upload) and then remove this temporary file.
          */
         $fileName = implode(DIRECTORY_SEPARATOR, array(__DIR__, '_files', 'simple-js-file.js'));
-        $varDir = $this->_dirs->getDir(\Magento\Core\Model\Dir::VAR_DIR);
+        $varDir = $this->_dirs->getDir(\Magento\App\Dir::VAR_DIR);
         $destinationFilePath = $varDir . DIRECTORY_SEPARATOR . 'simple-js-file.js';
 
         $this->_filesystem->copy($fileName, $destinationFilePath);
diff --git a/dev/tests/integration/testsuite/Magento/Theme/Model/Wysiwyg/StorageTest.php b/dev/tests/integration/testsuite/Magento/Theme/Model/Wysiwyg/StorageTest.php
index c39c05a91d445cd746775996b30b07786e548e18..bf50a24d53d97ab523a3d761a1c9dedf86afb9e9 100644
--- a/dev/tests/integration/testsuite/Magento/Theme/Model/Wysiwyg/StorageTest.php
+++ b/dev/tests/integration/testsuite/Magento/Theme/Model/Wysiwyg/StorageTest.php
@@ -32,7 +32,7 @@ namespace Magento\Theme\Model\Wysiwyg;
 class StorageTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Controller\Request\Http|PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\RequestInterface|PHPUnit_Framework_MockObject_MockObject
      */
     protected $_request;
 
@@ -62,11 +62,11 @@ class StorageTest extends \PHPUnit_Framework_TestCase
         $this->_filesystem = $this->_objectManager->get('Magento\Filesystem');
         $this->_filesystem->setIsAllowCreateDirectories(true);
 
-        /** @var $theme \Magento\Core\Model\Theme */
-        $theme = $this->_objectManager->create('Magento\Core\Model\Theme')->getCollection()->getFirstItem();
+        /** @var $theme \Magento\View\Design\ThemeInterface */
+        $theme = $this->_objectManager->create('Magento\View\Design\ThemeInterface')->getCollection()->getFirstItem();
 
-        /** @var $request \Magento\Core\Controller\Request\Http */
-        $request = $this->_objectManager->get('Magento\Core\Controller\Request\Http');
+        /** @var $request \Magento\App\Request\Http */
+        $request = $this->_objectManager->get('Magento\App\Request\Http');
         $request->setParam(\Magento\Theme\Helper\Storage::PARAM_THEME_ID, $theme->getId());
         $request->setParam(\Magento\Theme\Helper\Storage::PARAM_CONTENT_TYPE,
             \Magento\Theme\Model\Wysiwyg\Storage::TYPE_IMAGE);
diff --git a/dev/tests/integration/testsuite/Magento/Usa/Block/Adminhtml/Dhl/UnitofmeasureTest.php b/dev/tests/integration/testsuite/Magento/Usa/Block/Adminhtml/Dhl/UnitofmeasureTest.php
index 6f2cc96fd2595a8505936f704cb5f043b9acac85..7e478a7a509487f11e62eee13e3d6d42984a0a02 100644
--- a/dev/tests/integration/testsuite/Magento/Usa/Block/Adminhtml/Dhl/UnitofmeasureTest.php
+++ b/dev/tests/integration/testsuite/Magento/Usa/Block/Adminhtml/Dhl/UnitofmeasureTest.php
@@ -40,7 +40,7 @@ class UnitofmeasureTest extends \PHPUnit_Framework_TestCase
             )
         ));
         /** @var $layout \Magento\Core\Model\Layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         /** @var $block \Magento\Usa\Block\Adminhtml\Dhl\Unitofmeasure */
         $block = $layout->createBlock('Magento\Usa\Block\Adminhtml\Dhl\Unitofmeasure');
         $this->assertNotEmpty($block->toHtml());
diff --git a/dev/tests/integration/testsuite/Magento/User/Block/Role/Grid/UserTest.php b/dev/tests/integration/testsuite/Magento/User/Block/Role/Grid/UserTest.php
index e8a6d488f62480e6f1434253939e9748fc79a0a8..f314e26b055ad644dabe8f409572301531c2b048 100644
--- a/dev/tests/integration/testsuite/Magento/User/Block/Role/Grid/UserTest.php
+++ b/dev/tests/integration/testsuite/Magento/User/Block/Role/Grid/UserTest.php
@@ -39,7 +39,7 @@ class UserTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $this->_block = $layout->createBlock('Magento\User\Block\Role\Grid\User');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/User/Block/Role/Tab/EditTest.php b/dev/tests/integration/testsuite/Magento/User/Block/Role/Tab/EditTest.php
index 1af52bf8497709ad4023f655e092403b3dfc0733..c543fd97a30d35f5b9ebdc9244a5abb5fa22112d 100644
--- a/dev/tests/integration/testsuite/Magento/User/Block/Role/Tab/EditTest.php
+++ b/dev/tests/integration/testsuite/Magento/User/Block/Role/Tab/EditTest.php
@@ -42,7 +42,7 @@ class EditTest extends \PHPUnit_Framework_TestCase
         $roleAdmin = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
             ->create('Magento\User\Model\Role');
         $roleAdmin->load(\Magento\TestFramework\Bootstrap::ADMIN_ROLE_NAME, 'role_name');
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Controller\Request\Http')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\RequestInterface')
             ->setParam('rid', $roleAdmin->getId());
 
         $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/Layout/ElementTest.php b/dev/tests/integration/testsuite/Magento/View/Layout/ElementTest.php
similarity index 88%
rename from dev/tests/integration/testsuite/Magento/Core/Model/Layout/ElementTest.php
rename to dev/tests/integration/testsuite/Magento/View/Layout/ElementTest.php
index a2cac9c1288b872b933279e9e333e14e4bae0548..8f2561f7af56efd766271e0106032f7e31446722 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Model/Layout/ElementTest.php
+++ b/dev/tests/integration/testsuite/Magento/View/Layout/ElementTest.php
@@ -25,12 +25,12 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-namespace Magento\Core\Model\Layout;
+namespace Magento\View\Layout;
 
 class ElementTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Layout\Element
+     * @var \Magento\View\Layout\Element
      */
     protected $_model;
 
@@ -40,7 +40,7 @@ class ElementTest extends \PHPUnit_Framework_TestCase
          * @TODO: Need to use ObjectManager instead 'new'.
          * On this moment we have next bug MAGETWO-4274 which blocker for this key.
          */
-        $this->_model = new \Magento\Core\Model\Layout\Element(__DIR__ . '/../_files/_layout_update.xml', 0, true);
+        $this->_model = new \Magento\View\Layout\Element(__DIR__ . '/_files/_layout_update.xml', 0, true);
 
         list($blockNode) = $this->_model->xpath('//block[@name="head"]');
         list($actionNode) = $this->_model->xpath('//action[@method="setTitle"]');
@@ -48,7 +48,7 @@ class ElementTest extends \PHPUnit_Framework_TestCase
         $this->assertEmpty($blockNode->attributes()->parent);
         $this->assertEmpty($actionNode->attributes()->block);
 
-        $this->_model->prepare(array());
+        $this->_model->prepare();
 
         $this->assertEquals('root', (string)$blockNode->attributes()->parent);
         $this->assertEquals('Magento\Adminhtml\Block\Page\Head', (string)$blockNode->attributes()->class);
diff --git a/dev/tests/integration/testsuite/Magento/Core/Model/_files/_layout_update.xml b/dev/tests/integration/testsuite/Magento/View/Layout/_files/_layout_update.xml
similarity index 100%
rename from dev/tests/integration/testsuite/Magento/Core/Model/_files/_layout_update.xml
rename to dev/tests/integration/testsuite/Magento/View/Layout/_files/_layout_update.xml
diff --git a/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/AbstractFormTest.php b/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/AbstractFormTest.php
index 79f103458b489b771b3c77532916d1a4cf471c45..1c22013f27bdcb6021186fdfd755121a119e7f62 100644
--- a/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/AbstractFormTest.php
+++ b/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/AbstractFormTest.php
@@ -54,7 +54,7 @@ abstract class AbstractFormTest extends \PHPUnit_Framework_TestCase
     protected $_urlBuilder;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -70,7 +70,7 @@ abstract class AbstractFormTest extends \PHPUnit_Framework_TestCase
         $this->_urlBuilder = $this->getMockBuilder('Magento\Backend\Model\Url')
             ->disableOriginalConstructor()
             ->getMock();
-        $this->_layout = $this->_objectManager->get('Magento\Core\Model\Layout');
+        $this->_layout = $this->_objectManager->get('Magento\View\LayoutInterface');
         $this->_blockFactory = $this->_objectManager->get('Magento\Core\Model\BlockFactory');
         $this->_block = $this->_blockFactory->createBlock($this->_formClass, array(
             'context' => \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
diff --git a/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/Role/Edit/Tab/MainTest.php b/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/Role/Edit/Tab/MainTest.php
index 38aa37f4705a16fdc4d4237d9319b77745ebd73a..c92ff00f884c7aca11a794cffa97bf9be186c2c3 100644
--- a/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/Role/Edit/Tab/MainTest.php
+++ b/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/Role/Edit/Tab/MainTest.php
@@ -37,7 +37,7 @@ class MainTest extends \PHPUnit_Framework_TestCase
     protected $_objectManager;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -56,7 +56,7 @@ class MainTest extends \PHPUnit_Framework_TestCase
         parent::setUp();
 
         $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $this->_layout = $this->_objectManager->get('Magento\Core\Model\Layout');
+        $this->_layout = $this->_objectManager->get('Magento\View\LayoutInterface');
         $this->_blockFactory = $this->_objectManager->get('Magento\Core\Model\BlockFactory');
         $this->_block = $this->_blockFactory->createBlock('Magento\Webapi\Block\Adminhtml\Role\Edit\Tab\Main');
         $this->_layout->addBlock($this->_block);
@@ -64,7 +64,7 @@ class MainTest extends \PHPUnit_Framework_TestCase
 
     protected function tearDown()
     {
-        $this->_objectManager->removeSharedInstance('Magento\Core\Model\Layout');
+        $this->_objectManager->removeSharedInstance('Magento\View\LayoutInterface');
         $this->_objectManager->removeSharedInstance('Magento\Core\Model\BlockFactory');
         unset($this->_objectManager, $this->_layout, $this->_blockFactory, $this->_block);
     }
diff --git a/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/Role/Edit/Tab/ResourceTest.php b/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/Role/Edit/Tab/ResourceTest.php
index 31abd02b34fd5e888fdee5b3111b765d23ae6201..99a304659b24c718633b157e03927d0f0d48e51b 100644
--- a/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/Role/Edit/Tab/ResourceTest.php
+++ b/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/Role/Edit/Tab/ResourceTest.php
@@ -37,7 +37,7 @@ class ResourceTest extends \PHPUnit_Framework_TestCase
     protected $_objectManager;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -73,7 +73,7 @@ class ResourceTest extends \PHPUnit_Framework_TestCase
             ->getMock();
 
         $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $this->_layout = $this->_objectManager->get('Magento\Core\Model\Layout');
+        $this->_layout = $this->_objectManager->get('Magento\View\LayoutInterface');
         $this->_blockFactory = $this->_objectManager->get('Magento\Core\Model\BlockFactory');
         $this->_block = $this->_blockFactory->createBlock('Magento\Webapi\Block\Adminhtml\Role\Edit\Tab\Resource',
             array(
@@ -86,7 +86,7 @@ class ResourceTest extends \PHPUnit_Framework_TestCase
 
     protected function tearDown()
     {
-        $this->_objectManager->removeSharedInstance('Magento\Core\Model\Layout');
+        $this->_objectManager->removeSharedInstance('Magento\View\LayoutInterface');
         unset($this->_objectManager, $this->_layout, $this->_resourceProvider, $this->_blockFactory, $this->_block);
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/User/Edit/Tab/MainTest.php b/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/User/Edit/Tab/MainTest.php
index 1290368e4bc5be640fb6091207b219824bd6911f..a3d0dc610687fa47612db99daddd190268193743 100644
--- a/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/User/Edit/Tab/MainTest.php
+++ b/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/User/Edit/Tab/MainTest.php
@@ -37,7 +37,7 @@ class MainTest extends \PHPUnit_Framework_TestCase
     protected $_objectManager;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -56,7 +56,7 @@ class MainTest extends \PHPUnit_Framework_TestCase
         parent::setUp();
 
         $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $this->_layout = $this->_objectManager->get('Magento\Core\Model\Layout');
+        $this->_layout = $this->_objectManager->get('Magento\View\LayoutInterface');
         $this->_blockFactory = $this->_objectManager->get('Magento\Core\Model\BlockFactory');
         $this->_block = $this->_blockFactory->createBlock('Magento\Webapi\Block\Adminhtml\User\Edit\Tab\Main');
         $this->_layout->addBlock($this->_block);
@@ -64,7 +64,7 @@ class MainTest extends \PHPUnit_Framework_TestCase
 
     protected function tearDown()
     {
-        $this->_objectManager->removeSharedInstance('Magento\Core\Model\Layout');
+        $this->_objectManager->removeSharedInstance('Magento\View\LayoutInterface');
         unset($this->_objectManager, $this->_urlBuilder, $this->_layout, $this->_blockFactory, $this->_block);
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/User/Edit/TabsTest.php b/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/User/Edit/TabsTest.php
index f3c6df136eec711054af0674fd40941e315ca808..e88f01267e49144a5ce1794ee54f9caacb783435 100644
--- a/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/User/Edit/TabsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/User/Edit/TabsTest.php
@@ -37,7 +37,7 @@ class TabsTest extends \PHPUnit_Framework_TestCase
     protected $_objectManager;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -51,14 +51,14 @@ class TabsTest extends \PHPUnit_Framework_TestCase
         parent::setUp();
 
         $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $this->_layout = $this->_objectManager->get('Magento\Core\Model\Layout');
+        $this->_layout = $this->_objectManager->get('Magento\View\LayoutInterface');
         $this->_block = $this->_layout->createBlock('Magento\Webapi\Block\Adminhtml\User\Edit\Tabs',
             'webapi.user.edit.tabs');
     }
 
     protected function tearDown()
     {
-        $this->_objectManager->removeSharedInstance('Magento\Core\Model\Layout');
+        $this->_objectManager->removeSharedInstance('Magento\View\LayoutInterface');
         unset($this->_objectManager, $this->_layout, $this->_block);
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/User/EditTest.php b/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/User/EditTest.php
index 72cbd40d3684957bf06bcba24211bbc9d956e588..277e1383fe27053bb6eee1c7746e164a63ab598a 100644
--- a/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/User/EditTest.php
+++ b/dev/tests/integration/testsuite/Magento/Webapi/Block/Adminhtml/User/EditTest.php
@@ -37,7 +37,7 @@ class EditTest extends \PHPUnit_Framework_TestCase
     protected $_objectManager;
 
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout;
 
@@ -54,7 +54,8 @@ class EditTest extends \PHPUnit_Framework_TestCase
         parent::setUp();
 
         $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->get('Magento\View\LayoutInterface');
         $this->_block = $this->_layout->createBlock('Magento\Webapi\Block\Adminhtml\User\Edit');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Webapi/Model/Soap/ServerTest.php b/dev/tests/integration/testsuite/Magento/Webapi/Model/Soap/ServerTest.php
index 698b73f6ee38a0fd8cf43f92c3cf79416b2fdeee..b143cab5e97d82bf732644f0a75ab33c39dcd309 100644
--- a/dev/tests/integration/testsuite/Magento/Webapi/Model/Soap/ServerTest.php
+++ b/dev/tests/integration/testsuite/Magento/Webapi/Model/Soap/ServerTest.php
@@ -27,8 +27,15 @@ namespace Magento\Webapi\Model\Soap;
 
 class ServerTest extends \PHPUnit_Framework_TestCase
 {
-    /** @var \Magento\Core\Model\Config */
-    protected $_configMock;
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_configScopeMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_areaListMock;
 
     /** @var \Magento\Webapi\Controller\Soap\Request */
     protected $_requestMock;
@@ -51,8 +58,9 @@ class ServerTest extends \PHPUnit_Framework_TestCase
             ->disableOriginalConstructor()->getMock();
         $this->_storeMock = $this->getMockBuilder('Magento\Core\Model\Store')
             ->disableOriginalConstructor()->getMock();
-        $this->_configMock = $this->getMockBuilder('Magento\Core\Model\Config')
-            ->disableOriginalConstructor()->getMock();
+
+        $this->_areaListMock = $this->getMock('Magento\App\AreaList', array(), array(), '', false);
+        $this->_configScopeMock = $this->getMock('Magento\Config\ScopeInterface');
         $this->_storeManagerMock->expects($this->any())
             ->method('getStore')->will($this->returnValue($this->_storeMock));
         $this->_requestMock = $this->getMockBuilder('Magento\Webapi\Controller\Soap\Request')
@@ -75,7 +83,8 @@ class ServerTest extends \PHPUnit_Framework_TestCase
         $this->_storeMock->expects($this->once())->method('getConfig')->will($this->returnValue(true));
         /** Create SOAP server object. */
         $server = new \Magento\Webapi\Model\Soap\Server(
-            $this->_configMock,
+            $this->_areaListMock,
+            $this->_configScopeMock,
             $this->_requestMock,
             $this->_domDocumentFactory,
             $this->_storeManagerMock,
@@ -95,7 +104,8 @@ class ServerTest extends \PHPUnit_Framework_TestCase
         $this->_storeMock->expects($this->once())->method('getConfig')->will($this->returnValue(false));
         /** Create SOAP server object. */
         $server = new \Magento\Webapi\Model\Soap\Server(
-            $this->_configMock,
+            $this->_areaListMock,
+            $this->_configScopeMock,
             $this->_requestMock,
             $this->_domDocumentFactory,
             $this->_storeManagerMock,
diff --git a/dev/tests/integration/testsuite/Magento/Webhook/Block/Adminhtml/Subscription/EditTest.php b/dev/tests/integration/testsuite/Magento/Webhook/Block/Adminhtml/Subscription/EditTest.php
index 9ad59a44bff3f84aa657dd245ffd38187aa91d82..048abee3d30bba29d0c2eb52305ffdf59cf70773 100644
--- a/dev/tests/integration/testsuite/Magento/Webhook/Block/Adminhtml/Subscription/EditTest.php
+++ b/dev/tests/integration/testsuite/Magento/Webhook/Block/Adminhtml/Subscription/EditTest.php
@@ -49,8 +49,8 @@ class EditTest extends \PHPUnit_Framework_TestCase
 
     public function testAddSubscriptionTitle()
     {
-        /** @var \Magento\Core\Model\Layout $layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\Core\Model\Layout');
+        /** @var \Magento\View\LayoutInterface $layout */
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\View\LayoutInterface');
 
         $subscription = array(
             'subscription_id' => null,
@@ -68,8 +68,8 @@ class EditTest extends \PHPUnit_Framework_TestCase
 
     public function testEditSubscriptionTitle()
     {
-        /** @var \Magento\Core\Model\Layout $layout */
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\Core\Model\Layout');
+        /** @var \Magento\View\LayoutInterface $layout */
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\View\LayoutInterface');
 
         $subscription = array(
             'subscription_id' => 1,
diff --git a/dev/tests/integration/testsuite/Magento/Webhook/Model/Resource/Subscription/Grid/CollectionTest.php b/dev/tests/integration/testsuite/Magento/Webhook/Model/Resource/Subscription/Grid/CollectionTest.php
index d22f5ee9a494b05d6352f101388210b690fdc1f7..6fc8337ff13a48674464cb866a426568b4451571 100644
--- a/dev/tests/integration/testsuite/Magento/Webhook/Model/Resource/Subscription/Grid/CollectionTest.php
+++ b/dev/tests/integration/testsuite/Magento/Webhook/Model/Resource/Subscription/Grid/CollectionTest.php
@@ -109,21 +109,21 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $dirs = $objectManager->create(
-            'Magento\Core\Model\Dir',
+            'Magento\App\Dir',
             array(
                 'baseDir' => BP,
                 'dirs' => array(
-                    \Magento\Core\Model\Dir::MODULES => __DIR__ . '/_files',
-                    \Magento\Core\Model\Dir::CONFIG => __DIR__ . '/_files',
+                    \Magento\App\Dir::MODULES => __DIR__ . '/_files',
+                    \Magento\App\Dir::CONFIG => __DIR__ . '/_files',
                 ),
             )
         );
 
-        $moduleList = $objectManager->create('Magento\Core\Model\ModuleList', array(
-            'reader' => $objectManager->create('Magento\Core\Model\Module\Declaration\Reader\Filesystem',
+        $moduleList = $objectManager->create('Magento\App\ModuleList', array(
+            'reader' => $objectManager->create('Magento\App\Module\Declaration\Reader\Filesystem',
                 array(
                     'fileResolver' => $objectManager->create(
-                        'Magento\Core\Model\Module\Declaration\FileResolver',
+                        'Magento\App\Module\Declaration\FileResolver',
                         array(
                             'applicationDirs' => $dirs
                         )
diff --git a/dev/tests/integration/testsuite/Magento/Webhook/Model/Subscription/ConfigTest.php b/dev/tests/integration/testsuite/Magento/Webhook/Model/Subscription/ConfigTest.php
index d6f17fc0410c1b5f110f514981853bb254f685df..efc370ce964c03b5c16bb84c6356695bf24ca5c1 100644
--- a/dev/tests/integration/testsuite/Magento/Webhook/Model/Subscription/ConfigTest.php
+++ b/dev/tests/integration/testsuite/Magento/Webhook/Model/Subscription/ConfigTest.php
@@ -57,25 +57,25 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
     {
         $this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $dirs = $this->_objectManager->create(
-            'Magento\Core\Model\Dir',
+            'Magento\App\Dir',
             array(
                 'baseDir' => BP,
                 'dirs'    => array(
-                    \Magento\Core\Model\Dir::MODULES => __DIR__ . '/_files',
-                    \Magento\Core\Model\Dir::CONFIG => __DIR__ . '/_files'
+                    \Magento\App\Dir::MODULES => __DIR__ . '/_files',
+                    \Magento\App\Dir::CONFIG => __DIR__ . '/_files'
                 ),
             )
         );
 
         $fileResolver = $this->_objectManager->create(
-            'Magento\Core\Model\Module\Declaration\FileResolver', array('applicationDirs' => $dirs)
+            'Magento\App\Module\Declaration\FileResolver', array('applicationDirs' => $dirs)
         );
-        $filesystemReader = $this->_objectManager->create('Magento\Core\Model\Module\Declaration\Reader\Filesystem',
+        $filesystemReader = $this->_objectManager->create('Magento\App\Module\Declaration\Reader\Filesystem',
             array('fileResolver' => $fileResolver)
         );
         $moduleList = $this->_objectManager->create(
-            'Magento\Core\Model\ModuleList',
-            array('reader' => $filesystemReader, 'cache' => $this->getMock("Magento\Config\CacheInterface"))
+            'Magento\App\ModuleList',
+            array('reader' => $filesystemReader, 'cache' => $this->getMock('Magento\Config\CacheInterface'))
         );
 
         /**
diff --git a/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/ContainerTest.php b/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/ContainerTest.php
index c31123d0f63c1abf2ba4ffa5d35bbab51060467e..efb2ed5c9291bdb31cef1aedc6143f67492a6713 100644
--- a/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/ContainerTest.php
+++ b/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/ContainerTest.php
@@ -41,7 +41,7 @@ class ContainerTest extends \PHPUnit_Framework_TestCase
     {
         parent::setUp();
 
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Chooser\Container');
     }
 
diff --git a/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/LayoutTest.php b/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/LayoutTest.php
index 745608a4ae7e89da8a55423b2ea98f1151136954..c697145cb2e65d475fdc570f5e330ed050ea1a35 100644
--- a/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/LayoutTest.php
+++ b/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Chooser/LayoutTest.php
@@ -46,7 +46,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
         $layoutUtility = new \Magento\Core\Utility\Layout($this);
         $args = array(
             'context' => $objectManager->get('Magento\Core\Block\Template\Context'),
-            'layoutMergeFactory' => $this->getMock('Magento\Core\Model\Layout\MergeFactory',
+            'layoutProcessorFactory' => $this->getMock('Magento\View\Layout\ProcessorFactory',
                 array(), array(), '', false),
             'themesFactory' => $objectManager->get('Magento\Core\Model\Resource\Theme\CollectionFactory'),
             'data' => array(
@@ -58,11 +58,11 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
         );
         $this->_block = $this->getMock(
             'Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Chooser\Layout',
-            array('_getLayoutMerge'), $args
+            array('_getLayoutProcessor'), $args
         );
         $this->_block
             ->expects($this->any())
-            ->method('_getLayoutMerge')
+            ->method('_getLayoutProcessor')
             ->will($this->returnCallback(
                 function () use ($layoutUtility) {
                     return $layoutUtility->getLayoutUpdateFromFixture(glob(__DIR__ . '/_files/layout/*.xml'));
diff --git a/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Main/LayoutTest.php b/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Main/LayoutTest.php
index 265659c1082411bd54ef98a99257c493b38bf970..44f9d4479f5fe0e0e60acce748aa7343c3aab182 100644
--- a/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Main/LayoutTest.php
+++ b/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/Main/LayoutTest.php
@@ -34,7 +34,7 @@ namespace Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Tab\Main;
 class LayoutTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Tab\Main_Layout
+     * @var \Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Tab\Main\Layout
      */
     protected $_block;
 
@@ -42,7 +42,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
     {
         parent::setUp();
 
-        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $this->_block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock(
                 'Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Tab\Main\Layout',
                 '',
@@ -52,7 +52,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
                 ))
             );
         $this->_block->setLayout(
-            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
         );
     }
 
@@ -61,7 +61,7 @@ class LayoutTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetLayoutsChooser()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_FRONTEND)
             ->setDefaultDesignTheme();
 
diff --git a/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/MainTest.php b/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/MainTest.php
index 3acefdd9b075352086a077072060c33639b6505d..7508d4464fe2fbef7f7edeb7bccad0b8a870a5c4 100644
--- a/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/MainTest.php
+++ b/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/Edit/Tab/MainTest.php
@@ -37,7 +37,7 @@ class MainTest extends \PHPUnit_Framework_TestCase
         /** @var $objectManager \Magento\TestFramework\ObjectManager */
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $objectManager->get('Magento\Core\Model\Registry')->register('current_widget_instance', new \Magento\Object());
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Tab\Main');
         $block->setTemplate(null);
         $block->toHtml();
@@ -45,4 +45,15 @@ class MainTest extends \PHPUnit_Framework_TestCase
         $this->assertInstanceOf('Magento\Data\Form\Element\Select', $element);
         $this->assertTrue($element->getDisabled());
     }
+
+    public function testTypeElement()
+    {
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+            ->createBlock('Magento\Widget\Block\Adminhtml\Widget\Instance\Edit\Tab\Main');
+        $block->setTemplate(null);
+        $block->toHtml();
+        $element = $block->getForm()->getElement('instance_code');
+        $this->assertInstanceOf('Magento\Data\Form\Element\Select', $element);
+        $this->assertTrue($element->getDisabled());
+    }
 }
diff --git a/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/EditTest.php b/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/EditTest.php
index d97e9070b7796a9cbafab45472bd0e93e40c2c3b..76dbb591780d705aca9a8e712923e37bc2b1403d 100644
--- a/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/EditTest.php
+++ b/dev/tests/integration/testsuite/Magento/Widget/Block/Adminhtml/Widget/Instance/EditTest.php
@@ -39,8 +39,9 @@ class EditTest extends \PHPUnit_Framework_TestCase
     public function testConstruct()
     {
         $type = 'Magento\Catalog\Block\Product\Widget\NewWidget';
+        $code = 'catalog_product_newwidget';
         $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')
+            ->get('Magento\View\DesignInterface')
             ->setDefaultDesignTheme()
             ->getDesignTheme();
 
@@ -49,15 +50,16 @@ class EditTest extends \PHPUnit_Framework_TestCase
             ->create('Magento\Widget\Model\Widget\Instance');
         $widgetInstance
             ->setType($type)
+            ->setCode($code)
             ->setThemeId($theme->getId())
             ->save();
         /** @var $objectManager \Magento\TestFramework\ObjectManager */
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
         $objectManager->get('Magento\Core\Model\Registry')->register('current_widget_instance', $widgetInstance);
 
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Controller\Request\Http')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\RequestInterface')
             ->setParam('instance_id', $widgetInstance->getId());
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Widget\Block\Adminhtml\Widget\Instance\Edit', 'widget');
         $this->assertArrayHasKey('widget-delete_button', $block->getLayout()->getAllBlocks());
     }
diff --git a/dev/tests/integration/testsuite/Magento/Widget/Controller/Adminhtml/Widget/InstanceTest.php b/dev/tests/integration/testsuite/Magento/Widget/Controller/Adminhtml/Widget/InstanceTest.php
index b5dc02ee864bb68fff0a4e4763d0c7940aa08751..b0d76255a953358cb6249b886791e60d30398c9b 100644
--- a/dev/tests/integration/testsuite/Magento/Widget/Controller/Adminhtml/Widget/InstanceTest.php
+++ b/dev/tests/integration/testsuite/Magento/Widget/Controller/Adminhtml/Widget/InstanceTest.php
@@ -37,17 +37,22 @@ class InstanceTest extends \Magento\Backend\Utility\Controller
         parent::setUp();
 
         $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')
+            ->get('Magento\View\DesignInterface')
             ->setDefaultDesignTheme()
             ->getDesignTheme();
-        $this->getRequest()->setParam('type', 'Magento\Cms\Block\Widget\Page\Link');
+        $type = 'Magento\Cms\Block\Widget\Page\Link';
+        /** @var $model \Magento\Widget\Model\Widget\Instance */
+        $model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->create('Magento\Widget\Model\Widget\Instance');
+        $code = $model->setType($type)->getWidgetReference('type', $type, 'code');
+        $this->getRequest()->setParam('code', $code);
         $this->getRequest()->setParam('theme_id', $theme->getId());
     }
 
     public function testEditAction()
     {
         $this->dispatch('backend/admin/widget_instance/edit');
-        $this->assertContains('<option value="Magento\Cms\Block\Widget\Page\Link" selected="selected">',
+        $this->assertContains('<option value="cms_page_link" selected="selected">',
             $this->getResponse()->getBody()
         );
     }
diff --git a/dev/tests/integration/testsuite/Magento/Widget/Model/Config/DataTest.php b/dev/tests/integration/testsuite/Magento/Widget/Model/Config/DataTest.php
index ce76a4f56cd0ca20823b26effdeaeabdd140e694..6fbf093347585419bb88418af4921f55383857b0 100644
--- a/dev/tests/integration/testsuite/Magento/Widget/Model/Config/DataTest.php
+++ b/dev/tests/integration/testsuite/Magento/Widget/Model/Config/DataTest.php
@@ -40,36 +40,36 @@ class DataTest extends \PHPUnit_Framework_TestCase
     public function setUp()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        /** @var \Magento\Core\Model\Dir $dirs */
+        /** @var \Magento\App\Dir $dirs */
         $dirs = $objectManager->create(
-            'Magento\Core\Model\Dir', array(
+            'Magento\App\Dir', array(
                 'baseDir' => BP,
                 'dirs' => array(
-                    \Magento\Core\Model\Dir::MODULES => __DIR__ . '/_files/code',
-                    \Magento\Core\Model\Dir::CONFIG => __DIR__ . '/_files/code',
-                    \Magento\Core\Model\Dir::THEMES => __DIR__ . '/_files/design',
+                    \Magento\App\Dir::MODULES => __DIR__ . '/_files/code',
+                    \Magento\App\Dir::CONFIG => __DIR__ . '/_files/code',
+                    \Magento\App\Dir::THEMES => __DIR__ . '/_files/design',
                 )
             )
         );
 
-        /** @var \Magento\Core\Model\Module\Declaration\FileResolver $modulesDeclarations */
+        /** @var \Magento\App\Module\Declaration\FileResolver $modulesDeclarations */
         $modulesDeclarations = $objectManager->create(
-            'Magento\Core\Model\Module\Declaration\FileResolver', array(
+            'Magento\App\Module\Declaration\FileResolver', array(
                 'applicationDirs' => $dirs,
             )
         );
 
 
-        /** @var \Magento\Core\Model\Module\Declaration\Reader\Filesystem $filesystemReader */
+        /** @var \Magento\App\Module\Declaration\Reader\Filesystem $filesystemReader */
         $filesystemReader = $objectManager->create(
-            'Magento\Core\Model\Module\Declaration\Reader\Filesystem', array(
+            'Magento\App\Module\Declaration\Reader\Filesystem', array(
                 'fileResolver' => $modulesDeclarations,
             )
         );
 
-        /** @var \Magento\Core\Model\ModuleList $modulesList */
+        /** @var \Magento\App\ModuleList $modulesList */
         $modulesList = $objectManager->create(
-            'Magento\Core\Model\ModuleList', array(
+            'Magento\App\ModuleList', array(
                 'reader' => $filesystemReader,
             )
         );
diff --git a/dev/tests/integration/testsuite/Magento/Widget/Model/Config/FileResolverTest.php b/dev/tests/integration/testsuite/Magento/Widget/Model/Config/FileResolverTest.php
index d7a1e457e1388a47efe25de803bcfe3c25dbea6e..b98cc6e8589ffd15acc3eb710d7a383081ebae12 100644
--- a/dev/tests/integration/testsuite/Magento/Widget/Model/Config/FileResolverTest.php
+++ b/dev/tests/integration/testsuite/Magento/Widget/Model/Config/FileResolverTest.php
@@ -32,16 +32,16 @@ class FileResolverTest extends \PHPUnit_Framework_TestCase
      */
     private $_object;
 
-    /** @var \Magento\Core\Model\Dir/PHPUnit_Framework_MockObject_MockObject  */
+    /** @var \Magento\App\Dir/PHPUnit_Framework_MockObject_MockObject  */
     private $_applicationDirsMock;
 
     public function setUp()
     {
-        $this->_applicationDirsMock = $this->getMockBuilder('Magento\Core\Model\Dir')
+        $this->_applicationDirsMock = $this->getMockBuilder('Magento\App\Dir')
             ->disableOriginalConstructor()
             ->getMock();
 
-        $moduleListMock = $this->getMockBuilder('Magento\Core\Model\ModuleListInterface')
+        $moduleListMock = $this->getMockBuilder('Magento\App\ModuleListInterface')
             ->disableOriginalConstructor()
             ->getMock();
         $moduleListMock->expects($this->any())
diff --git a/dev/tests/integration/testsuite/Magento/Widget/Model/Config/ReaderTest.php b/dev/tests/integration/testsuite/Magento/Widget/Model/Config/ReaderTest.php
index 00124f90fa84d66617e79accf32d9c0350ad4d0a..9300eaacf6cb2aa54d346a27c37553447a8e71aa 100644
--- a/dev/tests/integration/testsuite/Magento/Widget/Model/Config/ReaderTest.php
+++ b/dev/tests/integration/testsuite/Magento/Widget/Model/Config/ReaderTest.php
@@ -35,35 +35,35 @@ class ReaderTest extends \PHPUnit_Framework_TestCase
     public function setUp()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        /** @var \Magento\Core\Model\Dir $dirs */
+        /** @var \Magento\App\Dir $dirs */
         $dirs = $objectManager->create(
-            'Magento\Core\Model\Dir', array(
+            'Magento\App\Dir', array(
                 'baseDir' => BP,
                 'dirs' => array(
-                    \Magento\Core\Model\Dir::MODULES => __DIR__ . '/_files/code',
-                    \Magento\Core\Model\Dir::CONFIG => __DIR__ . '/_files/code'
+                    \Magento\App\Dir::MODULES => __DIR__ . '/_files/code',
+                    \Magento\App\Dir::CONFIG => __DIR__ . '/_files/code'
                 )
             )
         );
 
-        /** @var \Magento\Core\Model\Module\Declaration\FileResolver $modulesDeclarations */
+        /** @var \Magento\App\Module\Declaration\FileResolver $modulesDeclarations */
         $modulesDeclarations = $objectManager->create(
-            'Magento\Core\Model\Module\Declaration\FileResolver', array(
+            'Magento\App\Module\Declaration\FileResolver', array(
                 'applicationDirs' => $dirs,
             )
         );
 
 
-        /** @var \Magento\Core\Model\Module\Declaration\Reader\Filesystem $filesystemReader */
+        /** @var \Magento\App\Module\Declaration\Reader\Filesystem $filesystemReader */
         $filesystemReader = $objectManager->create(
-            'Magento\Core\Model\Module\Declaration\Reader\Filesystem', array(
+            'Magento\App\Module\Declaration\Reader\Filesystem', array(
                 'fileResolver' => $modulesDeclarations,
             )
         );
 
-        /** @var \Magento\Core\Model\ModuleList $modulesList */
+        /** @var \Magento\App\ModuleList $modulesList */
         $modulesList = $objectManager->create(
-            'Magento\Core\Model\ModuleList', array(
+            'Magento\App\ModuleList', array(
                 'reader' => $filesystemReader,
             )
         );
diff --git a/dev/tests/integration/testsuite/Magento/Widget/Model/Widget/ConfigTest.php b/dev/tests/integration/testsuite/Magento/Widget/Model/Widget/ConfigTest.php
index 4f7633b3c99efeb952fe00e6526b003b4c334947..b8b6742e265b30c523f9755c5292ac3751d57763 100644
--- a/dev/tests/integration/testsuite/Magento/Widget/Model/Widget/ConfigTest.php
+++ b/dev/tests/integration/testsuite/Magento/Widget/Model/Widget/ConfigTest.php
@@ -46,7 +46,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetPluginSettings()
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setDesignTheme('magento_basic', 'adminhtml');
 
         $config = new \Magento\Object();
diff --git a/dev/tests/integration/testsuite/Magento/Widget/Model/Widget/InstanceTest.php b/dev/tests/integration/testsuite/Magento/Widget/Model/Widget/InstanceTest.php
index 1aa2321a7c8329eaa38e499d5bae14cd2fff38bd..722a91f5ce17bed5a2e4129e188faea52c44b263 100644
--- a/dev/tests/integration/testsuite/Magento/Widget/Model/Widget/InstanceTest.php
+++ b/dev/tests/integration/testsuite/Magento/Widget/Model/Widget/InstanceTest.php
@@ -49,7 +49,7 @@ class InstanceTest extends \PHPUnit_Framework_TestCase
     public function testSetThemeId()
     {
         $theme = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->get('Magento\Core\Model\View\DesignInterface')
+            ->get('Magento\View\DesignInterface')
             ->setDefaultDesignTheme()
             ->getDesignTheme();
         $this->_model->setThemeId($theme->getId());
diff --git a/dev/tests/integration/testsuite/Magento/Widget/Model/WidgetTest.php b/dev/tests/integration/testsuite/Magento/Widget/Model/WidgetTest.php
index d02ffe6aa56b51ab1dc9ee059544daedadb2921b..27a0209bf7021c350160f5073a4da70be6f3d6ed 100644
--- a/dev/tests/integration/testsuite/Magento/Widget/Model/WidgetTest.php
+++ b/dev/tests/integration/testsuite/Magento/Widget/Model/WidgetTest.php
@@ -62,10 +62,10 @@ class WidgetTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetPlaceholderImageUrl($type, $expectedFile)
     {
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setDesignTheme('magento_basic', 'adminhtml');
-        $expectedPubFile = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Dir')
-                ->getDir(\Magento\Core\Model\Dir::STATIC_VIEW) . "/adminhtml/magento_basic/en_US/{$expectedFile}";
+        $expectedPubFile = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\App\Dir')
+                ->getDir(\Magento\App\Dir::STATIC_VIEW) . "/adminhtml/magento_basic/en_US/{$expectedFile}";
         if (file_exists($expectedPubFile)) {
             unlink($expectedPubFile);
         }
@@ -102,13 +102,13 @@ class WidgetTest extends \PHPUnit_Framework_TestCase
     public function testGetPlaceholderImageUrlAtTheme()
     {
         $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
-        /** @var \Magento\Core\Model\Dir $dir */
-        $dir = $objectManager->get('Magento\Core\Model\Dir');
+        /** @var \Magento\App\Dir $dir */
+        $dir = $objectManager->get('Magento\App\Dir');
 
         $property = new \ReflectionProperty($dir, '_dirs');
         $property->setAccessible(true);
         $dirs = $property->getValue($dir);
-        $dirs[\Magento\Core\Model\Dir::THEMES] = dirname(__DIR__) . '/_files/design';
+        $dirs[\Magento\App\Dir::THEMES] = dirname(__DIR__) . '/_files/design';
         $property->setValue($dir, $dirs);
 
         $actualFile = $this->testGetPlaceholderImageUrl(
diff --git a/dev/tests/integration/testsuite/Magento/Wishlist/Block/AbstractTest.php b/dev/tests/integration/testsuite/Magento/Wishlist/Block/AbstractTest.php
index 773c7b12a8b64008d48a981b45485725bcb987ac..478e5d8528872aecee8259bb257818f420f97d30 100644
--- a/dev/tests/integration/testsuite/Magento/Wishlist/Block/AbstractTest.php
+++ b/dev/tests/integration/testsuite/Magento/Wishlist/Block/AbstractTest.php
@@ -59,7 +59,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
     {
         \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\App')
             ->getArea(\Magento\Core\Model\App\Area::AREA_FRONTEND)->load();
-        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\View\DesignInterface')
+        \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\DesignInterface')
             ->setArea(\Magento\Core\Model\App\Area::AREA_FRONTEND)
             ->setDefaultDesignTheme();
         $product = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
diff --git a/dev/tests/integration/testsuite/Magento/Wishlist/Block/Customer/Wishlist/Item/ColumnTest.php b/dev/tests/integration/testsuite/Magento/Wishlist/Block/Customer/Wishlist/Item/ColumnTest.php
index d7cb36ddf74f61fe434a6bc0cd05585cb7b07362..dde2bc457c271b1c08f062d4ca462daac591c49e 100644
--- a/dev/tests/integration/testsuite/Magento/Wishlist/Block/Customer/Wishlist/Item/ColumnTest.php
+++ b/dev/tests/integration/testsuite/Magento/Wishlist/Block/Customer/Wishlist/Item/ColumnTest.php
@@ -30,7 +30,7 @@ namespace Magento\Wishlist\Block\Customer\Wishlist\Item;
 class ColumnTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layout = null;
 
@@ -41,7 +41,8 @@ class ColumnTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $this->_layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
+            ->get('Magento\View\LayoutInterface');
         $this->_block = $this->_layout->addBlock('Magento\Wishlist\Block\Customer\Wishlist\Item\Column', 'test');
         $this->_layout->addBlock('Magento\Core\Block\Text', 'child', 'test');
     }
diff --git a/dev/tests/integration/testsuite/Magento/Wishlist/Block/Customer/Wishlist/Item/OptionsTest.php b/dev/tests/integration/testsuite/Magento/Wishlist/Block/Customer/Wishlist/Item/OptionsTest.php
index 0eee49131be35fda2a925f5d39cda72acb9fa7b1..d8c292a2c86092c7e7c9b23c6c2446c81652d8cb 100644
--- a/dev/tests/integration/testsuite/Magento/Wishlist/Block/Customer/Wishlist/Item/OptionsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Wishlist/Block/Customer/Wishlist/Item/OptionsTest.php
@@ -34,7 +34,7 @@ class OptionsTest extends \PHPUnit_Framework_TestCase
 {
     public function testGetTemplate()
     {
-        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout')
+        $block = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface')
             ->createBlock('Magento\Wishlist\Block\Customer\Wishlist\Item\Options');
         $this->assertEmpty($block->getTemplate());
         $product = new \Magento\Object(array('type_id' => 'test'));
diff --git a/dev/tests/integration/testsuite/Magento/Wishlist/Block/Customer/Wishlist/ItemsTest.php b/dev/tests/integration/testsuite/Magento/Wishlist/Block/Customer/Wishlist/ItemsTest.php
index 8b0e091bbe46bc1d933f28cf654384318cc23764..61eea886189487840354dd12cc0ae2a482a8c575 100644
--- a/dev/tests/integration/testsuite/Magento/Wishlist/Block/Customer/Wishlist/ItemsTest.php
+++ b/dev/tests/integration/testsuite/Magento/Wishlist/Block/Customer/Wishlist/ItemsTest.php
@@ -31,7 +31,7 @@ class ItemsTest extends \PHPUnit_Framework_TestCase
 {
     public function testGetColumns()
     {
-        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Model\Layout');
+        $layout = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\View\LayoutInterface');
         $block = $layout->addBlock('Magento\Wishlist\Block\Customer\Wishlist\Items', 'test');
         $child = $this->getMock('Magento\Core\Block\Text', array('isEnabled'),
             array(\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Core\Block\Context')));
diff --git a/dev/tests/js/testsuite/mage/suggest/tree-suggest-test.js b/dev/tests/js/testsuite/mage/suggest/tree-suggest-test.js
index 3f7427fbd5c66f0e933e42d07f69b8266c5f2198..9dd7b27eed65fec9d4b0a23f5b27fb1ca993636c 100644
--- a/dev/tests/js/testsuite/mage/suggest/tree-suggest-test.js
+++ b/dev/tests/js/testsuite/mage/suggest/tree-suggest-test.js
@@ -64,33 +64,6 @@ TreeSuggestTest.prototype.testInit = function() {
     assertEquals(treeSuggestInstance.widgetEventPrefix, 'suggest');
 };
 
-TreeSuggestTest.prototype.testBind = function() {
-    return; // test is broken, see https://jira.corp.x.com/browse/MAGETWO-9269
-    var event = jQuery.Event('keydown'),
-        proxyEventsExecuted = false,
-        treeSuggestInstance = this.treeSuggestCreate();
-
-    treeSuggestInstance.dropdown.show();
-
-    event.keyCode = jQuery.ui.keyCode.LEFT;
-    this.stub(treeSuggestInstance, '_proxyEvents').done(function() {
-        proxyEventsExecuted = true
-    });
-
-    treeSuggestInstance.element.trigger(event);
-    assertTrue(proxyEventsExecuted);
-
-    event.keyCode = $.ui.keyCode.RIGHT;
-    proxyEventsExecuted = false;
-    this.stub(treeSuggestInstance, '_proxyEvents').done(function() {
-        proxyEventsExecuted = true
-    });
-
-    treeSuggestInstance.dropdown.show();
-    treeSuggestInstance.element.trigger(event);
-    assertTrue(proxyEventsExecuted);
-};
-
 TreeSuggestTest.prototype.testClose = function() {
     var treeSuggestInstance = this.treeSuggestCreate(),
         elementFocused = false;
diff --git a/dev/tests/performance/framework/Magento/TestFramework/Application.php b/dev/tests/performance/framework/Magento/TestFramework/Application.php
index d09b3c9aa518d8f4cc03ae99838033439c45a027..4a4cfdbfb3703ea523cce8640ce7260bbbadca02 100644
--- a/dev/tests/performance/framework/Magento/TestFramework/Application.php
+++ b/dev/tests/performance/framework/Magento/TestFramework/Application.php
@@ -180,7 +180,7 @@ class Application
      */
     protected function _updateFilesystemPermissions()
     {
-        \Magento\Io\File::chmodRecursive($this->_objectManager->get('Magento\Core\Model\Dir')->getDir('var'), 0777);
+        \Magento\Io\File::chmodRecursive($this->_objectManager->get('Magento\App\Dir')->getDir('var'), 0777);
     }
 
     /**
diff --git a/dev/tests/static/framework/Magento/TestFramework/Utility/Classes.php b/dev/tests/static/framework/Magento/TestFramework/Utility/Classes.php
index d150d20c2eeeab4bc37ec13d7cc7d295279ce5c0..74b0f8e0fe30c06f2e3d2192a049a204e35317ca 100644
--- a/dev/tests/static/framework/Magento/TestFramework/Utility/Classes.php
+++ b/dev/tests/static/framework/Magento/TestFramework/Utility/Classes.php
@@ -222,9 +222,14 @@ class Classes
             $configDom->load($fileName);
             $xPath = new \DOMXPath($configDom);
             $vTypes = $xPath->query('/config/virtualType');
-            for ($i = 0; $i < $vTypes->length; $i++) {
-                $name = $vTypes->item($i)->attributes->getNamedItem('name')->textContent;
-                self::$_virtualClasses[$name] = $name;
+            /** @var \DOMNode $virtualType */
+            foreach ($vTypes as $virtualType) {
+                $name = $virtualType->attributes->getNamedItem('name')->textContent;
+                if (!$virtualType->attributes->getNamedItem('type')) {
+                    continue;
+                }
+                $type = $virtualType->attributes->getNamedItem('type')->textContent;
+                self::$_virtualClasses[$name] = $type;
             }
         }
 
@@ -232,6 +237,8 @@ class Classes
     }
 
     /**
+     * Check if instance is virtual type
+     *
      * @param $className string
      * @return bool
      */
@@ -244,7 +251,25 @@ class Classes
     }
 
     /**
-     * Check class is autogenerated
+     * Get real type name for virtual type
+     *
+     * @param string $className
+     * @return string
+     */
+    public static function resolveVirtualType($className)
+    {
+        if (false == self::isVirtual($className)) {
+            return $className;
+        }
+
+        $resolvedName = self::$_virtualClasses[$className];
+        return self::resolveVirtualType($resolvedName);
+    }
+
+
+
+    /**
+     * Check class is auto-generated
      *
      * @param string $className
      * @return bool
diff --git a/dev/tests/static/framework/Magento/TestFramework/Utility/Files.php b/dev/tests/static/framework/Magento/TestFramework/Utility/Files.php
index d7348a51128d43996e0f1df3b648191d81f8f76c..3158e3c69d380621ac7d980f4b96fd70397cc8af 100644
--- a/dev/tests/static/framework/Magento/TestFramework/Utility/Files.php
+++ b/dev/tests/static/framework/Magento/TestFramework/Utility/Files.php
@@ -113,13 +113,13 @@ class Files
     {
         $key = __METHOD__ . "/{$this->_path}/{$appCode}/{$otherCode}/{$templates}";
         if (!isset(self::$_cache[$key])) {
-            $namespace = $module = $area = $package = $theme = '*';
+            $namespace = $module = $area = $theme = '*';
 
             $files = array();
             if ($appCode) {
                 $files = array_merge(
                     glob($this->_path . '/app/*.php', GLOB_NOSORT),
-                    self::_getFiles(array("{$this->_path}/app/code/{$namespace}/{$module}"), '*.php')
+                    self::getFiles(array("{$this->_path}/app/code/{$namespace}/{$module}"), '*.php')
                 );
             }
             if ($otherCode) {
@@ -127,16 +127,16 @@ class Files
                     $files,
                     glob($this->_path . '/*.php', GLOB_NOSORT),
                     glob($this->_path . '/pub/*.php', GLOB_NOSORT),
-                    self::_getFiles(array("{$this->_path}/downloader"), '*.php'),
-                    self::_getFiles(array("{$this->_path}/lib/{Mage,Magento,Varien}"), '*.php')
+                    self::getFiles(array("{$this->_path}/downloader"), '*.php'),
+                    self::getFiles(array("{$this->_path}/lib/{Mage,Magento,Varien}"), '*.php')
                 );
             }
             if ($templates) {
                 $files = array_merge(
                     $files,
-                    self::_getFiles(array("{$this->_path}/app/code/{$namespace}/{$module}"), '*.phtml'),
-                    self::_getFiles(
-                        array("{$this->_path}/app/design/{$area}/{$package}/{$theme}/{$namespace}_{$module}"),
+                    self::getFiles(array("{$this->_path}/app/code/{$namespace}/{$module}"), '*.phtml'),
+                    self::getFiles(
+                        array("{$this->_path}/app/design/{$area}/{$theme}/{$namespace}_{$module}"),
                         '*.phtml'
                     )
                 );
@@ -173,37 +173,37 @@ class Files
             if ($appCode) {
                 $files = array_merge(
                     $files,
-                    self::_getFiles(array("{$this->_path}/app/code/Magento"), '*.php')
+                    self::getFiles(array("{$this->_path}/app/code/Magento"), '*.php')
                 );
             }
             if ($devTests) {
                 $files = array_merge(
                     $files,
-                    self::_getFiles(array("{$this->_path}/dev/tests"), '*.php')
+                    self::getFiles(array("{$this->_path}/dev/tests"), '*.php')
                 );
             }
             if ($devTools) {
                 $files = array_merge(
                     $files,
-                    self::_getFiles(array("{$this->_path}/dev/tools/Magento"), '*.php')
+                    self::getFiles(array("{$this->_path}/dev/tools/Magento"), '*.php')
                 );
             }
             if ($downloaderApp) {
                 $files = array_merge(
                     $files,
-                    self::_getFiles(array("{$this->_path}/downloader/app/Magento"), '*.php')
+                    self::getFiles(array("{$this->_path}/downloader/app/Magento"), '*.php')
                 );
             }
             if ($downloaderLib) {
                 $files = array_merge(
                     $files,
-                    self::_getFiles(array("{$this->_path}/downloader/lib/Magento"), '*.php')
+                    self::getFiles(array("{$this->_path}/downloader/lib/Magento"), '*.php')
                 );
             }
             if ($lib) {
                 $files = array_merge(
                     $files,
-                    self::_getFiles(array("{$this->_path}/lib/Magento"), '*.php')
+                    self::getFiles(array("{$this->_path}/lib/Magento"), '*.php')
                 );
             }
             self::$_cache[$key] = $files;
@@ -346,7 +346,7 @@ class Files
         if (!isset(self::$_cache[__METHOD__][$cacheKey])) {
             $files = array();
             if ($params['include_code']) {
-                $files = self::_getFiles(
+                $files = self::getFiles(
                     array(
                         "{$this->_path}/app/code/{$params['namespace']}/{$params['module']}"
                         . "/view/{$params['area']}/layout"
@@ -364,7 +364,7 @@ class Files
                 );
                 $files = array_merge(
                     $files,
-                    self::_getFiles(
+                    self::getFiles(
                         $dirPatterns,
                         '*.xml'
                     )
@@ -390,11 +390,11 @@ class Files
         if (isset(self::$_cache[$key])) {
             return self::$_cache[$key];
         }
-        $namespace = $module = $area = $package = $theme = $skin = '*';
-        $files = self::_getFiles(
+        $namespace = $module = $area = $theme = $skin = '*';
+        $files = self::getFiles(
             array(
                 "{$this->_path}/app/code/{$namespace}/{$module}/view/{$area}",
-                "{$this->_path}/app/design/{$area}/{$package}/{$theme}/skin/{$skin}",
+                "{$this->_path}/app/design/{$area}/{$theme}/skin/{$skin}",
                 "{$this->_path}/pub/lib/{mage,varien}"
             ),
             '*.js'
@@ -415,13 +415,13 @@ class Files
         if (isset(self::$_cache[$key])) {
             return self::$_cache[$key];
         }
-        $namespace = $module = $package = $theme = '*';
+        $namespace = $module = $theme = '*';
         $paths = array(
             "{$this->_path}/app/code/{$namespace}/{$module}/view/{$area}",
-            "{$this->_path}/app/design/{$area}/{$package}/{$theme}",
+            "{$this->_path}/app/design/{$area}/{$theme}",
             "{$this->_path}/pub/lib/varien",
         );
-        $files = self::_getFiles(
+        $files = self::getFiles(
             $paths,
             '*.js'
         );
@@ -430,29 +430,19 @@ class Files
             $adminhtmlPaths = array(
                 "{$this->_path}/pub/lib/mage/{adminhtml,backend}",
             );
-            $files = array_merge($files, self::_getFiles($adminhtmlPaths, '*.js'));
+            $files = array_merge($files, self::getFiles($adminhtmlPaths, '*.js'));
         } else {
             $frontendPaths = array("{$this->_path}/pub/lib/mage");
             /* current structure of /pub/lib/mage directory contains frontend javascript in the root,
                backend javascript in subdirectories. That's why script shouldn't go recursive throught subdirectories
                to get js files for frontend */
-            $files = array_merge($files, self::_getFiles($frontendPaths, '*.js', false));
+            $files = array_merge($files, self::getFiles($frontendPaths, '*.js', false));
         }
 
         self::$_cache[$key] = $files;
         return $files;
     }
 
-    /**
-     * Returns list of Twig files in Magento app directory.
-     *
-     * @return array
-     */
-    public function getTwigFiles()
-    {
-        return self::_getFiles(array($this->_path . '/app'), '*.twig');
-    }
-
     /**
      * Returns list of Phtml files in Magento app directory.
      *
@@ -474,7 +464,7 @@ class Files
         if (isset(self::$_cache[$key])) {
             return self::$_cache[$key];
         }
-        $files = self::_getFiles(array($this->_path . '/app/code/*/*/view/email'), '*.html');
+        $files = self::getFiles(array($this->_path . '/app/code/*/*/view/email'), '*.html');
         $result = self::composeDataSets($files);
         self::$_cache[$key] = $result;
         return $result;
@@ -493,7 +483,7 @@ class Files
             return self::$_cache[$key];
         }
 
-        $subFiles = self::_getFiles(
+        $subFiles = self::getFiles(
             array(
                 $this->_path . '/app',
                 $this->_path . '/dev',
@@ -526,7 +516,7 @@ class Files
      * @param string $fileNamePattern
      * @return array
      */
-    protected static function _getFiles(array $dirPatterns, $fileNamePattern, $recursive = true)
+    public static function getFiles(array $dirPatterns, $fileNamePattern, $recursive = true)
     {
         $result = array();
         foreach ($dirPatterns as $oneDirPattern) {
@@ -535,7 +525,7 @@ class Files
             $filesInDir = array_diff($entriesInDir, $subDirs);
 
             if ($recursive) {
-                $filesInSubDir = self::_getFiles($subDirs, $fileNamePattern);
+                $filesInSubDir = self::getFiles($subDirs, $fileNamePattern);
                 $result = array_merge($result, $filesInDir, $filesInSubDir);
             }
         }
@@ -548,7 +538,7 @@ class Files
      */
     public function getDiConfigs()
     {
-        $primaryConfigs = glob($this->_path . '/app/etc/di/*.xml');
+        $primaryConfigs = glob($this->_path . '/app/etc/{di.xml,*/di.xml}', GLOB_BRACE);
         $moduleConfigs = glob($this->_path . '/app/code/*/*/etc/{di,*/di}.xml', GLOB_BRACE);
         $configs = array_merge($primaryConfigs, $moduleConfigs);
         return $configs;
@@ -661,7 +651,7 @@ class Files
     {
         $key = __METHOD__ . "/{$module}";
         if (!isset(self::$_cache[$key])) {
-            $files = self::_getFiles(array("{$this->_path}/app/code/Magento/{$module}"), '*.php');
+            $files = self::getFiles(array("{$this->_path}/app/code/Magento/{$module}"), '*.php');
             self::$_cache[$key] = $files;
         }
 
diff --git a/dev/tests/static/phpunit.xml.dist b/dev/tests/static/phpunit.xml.dist
index aee6d138cf19ea18a8d8f42c10256da11a0cd271..80094e84bd9266c123302c5e666821ff282bf499 100644
--- a/dev/tests/static/phpunit.xml.dist
+++ b/dev/tests/static/phpunit.xml.dist
@@ -38,9 +38,6 @@
         <testsuite name="Code Integrity Tests">
             <directory>testsuite/Magento/Test/Integrity</directory>
         </testsuite>
-        <testsuite name="Twig Syntax Checker">
-            <directory>testsuite/Magento/Test/Twig/TwigExtensionTest.php</directory>
-        </testsuite>
     </testsuites>
     <php>
         <ini name="date.timezone" value="America/Los_Angeles"/>
diff --git a/dev/tests/static/testsuite/Magento/Test/Integrity/ClassesTest.php b/dev/tests/static/testsuite/Magento/Test/Integrity/ClassesTest.php
index 512ea7ece34c9fcadb243f8556d4f8afecbec676..364734d929f2b47e7ce09fa83995d43fe0f6ddf4 100644
--- a/dev/tests/static/testsuite/Magento/Test/Integrity/ClassesTest.php
+++ b/dev/tests/static/testsuite/Magento/Test/Integrity/ClassesTest.php
@@ -39,6 +39,10 @@ class ClassesTest extends \PHPUnit_Framework_TestCase
 
     protected static $_keywordsBlacklist = array("String", "Array", "Boolean", "Element");
 
+    protected static $_namespaceBlacklist = null;
+
+    protected static $_referenceBlackList = null;
+
     public function testPhpFiles()
     {
         $invoker = new \Magento\TestFramework\Utility\AggregateInvoker($this);
@@ -210,10 +214,13 @@ class ClassesTest extends \PHPUnit_Framework_TestCase
              * @param array $file
              */
             function ($file) {
-                $relativePath = str_replace(\Magento\TestFramework\Utility\Files::init()->getPathToSource(), "", $file);
+                $relativePath = str_replace(\Magento\TestFramework\Utility\Files::init()->getPathToSource() . "/",
+                    "",
+                    $file
+                );
                 // exceptions made for the files from the blacklist
-                $blacklist = require __DIR__ . '/NamespaceBlacklist.php';
-                if (in_array($relativePath, $blacklist)) {
+                self::_setNamespaceBlackList();
+                if (in_array($relativePath, self::$_namespaceBlacklist)) {
                     return;
                 }
 
@@ -237,7 +244,31 @@ class ClassesTest extends \PHPUnit_Framework_TestCase
         );
     }
 
+    protected function _setNamespaceBlackList()
+    {
+        if (!isset(self::$_namespaceBlacklist)) {
+            $blackList = array();
+            foreach (glob(__DIR__ . '/_files/blacklist/namespace.txt') as $list) {
+                $fileList = file($list, FILE_IGNORE_NEW_LINES);
+                foreach ($fileList as $currentFile) {
+                    $absolutePath =
+                        \Magento\TestFramework\Utility\Files::init()->getPathToSource() .
+                        DIRECTORY_SEPARATOR .
+                        $currentFile;
+                    if (is_dir($absolutePath)) {
+                        $recursiveFiles =
+                            \Magento\TestFramework\Utility\Files::getFiles(array($absolutePath), '*.php', true);
+                        $blackList = array_merge($blackList, $recursiveFiles);
+                    } else {
+                        array_push($blackList, $currentFile);
+                    }
+                }
 
+            }
+            self::$_namespaceBlacklist = $blackList;
+        }
+    }
+    
     /**
      * Assert PHP classes have valid formal namespaces according to file locations
      *
@@ -358,22 +389,30 @@ class ClassesTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * This function is to remove legacy code usages according to ReferenceBlacklist.php
+     * This function is to remove legacy code usages according to _files/blacklist/reference.txt
      * @param $classes
      * @return array
      */
     protected function referenceBlacklistFilter($classes)
     {
         // exceptions made for the files from the blacklist
-        $blacklist = require __DIR__ . '/ReferenceBlacklist.php';
+        self::_setReferenceBlacklist();
         foreach ($classes as $class) {
-            if (in_array($class, $blacklist)) {
+            if (in_array($class, self::$_referenceBlackList)) {
                 unset($classes[array_search($class, $classes)]);
             }
         }
         return $classes;
     }
 
+    protected function _setReferenceBlacklist()
+    {
+        if (!isset(self::$_referenceBlackList)) {
+            $blackList = file(__DIR__ . DIRECTORY_SEPARATOR . '_files/blacklist/reference.txt', FILE_IGNORE_NEW_LINES);
+            self::$_referenceBlackList = $blackList;
+        }
+    }
+
     /**
      * This function is to remove special cases (if any) from the list of found bad classes
      * @param array $badClasses
diff --git a/dev/tests/static/testsuite/Magento/Test/Integrity/Di/ConfigurationTest.php b/dev/tests/static/testsuite/Magento/Test/Integrity/Di/ConfigurationTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..9be734c294c224d6ca992dbcfdc21a34302203b8
--- /dev/null
+++ b/dev/tests/static/testsuite/Magento/Test/Integrity/Di/ConfigurationTest.php
@@ -0,0 +1,104 @@
+<?php
+/**
+ * DI configuration test. Checks configuration of types and virtual types parameters
+ *
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+
+namespace Magento\Test\Integrity\Di;
+
+class ConfigurationTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\ObjectManager\Config\Mapper\Dom()
+     */
+    protected $_mapper;
+
+    protected function setUp()
+    {
+        $basePath = \Magento\TestFramework\Utility\Files::init()->getPathToSource();
+        \Magento\Autoload\IncludePath::addIncludePath(array(
+            $basePath . DIRECTORY_SEPARATOR . 'app' . DIRECTORY_SEPARATOR . 'code',
+            $basePath . DIRECTORY_SEPARATOR . 'lib',
+        ));
+        $this->_mapper = new \Magento\ObjectManager\Config\Mapper\Dom();
+
+    }
+
+    /**
+     * @dataProvider configFilesDataProvider
+     */
+    public function testConfigurationOfInstanceParameters($file)
+    {
+        $dom = new \DOMDocument();
+        $dom->load($file);
+        $data = $this->_mapper->convert($dom);
+
+        foreach ($data as $instanceName => $parameters) {
+            if (!isset($parameters['parameters']) || empty($parameters['parameters'])) {
+                continue;
+            }
+
+            if (\Magento\TestFramework\Utility\Classes::isVirtual($instanceName)) {
+                $instanceName = \Magento\TestFramework\Utility\Classes::resolveVirtualType($instanceName);
+            }
+            $parameters = $parameters['parameters'];
+
+            if (!class_exists($instanceName)) {
+                $this->fail('Non existed class: ' . $instanceName);
+            }
+
+            $reflectionClass = new \ReflectionClass($instanceName);
+
+            $constructor = $reflectionClass->getConstructor();
+            if (!$constructor) {
+                $this->fail('Class ' . $instanceName . ' does not have __constructor');
+            }
+
+            $classParameters = $constructor->getParameters();
+            foreach ($classParameters as $classParameter) {
+                $parameterName = $classParameter->getName();
+                if (array_key_exists($parameterName, $parameters)) {
+                    unset($parameters[$parameterName]);
+                }
+            }
+            $this->assertEmpty($parameters,
+                'Configuration of ' . $instanceName
+                . ' contains data for non-existed parameters: ' . implode(', ', array_keys($parameters))
+                . ' in file: ' . $file
+            );
+        }
+    }
+
+    /**
+     * @return array
+     */
+    public function configFilesDataProvider()
+    {
+        $output = array();
+        $files = \Magento\TestFramework\Utility\Files::init()->getDiConfigs();
+        foreach ($files as $file) {
+            $output[$file] = array($file);
+        }
+        return $output;
+    }
+}
diff --git a/dev/tests/static/testsuite/Magento/Test/Integrity/NamespaceBlacklist.php b/dev/tests/static/testsuite/Magento/Test/Integrity/NamespaceBlacklist.php
deleted file mode 100644
index 2b0e29cbf76cdefeea6c27ea1a9ed823344724e6..0000000000000000000000000000000000000000
--- a/dev/tests/static/testsuite/Magento/Test/Integrity/NamespaceBlacklist.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-/**
- * Files excluded from the ClassesTest->testClassNamespace() for PSR-X standards
- *
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @category    tests
- * @package     static
- * @subpackage  Integrity
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-$i18nFixtureDir = '/dev/tests/integration/testsuite/Magento/Test/Tools/I18n/Code/Dictionary/_files/';
-$i18nLibDir = '/dev/tools/Magento/Tools/I18n/Zend/';
-$phpExemplar = '/dev/tests/static/testsuite/Magento/Test/Php/Exemplar/';
-
-return array(
-    '/dev/tests/unit/testsuite/Magento/Test/Tools/Di/_files/app/code/Magento/SomeModule/Model/Test.php',
-    '/dev/tests/unit/testsuite/Magento/Test/Tools/Di/_files/app/code/Magento/SomeModule/Helper/Test.php',
-    $i18nLibDir . 'Exception.php',
-    $i18nLibDir . 'Console/Getopt/Exception.php',
-    $i18nLibDir . 'Console/Getopt.php',
-    $i18nFixtureDir . 'source/app/code/Magento/FirstModule/Model/Model.php',
-    $i18nFixtureDir . 'source/app/code/Magento/SecondModule/Model/Model.php',
-    $i18nFixtureDir . 'source/unused/Model.php',
-    $i18nFixtureDir . 'source/app/code/Magento/FirstModule/Helper/Helper.php',
-    $phpExemplar . 'CodeMessTest/phpmd/input/coupling.php',
-    $phpExemplar . 'CodeMessTest/phpmd/input/cyclomatic_complexity.php',
-    $phpExemplar . 'CodeMessTest/phpmd/input/descendant_count.php',
-    $phpExemplar . 'CodeMessTest/phpmd/input/field_count.php',
-    $phpExemplar . 'CodeMessTest/phpmd/input/inheritance_depth.php',
-    $phpExemplar . 'CodeMessTest/phpmd/input/method_count.php',
-    $phpExemplar . 'CodeMessTest/phpmd/input/method_length.php',
-    $phpExemplar . 'CodeMessTest/phpmd/input/naming.php',
-    $phpExemplar . 'CodeMessTest/phpmd/input/parameter_list.php',
-    $phpExemplar . 'CodeMessTest/phpmd/input/prohibited_statement.php',
-    $phpExemplar . 'CodeMessTest/phpmd/input/prohibited_statement_goto.php',
-    $phpExemplar . 'CodeMessTest/phpmd/input/public_count.php',
-    $phpExemplar . 'CodeMessTest/phpmd/input/unused.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/coding_style/classes/brace_same_line.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/coding_style/classes/brace_several_lines_below.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/coding_style/classes/brace_with_code.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/coding_style/classes/brace_with_spaces.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/coding_style/classes/normal_class.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/coding_style/functions/method_without_scope.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/coding_style/inline_doc/normal.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/coding_style/inline_doc/format/wrong_align.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/general/indentation_nonexact_phpdoc.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/constant/minuscule_letter.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/constant/normal_constant.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/method/capital_start.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/method/normal_camelcase.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/method/normal_plain.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/method/normal_underscore_start.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/method/underscore_middle.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/method/underscore_start_public.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/property/capital_start.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/property/normal_camelcase.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/property/normal_plain.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/property/normal_underscore.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/property/underscore_absent.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/property/underscore_middle.php',
-    $phpExemplar . 'CodeStyleTest/phpcs/input/naming/property/underscore_start_public.php',
-);
diff --git a/dev/tests/static/testsuite/Magento/Test/Integrity/ReferenceBlacklist.php b/dev/tests/static/testsuite/Magento/Test/Integrity/ReferenceBlacklist.php
deleted file mode 100644
index 69ede68cd49b20f684c75c899c550ad590c2bd35..0000000000000000000000000000000000000000
--- a/dev/tests/static/testsuite/Magento/Test/Integrity/ReferenceBlacklist.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-/**
- * Legacy class usages excluded from the ClassesTest->testClassReferences for PSR-X standards
- *
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @category    tests
- * @package     static
- * @subpackage  Integrity
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-
-return array(
-    'PEAR_PackageFile',
-    'Simple_Xml',
-    'PersistentCustomerSegmentation',
-    'SolrClient',
-    'SolrQuery',
-    'RegionUpdater', // JavaScript usage
-    'Fixture_Module', // JavaScript usage
-    'TheCompoundNamespace_TheCompoundModule',
-    'Some_Module',
-    'Not_Existed_Class',
-    'CustomSelect',
-
-    // found in /dev/tests/unit/testsuite/Magento/Test/Tools/Di/_files/app/code/Magento/SomeModule/Model/Test.php
-    '\Magento\SomeModule\Model\Element\Proxy',
-
-    'Map_Module',
-    'Module_One',
-    'Module_Two',
-    'Module_Name',
-    'Test',
-    'Local_Module',
-
-    // found in /dev/tests/unit/testsuite/Magento/Webapi/Controller/Soap/HandlerTest.php
-    '\Magento\Webapi\Controller\Soap\Security',
-
-    'Mage',
-    'Pear_Package_Parser_v2',
-    'PEAR_Config',
-    'PEAR_DependencyDB',
-    'PEAR_Frontend',
-    'PEAR_Command',
-    'Zend',
-    'PEAR_PackageFileManager2',
-    'PEAR',
-);
diff --git a/dev/tests/static/testsuite/Magento/Test/Integrity/_files/blacklist/namespace.txt b/dev/tests/static/testsuite/Magento/Test/Integrity/_files/blacklist/namespace.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8991e35d1b3ce5ea6b2cddded724042fcfcff21b
--- /dev/null
+++ b/dev/tests/static/testsuite/Magento/Test/Integrity/_files/blacklist/namespace.txt
@@ -0,0 +1,46 @@
+dev/tests/unit/testsuite/Magento/Test/Tools/Di/_files/app/code/Magento/SomeModule/Model/Test.php
+dev/tests/unit/testsuite/Magento/Test/Tools/Di/_files/app/code/Magento/SomeModule/Helper/Test.php
+dev/tools/Magento/Tools/I18n/Zend/Exception.php
+dev/tools/Magento/Tools/I18n/Zend/Console/Getopt/Exception.php
+dev/tools/Magento/Tools/I18n/Zend/Console/Getopt.php
+dev/tests/integration/testsuite/Magento/Test/Tools/I18n/Code/Dictionary/_files/source/app/code/Magento/FirstModule/Model/Model.php
+dev/tests/integration/testsuite/Magento/Test/Tools/I18n/Code/Dictionary/_files/source/app/code/Magento/SecondModule/Model/Model.php
+dev/tests/integration/testsuite/Magento/Test/Tools/I18n/Code/Dictionary/_files/source/unused/Model.php
+dev/tests/integration/testsuite/Magento/Test/Tools/I18n/Code/Dictionary/_files/source/app/code/Magento/FirstModule/Helper/Helper.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeMessTest/phpmd/input/coupling.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeMessTest/phpmd/input/cyclomatic_complexity.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeMessTest/phpmd/input/descendant_count.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeMessTest/phpmd/input/field_count.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeMessTest/phpmd/input/inheritance_depth.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeMessTest/phpmd/input/method_count.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeMessTest/phpmd/input/method_length.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeMessTest/phpmd/input/naming.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeMessTest/phpmd/input/parameter_list.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeMessTest/phpmd/input/prohibited_statement.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeMessTest/phpmd/input/prohibited_statement_goto.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeMessTest/phpmd/input/public_count.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeMessTest/phpmd/input/unused.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/coding_style/classes/brace_same_line.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/coding_style/classes/brace_several_lines_below.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/coding_style/classes/brace_with_code.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/coding_style/classes/brace_with_spaces.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/coding_style/classes/normal_class.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/coding_style/functions/method_without_scope.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/coding_style/inline_doc/normal.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/coding_style/inline_doc/format/wrong_align.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/general/indentation_nonexact_phpdoc.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/constant/minuscule_letter.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/constant/normal_constant.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/method/capital_start.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/method/normal_camelcase.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/method/normal_plain.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/method/normal_underscore_start.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/method/underscore_middle.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/method/underscore_start_public.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/property/capital_start.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/property/normal_camelcase.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/property/normal_plain.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/property/normal_underscore.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/property/underscore_absent.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/property/underscore_middle.php
+dev/tests/static/testsuite/Magento/Test/Php/Exemplar/CodeStyleTest/phpcs/input/naming/property/underscore_start_public.php
\ No newline at end of file
diff --git a/dev/tests/static/testsuite/Magento/Test/Integrity/_files/blacklist/reference.txt b/dev/tests/static/testsuite/Magento/Test/Integrity/_files/blacklist/reference.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2a23e999b3cfd1bedae6b956dc18c5a9146aff06
--- /dev/null
+++ b/dev/tests/static/testsuite/Magento/Test/Integrity/_files/blacklist/reference.txt
@@ -0,0 +1,28 @@
+PEAR_PackageFile
+Simple_Xml
+PersistentCustomerSegmentation
+SolrClient
+SolrQuery
+RegionUpdater
+Fixture_Module
+TheCompoundNamespace_TheCompoundModule
+Some_Module
+Not_Existed_Class
+CustomSelect
+\Magento\SomeModule\Model\Element\Proxy
+Map_Module
+Module_One
+Module_Two
+Module_Name
+Test
+Local_Module
+\Magento\Webapi\Controller\Soap\Security
+Mage
+Pear_Package_Parser_v2
+PEAR_Config
+PEAR_DependencyDB
+PEAR_Frontend
+PEAR_Command
+Zend
+PEAR_PackageFileManager2
+PEAR
\ No newline at end of file
diff --git a/dev/tests/static/testsuite/Magento/Test/Legacy/ObsoleteCodeTest.php b/dev/tests/static/testsuite/Magento/Test/Legacy/ObsoleteCodeTest.php
index 7c9e9a61c0ffa7c3b607c562997f8fe104157c97..e3021b8f889c365a3e406b7bcf0346405a24e755 100644
--- a/dev/tests/static/testsuite/Magento/Test/Legacy/ObsoleteCodeTest.php
+++ b/dev/tests/static/testsuite/Magento/Test/Legacy/ObsoleteCodeTest.php
@@ -312,7 +312,7 @@ class ObsoleteCodeTest extends \PHPUnit_Framework_TestCase
             '/getOptions\(\)\s*->get(Base|App|Code|Design|Etc|Lib|Locale|Js|Media'
                 .'|Var|Tmp|Cache|Log|Session|Upload|Export)?Dir\(/S',
             $content,
-            'The class \Magento\Core\Model\Config\Options is obsolete. Replacement suggestion: \Magento\Core\Model\Dir'
+            'The class \Magento\Core\Model\Config\Options is obsolete. Replacement suggestion: \Magento\App\Dir'
         );
     }
 
diff --git a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_classes.php b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_classes.php
index 6a0f361aaf67de4882ea301d3009975d2b517113..43d2b754e16cd775dceb4780bb68ed4db8a0960f 100644
--- a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_classes.php
+++ b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_classes.php
@@ -217,7 +217,10 @@ return array(
         'Magento\Backend\Model\Config\Backend\Admin\Usecustom'
     ),
     array('Mage_Adminhtml_Model_System_Config_Backend_Admin_Usecustompath',
-        'Magento\Backend\Model\Config\Backend\Admin\Usecustompath'
+        'Magento\Backend\Model\Config\Backend\Admin\Custompath'
+    ),
+    array('Magento\Backend\Model\Config\Backend\Admin\Usecustompath',
+        'Magento\Backend\Model\Config\Backend\Admin\Custompath'
     ),
     array('Mage_Adminhtml_Model_System_Config_Backend_Admin_Usesecretkey',
         'Magento\Backend\Model\Config\Backend\Admin\Usesecretkey'
@@ -585,7 +588,7 @@ return array(
     array('Mage_Core_Controller_Magento_Router_Admin', 'Magento\Backend\Controller\Router\DefaultRouter'),
     array('Mage_Core_Model_Convert'),
     array('Mage_Core_Model_Config_Fieldset', 'Magento\Core\Model\Fieldset\Config'),
-    array('Mage_Core_Model_Config_Options', 'Magento\Core\Model\Dir'),
+    array('Mage_Core_Model_Config_Options', 'Magento\App\Dir'),
     array('Mage_Core_Model_Config_Module'),
     array('Mage_Core_Model_Config_System'),
     array('Mage_Core_Model_Design_Source_Apply'),
@@ -988,6 +991,7 @@ return array(
     array('Magento\Core\Model\Resource\Helper\Mysql4', 'Magento\Core\Model\Resource\Helper'),
     array('Magento\Catalog\Model\Resource\Helper\Mysql4', 'Magento\Catalog\Model\Resource\Helper'),
     array('Magento\Eav\Model\Resource\Helper\Mysql4', 'Magento\Eav\Model\Resource\Helper'),
+    array('Magento\Eav\Model\Entity\Attribute\Backend\Array', 'Magento\Eav\Model\Entity\Attribute\Backend\ArrayBackend'),
     array('Magento\Sales\Model\Resource\Helper\HelperInterface', 'Magento\Sales\Model\Resource\HelperInterface'),
     array('Magento\Reports\Model\Resource\Helper\HelperInterface', 'Magento\Reports\Model\Resource\HelperInterface'),
     array('Magento\Poll\Block\ActivePoll'),
@@ -1003,9 +1007,40 @@ return array(
     array('Magento\Poll\Model\Resource\Poll\Vote'),
     array('Mage:'),
     array('Magento\Backup', 'Magento\Backup\Factory'),
+    array('Magento\Core\Controller\Front\Router', 'Magento\Core\Controller\Request\HttpProxy'),
+    array('Magento\Core\Controller\Response\Http', 'Magento\Core\Controller\Varien\Action\Forward'),
+    array('Magento\Core\Controller\Varien\Action\Redirect', 'Magento\Core\Controller\Varien\DispatchableInterface'),
+    array('Magento\Core\Controller\Varien\Front'),
+    array('Magento\Core\Controller\FrontInterface', 'Magento\Core\Model\App\Handler'),
+    array('Magento\Core\Model\App\Proxy', 'Magento\Core\Model\Event\Config\SchemaLocator'),
+    array('Magento\Core\Controller\Varien\Router\AbstractRouter', 'Magento\Core\Controller\Varien\AbstractAction'),
+    array('Magento\Core\Controller\Varien\Exception', 'Magento\HTTP\HandlerFactory'),
+    array('Magento\Core\Controller\Request\Http', 'Magento\Core\Controller\Varien\Router\AbstractRouter'),
+    array('Magento\Core\Controller\Varien\Router\DefaultRouter', 'Magento\Core\Model\NoRouteHandlerList'),
+    array('Magento\Core\Controller\Varien\Action\Factory', 'Magento\Core\Model\Dir'),
+    array('Magento\Core\Model\ModuleList', 'Magento\Core\Model\ModuleListInterface'),
+    array('Magento\Core\Model\RouterList', 'Magento\Core\Model\App\State'),
+    array('Magento\Core\Model\Event\Config\Converter', 'Magento\Core\Model\Event\Config\Data'),
+    array('Magento\Core\Model\Event\Config\Reader', 'Magento\Core\Model\Event\Invoker\InvokerDefault'),
+    array('Magento\Core\Model\Event\Config', 'Magento\Core\Model\Event\ConfigInterface'),
+    array('Magento\Core\Model\Event\InvokerInterface', 'Magento\Core\Model\Event\Manager'),
+    array('Magento\HTTP\Handler\Composite', 'Magento\HTTP\HandlerInterface'),
+    array('Magento\Backend\Model\Request\PathInfoProcessor', 'Magento\Backend\Model\Router\NoRouteHandler'),
+    array('Magento\Core\Model\Request\PathInfoProcessor', 'Magento\Core\Model\Request\RewriteService'),
+    array('Magento\Core\Model\Router\NoRouteHandler', 'Magento\Core\Model\Resource\SetupFactory'),
+    array('Magento\Core\Model\Dir\Verification', 'Magento\Core\Model\Module\Declaration\Converter\Dom'),
+    array('Magento\Core\Model\Module\Declaration\Reader\Filesystem', 'Magento\Core\Model\Module\Dir'),
+    array('Magento\Core\Model\Module\Declaration\FileResolver', 'Magento\Core\Model\Module\Declaration\SchemaLocator'),
+    array('Magento\Core\Model\Module\Dir\ReverseResolver', 'Magento\Core\Model\Module\ResourceResolver'),
+    array('Magento\Core\Model\Module\ResourceResolverInterface', 'Magento\Core\Model\Resource\SetupInterface'),
+    array('Magento\Core\Model\Db\UpdaterInterface', 'Magento\Core\Model\Router\NoRouteHandlerInterface'),
+    array('Magento\Core\Model\Router\NoRouteHandlerInterface', 'Magento\Core\Model\UrlInterface'),
     array('Magento\Sales\Model\Resource\Order\Attribute\Backend\Parent'),
     array('Magento\Sales\Model\Resource\Order\Creditmemo\Attribute\Backend\Parent'),
     array('Magento\Sales\Model\Resource\Order\Invoice\Attribute\Backend\Parent'),
     array('Magento\Sales\Model\Resource\Order\Shipment\Attribute\Backend\Parent'),
     array('Magento\Sales\Model\Resource\Quote\Address\Attribute\Backend\Parent'),
+    array('Magento\Core\Model\ThemeInterface', 'Magento\View\Design\ThemeInterface'),
+    array('Magento\Core\Model\View\DesignInterface', 'Magento\View\DesignInterface'),
+    array('Magento\Core\Model\Layout\Element', 'Magento\View\Layout\Element'),
 );
diff --git a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_config_nodes.php b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_config_nodes.php
index 43453169858cc43da73bf209485a63e735822698..68b8a2c4de0f009e0473a667da969db6055a3786 100644
--- a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_config_nodes.php
+++ b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_config_nodes.php
@@ -46,7 +46,7 @@ return array(
     '/config/*[self::global|self::adminhtml|self::frontend]/events' => 'This configuration moved to events.xml file',
     '/config/*[self::global|self::adminhtml|self::frontend]/routers' =>
         'Routes configuration moved to routes.xml file,'
-        . 'routers list can be set through Di configuration of \Magento\Core\Model\RouterList model',
+        . 'routers list can be set through Di configuration of \Magento\App\RouterList model',
     '/config/global/importexport' => 'This configuration moved to import.xml and export.xml files',
     '/config/global/catalog/product/type' => 'This configuration moved to product_types.xml file',
     '/config/global/catalog/product/options' => 'This configuration moved to product_options.xml file',
@@ -56,7 +56,7 @@ return array(
     '/config/global/salesrule' => 'This configuration moved to Di configuration of \Magento\SalesRule\Helper\Coupon',
     '/config/global/session' => 'This configuration moved to Di configuration of \Magento\Core\Model\Session\Validator',
     '/config/global/ignore_user_agents' => 'This configuration moved to Di configuration of \Magento\Log\Model\Visitor',
-    '/config/global/request' => 'This configuration moved to Di configuration of \Magento\Core\Controller\Request\Http',
+    '/config/global/request' => 'This configuration moved to Di configuration of \Magento\App\RequestInterface',
     '/config/global/secure_url' =>
         'This configuration moved to Di configuration of \Magento\Core\Model\Url\SecurityInfo',
     '/config/global/dev' =>
diff --git a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_constants.php b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_constants.php
index dcc7cdb7df39dd3844b7a6eaea563d9de09a37b1..0cfb4ae052f6aec0f6136068dfb2ea50d2120c81 100644
--- a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_constants.php
+++ b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_constants.php
@@ -141,6 +141,10 @@ return array(
     array('XML_PATH_CHECK_EXTENSIONS', 'Magento\Install\Model\Config'),
     array('XML_PATH_CONNECTION_TYPE', 'Magento\Core\Model\Config\Resource'),
     array('XML_PATH_COUNTRY_DEFAULT', 'Magento\Paypal\Model\System\Config\Backend\MerchantCountry'),
+    array('XML_PATH_DEBUG_TEMPLATE_HINTS', 'Magento\Core\Block\Template',
+        'Magento\Core\Model\TemplateEngine\Plugin::XML_PATH_DEBUG_TEMPLATE_HINTS'),
+    array('XML_PATH_DEBUG_TEMPLATE_HINTS_BLOCKS', 'Magento\Core\Block\Template',
+        'Magento\Core\Model\TemplateEngine\Plugin::XML_PATH_DEBUG_TEMPLATE_HINTS_BLOCKS'),
     array('XML_PATH_DEFAULT_COUNTRY', 'Magento\Core\Model\Locale'),
     array('XML_PATH_DEFAULT_LOCALE', 'Magento\Core\Model\Locale',
         'Magento_Core_Model_LocaleInterface::XML_PATH_DEFAULT_LOCALE'
@@ -204,7 +208,7 @@ return array(
         'Magento_Core_Model_Session_Validator::XML_PATH_USE_USER_AGENT'
     ),
 
-    array('XML_NODE_DIRECT_FRONT_NAMES', 'Magento\Core\Controller\Request\Http'),
+    array('XML_NODE_DIRECT_FRONT_NAMES', 'Magento\App\Request\Http'),
 
     array('XML_NODE_USET_AGENT_SKIP', 'Magento\Core\Model\Session\AbstractSession'),
     array('XML_PAGE_TYPE_RENDER_INHERITED', 'Magento\Core\Controller\Varien\Action'),
@@ -234,12 +238,17 @@ return array(
     array('XML_PATH_DISABLED_CACHE_TYPES', 'Magento\DesignEditor\Helper\Data'),
     array('XML_PATH_ENCRYPTION_MODEL', 'Magento\Core\Helper\Data'),
     array('CONFIG_KEY_PATH_TO_MAP_FILE', 'Magento\Core\Model\Resource\Setup\Migration'),
-    array('XML_PATH_IGNORE_DEV_MODE', 'Magento\Core\Model\Db\UpdaterInterface'),
-    array('XML_PATH_SKIP_PROCESS_MODULES_UPDATES', 'Magento\Core\Model\Db\UpdaterInterface'),
+    array('XML_PATH_IGNORE_DEV_MODE', 'Magento\App\UpdaterInterface'),
+    array('XML_PATH_SKIP_PROCESS_MODULES_UPDATES', 'Magento\App\UpdaterInterface'),
     array('XML_NODE_SESSION_SAVE', 'Magento\Core\Model\Session\AbstractSession',
         'Magento_Core_Model_Session_AbstractSession::PARAM_SESSION_SAVE_METHOD'
     ),
     array('XML_NODE_SESSION_SAVE_PATH', 'Magento\Core\Model\Session\AbstractSession',
         'Magento_Core_Model_Session_AbstractSession::PARAM_SESSION_SAVE_PATH'
     ),
+    array('XML_PATH_USE_CUSTOM_ADMIN_PATH', 'Magento\Backend\Helper\Data'),
+    array('XML_PATH_CUSTOM_ADMIN_PATH', 'Magento\Backend\Helper\Data'),
+    array('XML_PATH_BACKEND_AREA_FRONTNAME', 'Magento\Backend\Helper\Data'),
+    array('PARAM_BACKEND_FRONT_NAME', 'Magento\Backend\Helper\Data'),
+
 );
diff --git a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_methods.php b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_methods.php
index 02c2c19efdd66ed89996c6473d86175fb967a875..0cee99fdcecd265f62d35bd77522ed4feeed1f0a 100644
--- a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_methods.php
+++ b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_methods.php
@@ -47,7 +47,7 @@ return array(
     array('_beforeMove', 'Magento\Catalog\Model\Resource\Category\Tree'),
     array('_bytesToMbytes', 'Magento\Catalog\Model\Product\Option\Type\File'),
     array('_calculatePrice', 'Magento\Sales\Model\Quote\Item\AbstractItem'),
-    array('_canBeStoreCodeInUrl', 'Magento\Core\Controller\Request\Http'),
+    array('_canBeStoreCodeInUrl', 'Magento\App\Request\Http'),
     array('_canShowField', 'Magento\Backend\Block\System\Config\Form'),
     array('_canUseCacheForInit', 'Magento\Core\Model\Config'),
     array('_canUseLocalModules'),
@@ -198,7 +198,7 @@ return array(
     array('addLinkRel', 'Magento\Page\Block\Html\Head'),
     array('addLogInLink', 'Magento\Customer\Block\Account\Link'),
     array('addModule', 'Magento\Core\Controller\Varien\Router\Base'),
-    array('addRouter', 'Magento\Core\Controller\Varien\Front'),
+    array('addRouter', 'Magento\App\FrontController'),
     array('addOptionRenderer', 'Magento\Catalog\Block\Product\View\Options'),
     array('addPageHandles', 'Magento\Core\Model\Layout\Update', 'Magento\Core\Model\Layout\Merge'),
     array('addPagerLimit', 'Magento\Catalog\Block\Product\ProductList\Toolbar'),
@@ -266,7 +266,7 @@ return array(
     ),
     array('cleanVarFolder', '', 'Magento_Io_File::rmdirRecursive()'),
     array('cleanVarSubFolders', '',
-        'glob() on \Magento\Core\Model\Dir::getBaseDir(\Magento\Core\Model\App\Dir::VAR_DIR)'),
+        'glob() on \Magento\App\Dir::getBaseDir(\Magento\Core\Model\App\Dir::VAR_DIR)'),
     array('cloneIndexTable', 'Magento\Index\Model\Resource\AbstractResource'),
     array('collectRoutes', 'Magento\Backend\Controller\Router\DefaultRouter'),
     array('collectRoutes', 'Magento\Core\Controller\Varien\Router\Base'),
@@ -352,9 +352,12 @@ return array(
     array('getDebug', 'Magento\Paypal\Model\Api\AbstractApi'),
     array('getDefaultBasePath', 'Magento\Core\Model\Store'),
     array('getDeleteUrl', 'Magento\Adminhtml\Block\Catalog\Product\Edit'),
+    array('getDirectOutput', 'Magento\Core\Block\Template'),
     array('getDirectOutput', 'Magento\Core\Model\Layout'),
+    array('getDirectOutput', 'Magento\View\LayoutInterface'),
     array('getDistroServerVars', 'Magento\Core\Model\Config', 'getDistroBaseUrl'),
     array('getElementClass', 'Magento\Core\Model\Layout\Update'),
+    array('getEngineFactory', 'Magento\Core\Block\Template\Context', 'getEnginePool'),
     array('getEntityIdsToIncrementIds', 'Magento\Rss\Model\Resource\Order'),
     array('getEntityTypeIdsToTypes', 'Magento\Rss\Model\Resource\Order'),
     array('getEventConfig', 'Magento\Core\Model\Config'),
@@ -427,7 +430,7 @@ return array(
     array('getOrderId', 'Magento\Checkout\Block\Onepage\Success'),
     array('getOrderId', 'Magento\Shipping\Block\Tracking\Popup'),
     array('getOriginalHeigh', '', 'getOriginalHeight'),
-    array('getOriginalRequest', 'Magento\Core\Controller\Request\Http'),
+    array('getOriginalRequest', 'Magento\App\Request\Http'),
     array('getPackage', 'Magento\Widget\Model\Widget\Instance'),
     array('getPackageTheme', 'Magento\Widget\Model\Widget\Instance', 'getThemeId'),
     array('getPageHandleLabel', 'Magento\Core\Model\Layout\Update', 'Magento\Core\Model\Layout\Merge'),
@@ -484,10 +487,10 @@ return array(
     array('getResTreeJson', 'Magento\Adminhtml\Block\Api\Tab\Rolesedit', 'getTree'),
     array(
         'getRouterByRoute',
-        'Magento\Core\Controller\Varien\Front',
+        'Magento\App\FrontController',
         'Magento_Core_Model_RouterList::getRouterByFrontName'
     ),
-    array('getRouterByFrontName', 'Magento\Core\Controller\Varien\Front',
+    array('getRouterByFrontName', 'Magento\App\FrontController',
         'Magento_Core_Model_RouterList::getRouterByFrontName'
     ),
     array('getRouters', 'Magento\Core\Model\Config'),
@@ -499,6 +502,7 @@ return array(
     array('getSecure', 'Magento\Core\Model\Url', 'isSecure'),
     array('getSelectionFinalPrice', 'Magento\Bundle\Model\Product\Price'),
     array('getShipId', 'Magento\Shipping\Block\Tracking\Popup'),
+    array('getShowTemplateHints', 'Magento\Core\Block\Template'),
     array('getSortedChildBlocks', '', 'getChildNames() + $this->getLayout()->getBlock($name)'),
     array('getSortedChildren', '', 'getChildNames'),
     array('getSortedElements', 'Magento\Data\Form\Element\Fieldset', 'getElements'),
@@ -507,7 +511,7 @@ return array(
     array('getStore', 'Magento\Captcha\Helper\Data'),
     array('getStore', 'Magento\Adminhtml\Block\Promo\Widget\Chooser\Sku'),
     array('getStoreButtonsHtml', 'Magento\Backend\Block\System\Config\Tabs'),
-    array('getStoreCodeFromPath', 'Magento\Core\Controller\Request\Http'),
+    array('getStoreCodeFromPath', 'Magento\App\Request\Http'),
     array('getStoreCurrency', 'Magento\Sales\Model\Order'),
     array('getStoreSelectOptions', 'Magento\Backend\Block\System\Config\Tabs'),
     array('getStores', 'Magento\Eav\Block\Adminhtml\Attribute\Edit\Options\AbstractOptions'),
@@ -568,7 +572,7 @@ return array(
     array('imageAction', 'Magento\Catalog\Controller\Product'),
     array('implodeStreetAddress', 'Magento\Customer\Model\Address\AbstractAddress'),
     array('importFromTextArray'),
-    array('init', 'Magento\Core\Controller\Varien\Front'),
+    array('init', 'Magento\App\FrontController'),
     array('init', 'Magento\Core\Model\App'),
     array('init', 'Magento\Core\Model\Config'),
     array('init', 'Magento\Webapi\Controller\Front'),
@@ -583,6 +587,8 @@ return array(
     array('isAllowedGuestCheckout', 'Magento\Sales\Model\Quote'),
     array('isAutomaticCleaningAvailable', 'Magento\Cache\Backend\Eaccelerator'),
     array('isCheckoutAvailable', 'Magento\Checkout\Model\Type\Multishipping'),
+    array('isDirectOutput', 'Magento\Core\Model\Layout'),
+    array('isDirectOutput', 'Magento\View\LayoutInterface'),
     array('isFulAmountCovered'),
     array('isInstalled', 'Magento\Core\Model\App'),
     array('isLeyeredNavigationAllowed'),
@@ -687,6 +693,7 @@ return array(
     array('setBlockAlias'),
     array('setConfig', 'Magento\Captcha\Helper\Data'),
     array('setCustomerId', 'Magento\Customer\Model\Resource\Address'),
+    array('setDirectOutput', 'Magento\Core\Model\Layout'),
     array('setInstance', 'Magento\TestFramework\Bootstrap', 'Magento_TestFramework_Helper_Bootstrap::setInstance'),
     array('setIsAjaxRequest', 'Magento\Core\Model\Translate\Inline'),
     array('setNeedUsePriceExcludeTax', '', 'Magento_Tax_Model_Config::setPriceIncludesTax()'),
@@ -835,7 +842,6 @@ return array(
     array('_helper', 'Magento\Catalog\Model\Product\Type\AbstractType'),
     array('getHelper', 'Magento\Catalog\Model\Resource\Product\Type\Configurable\Attribute\Collection'),
     array('getHelper', 'Magento\Cms\Model\Wysiwyg\Images\Storage'),
-    array('getHelper', 'Magento\Core\Model\AppProxy'),
     array('getHelper', 'Magento\Core\Model\App'),
     array('getCatalogHelper', 'Magento\Adminhtml\Block\Catalog\Category\Tabs'),
     array('getStabilityOptions', 'Magento\Connect\Model\Extension'),
@@ -856,12 +862,21 @@ return array(
     array('_getProductType', 'Magento\Adminhtml\Block\Catalog\Product\Edit\Tab\Super\Config\Matrix'),
     array('_getProductType', 'Magento\Adminhtml\Block\Catalog\Product\Edit\Tab\Super\Config'),
     array('_getSession', 'Magento\Adminhtml\Model\Sales\Order'),
-    array('setIsSerializable', 'Magento\Core\Model\App\State'),
-    array('getIsSerializable', 'Magento\Core\Model\App\State'),
+    array('setIsSerializable', 'Magento\App\State'),
+    array('getIsSerializable', 'Magento\App\State'),
     array('_getInventoryItemResource', 'Magento\Reports\Model\Resource\Product\Lowstock\Collection'),
     array('getMigrationInstance', 'Magento\Customer\Model\Resource\Setup', '$this->_migrationFactory->create()'),
     array('turnOnReadCommittedMode', 'Magento\Backup\Model\Resource\Db'),
     array('turnOnSerializableMode', 'Magento\Backup\Model\Resource\Db', 'prepareTransactionIsolationLevel'),
     array('_getResourceModel', '\Magento\Webapi\Model\Source\Acl\Role', '$this->_resource'),
     array('_getSession', '\Magento\Adminhtml\Model\Giftmessage\Save', '$this->_session'),
+    array('_initRequest', '\Magento\Core\Model\App'),
+    array('run', '\Magento\Core\Model\App'),
+    array('_initFrontController', '\Magento\Core\Model\App'),
+    array('_getFrontControllerByCurrentArea', '\Magento\Core\Model\App'),
+    array('run', '\Magento\Core\Model\AppInterface'),
+    array('setModuleDir', 'Magento\Core\Model\Config\Modules\Reader'),
+    array('setModuleDir', 'Magento\Core\Model\Config'),
+    array('getAreaConfig', 'Magento\Core\Model\Config'),
+    array('getViewConfig', '\Magento\Core\Model\View\Config', 'get'),
 );
diff --git a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_properties.php b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_properties.php
index e2a46c7a08874ff4c170df112e82990907b815f3..3696180a5ff763d7b606deaa6264eff207499b87 100644
--- a/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_properties.php
+++ b/dev/tests/static/testsuite/Magento/Test/Legacy/_files/obsolete_properties.php
@@ -51,6 +51,7 @@ return array(
     array('_customEtcDir', 'Magento\Core\Model\Config'),
     array('_defaultTemplates', 'Magento\Core\Model\Email\Template'),
     array('_designProductSettingsApplied'),
+    array('_directOutput', 'Magento\Core\Model\Layout'),
     array('_dirs', 'Magento\Core\Model\Resource'),
     array('_distroServerVars'),
     array('_entityIdsToIncrementIds'),
@@ -69,8 +70,8 @@ return array(
     array('_modulesReader', 'Magento\Core\Model\ObjectManager\ConfigLoader'),
     array('_moduleReader', 'Magento\Backend\Model\Menu\Config'),
     array('_option', 'Magento\Captcha\Helper\Data', '_dirs'),
-    array('_options', 'Magento\Core\Model\Config', 'Magento\Core\Model\Dir'),
-    array('_optionsMapping', null, '\Magento\Core\Model\Dir::getBaseDir($nodeKey)'),
+    array('_options', 'Magento\Core\Model\Config', 'Magento\App\Dir'),
+    array('_optionsMapping', null, '\Magento\App\Dir::getBaseDir($nodeKey)'),
     array('_order', 'Magento\Checkout\Block\Onepage\Success'),
     array('_order_id'),
     array('_parent', 'Magento\Core\Block\AbstractBlock'),
@@ -86,12 +87,16 @@ return array(
     array('_skipFieldsByModel'),
     array('_ship_id'),
     array('_shipTable', 'Magento\Shipping\Model\Resource\Carrier\Tablerate\Collection'),
+    array('_showTemplateHints', 'Magento\Core\Block\Template',
+        'Magento\Core\Model\TemplateEngine\Plugin\DebugHints'),
+    array('_showTemplateHintsBlocks', 'Magento\Core\Block\Template',
+        'Magento\Core\Model\TemplateEngine\Plugin\DebugHints'),
     array('_sortedChildren'),
     array('_sortInstructions'),
     array('_storeFilter', 'Magento\Catalog\Model\Product\Type\AbstractType'),
     array('_substServerVars'),
     array('_track_id'),
-    array('_varSubFolders', null, 'Magento\Core\Model\Dir'),
+    array('_varSubFolders', null, 'Magento\App\Dir'),
     array('_viewDir', 'Magento\Core\Block\Template', '_dirs'),
     array('decoratedIsFirst', null, 'getDecoratedIsFirst'),
     array('decoratedIsEven', null, 'getDecoratedIsEven'),
@@ -101,4 +106,13 @@ return array(
     array('_useAnalyticFunction'),
     array('_defaultIndexer', 'Magento\CatalogInventory\Model\Resource\Indexer\Stock'),
     array('_engine', 'Magento\CatalogSearch\Model\Resource\Fulltext'),
+    array('_moduleNamespaces', 'Magento\Core\Model\Config'),
+    array('_allowedAreas', 'Magento\Core\Model\Config'),
+    array('_app', 'Magento\Core\Block\AbstractBlock'),
+    array('_app', 'Magento\Core\Block\Template'),
+    array('_config', 'Magento\Backend\Helper\Data'),
+    array('_defaultAreaFrontName', 'Magento\Backend\Helper\Data'),
+    array('_areaFrontName', 'Magento\Backend\Helper\Data'),
+    array('_backendFrontName', 'Magento\Backend\Helper\Data'),
+    array('_app', 'Magento\Backend\Block\Widget\Grid\Column\Renderer\Currency'),
 );
diff --git a/dev/tests/static/testsuite/Magento/Test/Php/_files/blacklist/common.txt b/dev/tests/static/testsuite/Magento/Test/Php/_files/blacklist/common.txt
index fa947c421f394c9a9241d37c4d1cca792e0e830c..0c86795a6b37d5a972978b53c4c955bf253f2174 100644
--- a/dev/tests/static/testsuite/Magento/Test/Php/_files/blacklist/common.txt
+++ b/dev/tests/static/testsuite/Magento/Test/Php/_files/blacklist/common.txt
@@ -105,9 +105,6 @@ lib/Magento/HTTP/Adapter/Curl.php
 lib/Magento/HTTP/Client.php
 lib/Magento/HTTP/Client/Curl.php
 lib/Magento/HTTP/Client/Socket.php
-lib/Magento/HTTP/Handler/Composite.php
-lib/Magento/HTTP/HandlerFactory.php
-lib/Magento/HTTP/HandlerInterface.php
 lib/Magento/HTTP/IClient.php
 lib/Magento/Image
 lib/Magento/Io
diff --git a/dev/tests/static/testsuite/Magento/Test/Php/_files/phpcpd/blacklist/common.txt b/dev/tests/static/testsuite/Magento/Test/Php/_files/phpcpd/blacklist/common.txt
index aeb96a0f5701569b7036cbe4a8e9b810d7c4dd1d..f128360d4c0be63fb0e6b8c9b852cfdca1037e8b 100644
--- a/dev/tests/static/testsuite/Magento/Test/Php/_files/phpcpd/blacklist/common.txt
+++ b/dev/tests/static/testsuite/Magento/Test/Php/_files/phpcpd/blacklist/common.txt
@@ -82,7 +82,6 @@ lib/Magento/HTTP/Client
 lib/Magento/Acl
 lib/PEAR
 lib/phpseclib
-lib/Twig
 lib/Magento/Convert
 Magento/Cron/Model
 Magento/SalesRule/Model/Resource/Report/Rule
diff --git a/dev/tests/static/testsuite/Magento/Test/Php/_files/whitelist/common.txt b/dev/tests/static/testsuite/Magento/Test/Php/_files/whitelist/common.txt
index b3699045d21975722479b1c6d95a083e89904ac8..6cbba2ed7d3b26c61c972be896f4b8340c06c47a 100644
--- a/dev/tests/static/testsuite/Magento/Test/Php/_files/whitelist/common.txt
+++ b/dev/tests/static/testsuite/Magento/Test/Php/_files/whitelist/common.txt
@@ -41,11 +41,6 @@ app/code/Magento/Checkout/Block/Cart/Link.php
 app/code/Magento/Checkout/Block/Link.php
 app/code/Magento/Cms/Controller/Router.php
 app/code/Magento/Cms/Model/Template/FilterProvider.php
-app/code/Magento/Core/Controller/Varien/AbstractAction.php
-app/code/Magento/Core/Controller/Varien/Action/Factory.php
-app/code/Magento/Core/Controller/Varien/Action/Forward.php
-app/code/Magento/Core/Controller/Varien/DispatchableInterface.php
-app/code/Magento/Core/Controller/Varien/Router/AbstractRouter.php
 app/code/Magento/Core/data
 app/code/Magento/Core/Helper/Css.php
 app/code/Magento/Core/Model/Config
@@ -55,8 +50,6 @@ app/code/Magento/Core/Model/Design.php
 app/code/Magento/Core/Model/Design/FileResolution
 app/code/Magento/Core/Model/Design/Fallback
 app/code/Magento/Core/Model/Design/Source/Design.php
-app/code/Magento/Core/Model/Dir
-app/code/Magento/Core/Model/Dir.php
 app/code/Magento/Core/Model/Email/Template/Config
 app/code/Magento/Core/Model/Email/Template/Config.php
 app/code/Magento/Core/Model/EntryPoint
@@ -66,8 +59,6 @@ app/code/Magento/Core/Model/Layout/Update.php
 app/code/Magento/Core/Model/Layout/Argument
 app/code/Magento/Core/Model/Locale/Validator.php
 app/code/Magento/Core/Model/LocaleInterface.php
-app/code/Magento/Core/Model/Module/Dir
-app/code/Magento/Core/Model/Module/Dir.php
 app/code/Magento/Core/Model/ObjectManager
 app/code/Magento/Core/Model/Page
 app/code/Magento/Core/Model/Page.php
@@ -79,7 +70,6 @@ app/code/Magento/Core/Model/AbstractShell.php
 app/code/Magento/Core/Model/TemplateEngine
 app/code/Magento/Core/Model/Theme
 app/code/Magento/Core/Model/Theme.php
-app/code/Magento/Core/Model/ThemeInterface.php
 app/code/Magento/Core/Model/Url/SecurityInfo.php
 app/code/Magento/Core/Model/Url/SecurityInfoInterface.php
 app/code/Magento/Core/Helper/AbstractHelper.php
@@ -164,3 +154,4 @@ lib/Magento/Cache/Core.php
 lib/Magento/Convert
 lib/Magento/Date.php
 lib/Magento/Object.php
+lib/Magento/App
diff --git a/dev/tests/static/testsuite/Magento/Test/Twig/TwigExtensionTest.php b/dev/tests/static/testsuite/Magento/Test/Twig/TwigExtensionTest.php
deleted file mode 100644
index 2bc51a7cf87dce5c4d4ff4dad87a0fce7a1d8086..0000000000000000000000000000000000000000
--- a/dev/tests/static/testsuite/Magento/Test/Twig/TwigExtensionTest.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * Run a twig syntax checker
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Test\Twig;
-
-class TwigExtensionTest extends \PHPUnit_Framework_TestCase
-{
-    public function testTwigTemplatesValid()
-    {
-        $invoker = new \Magento\TestFramework\Utility\AggregateInvoker($this);
-        $invoker(
-            function ($file, $runTest = true) {
-                if (!$runTest) {
-                    return;
-                }
-                exec('php ' . __DIR__ . "/_files/twig-lint.phar lint $file", $output, $returnVar);
-                $this->assertEquals(
-                    0, $returnVar,
-                    "File $file could not be validated by twig-lint.  The output is : \n" . implode("\n", $output)
-                );
-            },
-            $this->listAllTwigFiles()
-        );
-    }
-
-    public function listAllTwigFiles()
-    {
-        $testData = \Magento\TestFramework\Utility\Files::composeDataSets(
-            \Magento\TestFramework\Utility\Files::init()->getTwigFiles());
-        if (empty($testData)) {
-            $testData[] = array('Dummy data for when no twig files exist.', false);
-        }
-        return $testData;
-    }
-}
diff --git a/dev/tests/unit/framework/Magento/Test/Block/Adminhtml.php b/dev/tests/unit/framework/Magento/Test/Block/Adminhtml.php
index fcb6d2b06928b985a4840071c139a68dc07dd9a1..b5d3e3e4ccfe51e30762c656eaf6dc00606b7123 100644
--- a/dev/tests/unit/framework/Magento/Test/Block/Adminhtml.php
+++ b/dev/tests/unit/framework/Magento/Test/Block/Adminhtml.php
@@ -93,16 +93,16 @@ class Adminhtml extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         // These mocks are accessed via context
-        $this->_designMock         = $this->_makeMock('Magento\Core\Model\View\DesignInterface');
+        $this->_designMock         = $this->_makeMock('Magento\View\DesignInterface');
         $this->_sessionMock         = $this->_makeMock('Magento\Core\Model\Session');
         $this->_translatorMock      = $this->_makeMock('Magento\Core\Model\Translate');
         $this->_layoutMock          = $this->_makeMock('Magento\Core\Model\Layout');
-        $this->_requestMock         = $this->_makeMock('Magento\Core\Controller\Request\Http');
+        $this->_requestMock         = $this->_makeMock('Magento\App\RequestInterface');
         $this->_messagesMock        = $this->_makeMock('Magento\Core\Block\Messages');
-        $this->_urlMock             = $this->_makeMock('Magento\Core\Model\UrlInterface');
-        $this->_eventManagerMock    = $this->_makeMock('Magento\Core\Model\Event\Manager');
-        $this->_controllerMock      = $this->_makeMock('Magento\Core\Controller\Varien\Front');
-        $this->_dirMock             = $this->_makeMock('Magento\Core\Model\Dir');
+        $this->_urlMock             = $this->_makeMock('Magento\UrlInterface');
+        $this->_eventManagerMock    = $this->_makeMock('Magento\Event\ManagerInterface');
+        $this->_controllerMock      = $this->_makeMock('Magento\App\FrontController');
+        $this->_dirMock             = $this->_makeMock('Magento\App\Dir');
         $this->_loggerMock          = $this->_makeMock('Magento\Core\Model\Logger');
         $this->_filesystemMock      = $this->_makeMock('Magento\Filesystem');
         $this->_cacheMock           = $this->_makeMock('Magento\Core\Model\CacheInterface');
@@ -110,9 +110,9 @@ class Adminhtml extends \PHPUnit_Framework_TestCase
         $this->_storeManagerMock    = $this->_makeMock('Magento\Core\Model\StoreManager');
         $this->_helperFactoryMock   = $this->_makeMock('Magento\Core\Model\Factory\Helper');
         $viewUrlMock                = $this->_makeMock('Magento\Core\Model\View\Url');
-        $viewConfigMock             = $this->_makeMock('Magento\Core\Model\View\Config');
+        $viewConfigMock             = $this->_makeMock('Magento\View\ConfigInterface');
         $viewFileSystemMock         = $this->_makeMock('Magento\Core\Model\View\FileSystem');
-        $templateFactoryMock        = $this->_makeMock('Magento\Core\Model\TemplateEngine\Factory');
+        $templatePoolMock           = $this->_makeMock('Magento\Core\Model\TemplateEngine\Pool');
         $authorizationMock          = $this->_makeMock('Magento\AuthorizationInterface');
         $cacheStateMock             = $this->_makeMock('Magento\Core\Model\Cache\StateInterface');
         $appMock                    = $this->_makeMock('Magento\Core\Model\App');
@@ -144,7 +144,7 @@ class Adminhtml extends \PHPUnit_Framework_TestCase
             $this->_loggerMock,
             $this->_filesystemMock,
             $viewFileSystemMock,
-            $templateFactoryMock,
+            $templatePoolMock,
             $authorizationMock,
             $appMock,
             $backendSessionMock,
diff --git a/dev/tests/unit/framework/tests/unit/testsuite/Magento/TestFramework/Helper/ObjectManagerTest.php b/dev/tests/unit/framework/tests/unit/testsuite/Magento/TestFramework/Helper/ObjectManagerTest.php
index d20cfa73882f565a966169ea1c0a7a21f84d2006..f1a4503a09df8d71260d5322b24b33b4790d0920 100644
--- a/dev/tests/unit/framework/tests/unit/testsuite/Magento/TestFramework/Helper/ObjectManagerTest.php
+++ b/dev/tests/unit/framework/tests/unit/testsuite/Magento/TestFramework/Helper/ObjectManagerTest.php
@@ -35,15 +35,15 @@ class ObjectManagerTest extends \PHPUnit_Framework_TestCase
      * @var array
      */
     protected $_blockDependencies = array(
-        'request'         => 'Magento\Core\Controller\Request\Http',
-        'layout'          => 'Magento\Core\Model\Layout',
-        'eventManager'    => 'Magento\Core\Model\Event\Manager',
+        'request'         => 'Magento\App\RequestInterface',
+        'layout'          => 'Magento\View\LayoutInterface',
+        'eventManager'    => 'Magento\Event\ManagerInterface',
         'translator'      => 'Magento\Core\Model\Translate',
         'cache'           => 'Magento\Core\Model\CacheInterface',
-        'design'          => 'Magento\Core\Model\View\DesignInterface',
+        'design'          => 'Magento\View\DesignInterface',
         'session'         => 'Magento\Core\Model\Session',
         'storeConfig'     => 'Magento\Core\Model\Store\Config',
-        'frontController' => 'Magento\Core\Controller\Varien\Front'
+        'frontController' => 'Magento\App\FrontController'
     );
 
     /**
@@ -52,7 +52,7 @@ class ObjectManagerTest extends \PHPUnit_Framework_TestCase
      * @var array
      */
     protected $_modelDependencies = array(
-        'eventDispatcher'    => 'Magento\Core\Model\Event\Manager',
+        'eventDispatcher'    => 'Magento\Event\ManagerInterface',
         'cacheManager'       => 'Magento\Core\Model\CacheInterface',
         'resource'           => 'Magento\Core\Model\Resource\AbstractResource',
         'resourceCollection' => 'Magento\Data\Collection\Db'
@@ -73,7 +73,7 @@ class ObjectManagerTest extends \PHPUnit_Framework_TestCase
 
         $area = 'frontend';
         /** @var $layoutMock \Magento\Core\Model\Layout */
-        $layoutMock = $this->getMock('Magento\Core\Model\Layout', array('getArea'), array(), '', false);
+        $layoutMock = $this->getMockBuilder('Magento\View\LayoutInterface')->getMockForAbstractClass();
         $layoutMock->expects($this->once())
             ->method('getArea')
             ->will($this->returnValue($area));
diff --git a/dev/tests/unit/testsuite/Magento/AdminNotification/Model/System/Message/BaseurlTest.php b/dev/tests/unit/testsuite/Magento/AdminNotification/Model/System/Message/BaseurlTest.php
index 9dc6fb99479ec89e815ffd2cc470c500cf7347e3..98b1c5c3c0066cee64b7a98075e311c43a169441 100644
--- a/dev/tests/unit/testsuite/Magento/AdminNotification/Model/System/Message/BaseurlTest.php
+++ b/dev/tests/unit/testsuite/Magento/AdminNotification/Model/System/Message/BaseurlTest.php
@@ -64,7 +64,7 @@ class BaseurlTest extends \PHPUnit_Framework_TestCase
     {
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
         $this->_configMock = $this->getMock('Magento\Core\Model\Config', array(), array(), '', false);
-        $this->_urlBuilderMock = $this->getMock('Magento\Core\Model\UrlInterface');
+        $this->_urlBuilderMock = $this->getMock('Magento\UrlInterface');
 
         $this->_storeManagerMock = $this->getMock('Magento\Core\Model\StoreManagerInterface');
         $configFactoryMock = $this->getMock('Magento\Core\Model\Config\ValueFactory', array('create'),
diff --git a/dev/tests/unit/testsuite/Magento/AdminNotification/Model/System/Message/CacheOutdatedTest.php b/dev/tests/unit/testsuite/Magento/AdminNotification/Model/System/Message/CacheOutdatedTest.php
index aed0cc5379644c14a4957b1ea6ae3d97b87259a8..7c5408da6d7713d47c77ea538289e7bbc4cd258c 100644
--- a/dev/tests/unit/testsuite/Magento/AdminNotification/Model/System/Message/CacheOutdatedTest.php
+++ b/dev/tests/unit/testsuite/Magento/AdminNotification/Model/System/Message/CacheOutdatedTest.php
@@ -52,7 +52,7 @@ class CacheOutdatedTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_authorizationMock = $this->getMock('Magento\AuthorizationInterface');
-        $this->_urlInterfaceMock = $this->getMock('Magento\Core\Model\UrlInterface');
+        $this->_urlInterfaceMock = $this->getMock('Magento\UrlInterface');
         $this->_cacheTypeListMock = $this->getMock('Magento\Core\Model\Cache\TypeListInterface');
 
         $objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
diff --git a/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/CacheTest.php b/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/CacheTest.php
index 24086c3899afd8dc580160524d30b2a8b7f133d8..1c90bbe975eb0431df6b739c17073cca9641e748 100644
--- a/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/CacheTest.php
+++ b/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/CacheTest.php
@@ -31,12 +31,12 @@ class CacheTest extends \PHPUnit_Framework_TestCase
         // Wire object with mocks
         $context = $this->getMock('Magento\Backend\Controller\Context', array(), array(), '', false);
 
-        $request = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $request = $this->getMock('Magento\App\RequestInterface', array(), array(), '', false);
         $context->expects($this->any())
             ->method('getRequest')
             ->will($this->returnValue($request));
 
-        $response = $this->getMock('Magento\Core\Controller\Response\Http', array(), array(), '', false);
+        $response = $this->getMock('Magento\App\Response\Http', array(), array(), '', false);
         $context->expects($this->any())
             ->method('getResponse')
             ->will($this->returnValue($response));
@@ -46,12 +46,12 @@ class CacheTest extends \PHPUnit_Framework_TestCase
             ->method('getObjectManager')
             ->will($this->returnValue($objectManager));
 
-        $frontController = $this->getMock('Magento\Core\Controller\Varien\Front', array(), array(), '', false);
+        $frontController = $this->getMock('Magento\App\FrontController', array(), array(), '', false);
         $context->expects($this->any())
             ->method('getFrontController')
             ->will($this->returnValue($frontController));
 
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $eventManager->expects($this->once())
             ->method('dispatch')
             ->with('clean_media_cache_after');
@@ -97,10 +97,16 @@ class CacheTest extends \PHPUnit_Framework_TestCase
             ->method('getUrl')
             ->with('*/*')
             ->will($this->returnValue('redirect_url'));
+
         $response->expects($this->once())
             ->method('setRedirect')
             ->with('redirect_url');
 
+        $response->expects($this->once())
+            ->method('getHeader')
+            ->with('X-Frame-Options')
+            ->will($this->returnValue(false));
+
         // Run
         $controller->cleanMediaAction();
     }
diff --git a/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/CustomerTest.php b/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/CustomerTest.php
index 77df031b09ff1a2d07063f8f1dbdf80f079b4c1a..e8cf25106fe24007b4a11bcee963704a46a76b3f 100644
--- a/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/CustomerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/CustomerTest.php
@@ -35,14 +35,14 @@ class CustomerTest extends \PHPUnit_Framework_TestCase
     /**
      * Request mock instance
      *
-     * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Core\Controller\Request\Http
+     * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\App\RequestInterface
      */
     protected $_request;
 
     /**
      * Response mock instance
      *
-     * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Core\Controller\Response\Http
+     * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\App\ResponseInterface
      */
     protected $_response;
 
@@ -79,15 +79,15 @@ class CustomerTest extends \PHPUnit_Framework_TestCase
      */
     protected function setUp()
     {
-        $this->_request = $this->getMockBuilder('Magento\Core\Controller\Request\Http')
+        $this->_request = $this->getMockBuilder('Magento\App\Request\Http')
             ->disableOriginalConstructor()
-            ->setMethods(array('getParam'))
             ->getMock();
 
-        $this->_response = $this->getMockBuilder('Magento\Core\Controller\Response\Http')
+        $this->_response = $this->getMockBuilder('Magento\App\Response\Http')
             ->disableOriginalConstructor()
             ->setMethods(array('setRedirect', 'getHeader'))
             ->getMock();
+
         $this->_response->expects($this->any())
             ->method('getHeader')
             ->with($this->equalTo('X-Frame-Options'))
@@ -97,7 +97,7 @@ class CustomerTest extends \PHPUnit_Framework_TestCase
             ->disableOriginalConstructor()
             ->setMethods(array('get', 'create'))
             ->getMock();
-        $frontControllerMock = $this->getMockBuilder('Magento\Core\Controller\Varien\Front')
+        $frontControllerMock = $this->getMockBuilder('Magento\App\FrontController')
             ->disableOriginalConstructor()
             ->getMock();
 
diff --git a/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/Sales/Order/CreditmemoTest.php b/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/Sales/Order/CreditmemoTest.php
index 9504739bc2e6ee4dd907770bc8c93dc5c65ad517..31471bf54a8fc56181611b469fc96e9604ed0639 100644
--- a/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/Sales/Order/CreditmemoTest.php
+++ b/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/Sales/Order/CreditmemoTest.php
@@ -31,12 +31,12 @@ class CreditmemoTest extends \PHPUnit_Framework_TestCase
     protected $_controller;
 
     /**
-     * @var \Magento\Core\Controller\Response\Http|PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\ResponseInterface|PHPUnit_Framework_MockObject_MockObject
      */
     protected $_responseMock;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http|PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\RequestInterface|PHPUnit_Framework_MockObject_MockObject
      */
     protected $_requestMock;
 
@@ -56,11 +56,9 @@ class CreditmemoTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $this->_responseMock = $this->getMock('Magento\Core\Controller\Response\Http',
-            array('setRedirect'), array(), '', false
-        );
+        $this->_responseMock = $this->getMock('Magento\App\Response\Http', array(), array(), '', false);
         $this->_responseMock->headersSentThrowsException = false;
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
         $this->_sessionMock = $this->getMock('Magento\Backend\Model\Session',
             array('addError', 'setFormData'), array(), '', false);
         $this->_objectManager = $this->getMock('Magento\ObjectManager', array(), array(), '', false);
diff --git a/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/System/AccountTest.php b/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/System/AccountTest.php
index f55b104c8ac4d80d31c327a054521e8d03394a8a..db832d341ef0ef9fa0f76c2be7b23a3d4d514180 100644
--- a/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/System/AccountTest.php
+++ b/dev/tests/unit/testsuite/Magento/Adminhtml/Controller/System/AccountTest.php
@@ -32,10 +32,10 @@ class AccountTest extends \PHPUnit_Framework_TestCase
     /** @var \Magento\Adminhtml\Controller\System\Account */
     protected $_controller;
 
-    /** @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Core\Controller\Request\Http */
+    /** @var \PHPUnit_Framework_MockObject_MockObject|\Magento\App\RequestInterface */
     protected $_requestMock;
 
-    /** @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Core\Controller\Response\Http */
+    /** @var \PHPUnit_Framework_MockObject_MockObject|\Magento\App\ResponseInterface */
     protected $_responseMock;
 
     /** @var \PHPUnit_Framework_MockObject_MockObject|\Magento\ObjectManager\ObjectManager */
@@ -64,11 +64,11 @@ class AccountTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_requestMock = $this->getMockBuilder('Magento\Core\Controller\Request\Http')
+        $this->_requestMock = $this->getMockBuilder('Magento\App\Request\Http')
             ->disableOriginalConstructor()
             ->setMethods(array('getOriginalPathInfo'))
             ->getMock();
-        $this->_responseMock = $this->getMockBuilder('Magento\Core\Controller\Response\Http')
+        $this->_responseMock = $this->getMockBuilder('Magento\App\Response\Http')
             ->disableOriginalConstructor()
             ->setMethods(array())
             ->getMock();
@@ -76,7 +76,7 @@ class AccountTest extends \PHPUnit_Framework_TestCase
             ->disableOriginalConstructor()
             ->setMethods(array('get', 'create'))
             ->getMock();
-        $frontControllerMock = $this->getMockBuilder('Magento\Core\Controller\Varien\Front')
+        $frontControllerMock = $this->getMockBuilder('Magento\App\FrontController')
             ->disableOriginalConstructor()
             ->getMock();
 
diff --git a/dev/tests/unit/testsuite/Magento/Adminhtml/DashboardTest.php b/dev/tests/unit/testsuite/Magento/Adminhtml/DashboardTest.php
index 6b33b26d8a06be7596518db3032a2c848ee14fd0..69288d113179077b764ac387f8c8a3a2d9c5a09c 100644
--- a/dev/tests/unit/testsuite/Magento/Adminhtml/DashboardTest.php
+++ b/dev/tests/unit/testsuite/Magento/Adminhtml/DashboardTest.php
@@ -26,35 +26,38 @@ namespace Magento\Adminhtml;
 class DashboardTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Controller\Request\Http|PHPUnit_Framework_MockObject_MockObject
+     * @var PHPUnit_Framework_MockObject_MockObject
      */
     protected $_request;
 
+    /**
+     * @var PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_response;
+
     protected function setUp()
     {
-        $objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $helperMock = $this->getMockBuilder('Magento\Backend\Helper\DataProxy')
-            ->disableOriginalConstructor()
-            ->getMock();
-        /** @var $request \Magento\Core\Controller\Request\Http|PHPUnit_Framework_MockObject_MockObject */
-        $this->_request = $objectManagerHelper->getObject('Magento\Core\Controller\Request\Http',
-            array('helper' => $helperMock));
+        $this->_request = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
+        $this->_response = $this->getMock('Magento\App\Response\Http', array(), array(), '', false);
     }
 
     protected function tearDown()
     {
         $this->_request = null;
+        $this->_response = null;
     }
 
     public function testTunnelAction()
     {
         $fixture = uniqid();
-        $this->_request->setParam('ga', urlencode(base64_encode(json_encode(array(1)))));
-        $this->_request->setParam('h', $fixture);
-
-        $tunnelResponse = new \Zend_Http_Response(200, array('Content-Type' => 'test_header'), 'success_msg');
-        $httpClient = $this->getMock('Magento\HTTP\ZendClient', array('request'));
-        $httpClient->expects($this->once())->method('request')->will($this->returnValue($tunnelResponse));
+        $this->_request->expects($this->at(0))
+            ->method('getParam')->with('ga')
+            ->will($this->returnValue(urlencode(base64_encode(json_encode(array(1))))));
+        $this->_request->expects($this->at(1))->method('getParam')->with('h')->will($this->returnValue($fixture));
+        $tunnelResponse = $this->getMock('Magento\App\Response\Http', array(), array(), '', false);
+        $httpClient = $this->getMock('Magento\HTTP\ZendClient',
+            array('setUri', 'setParameterGet', 'setConfig', 'request', 'getHeaders')
+        );
         /** @var $helper \Magento\Adminhtml\Helper\Dashboard\Data|PHPUnit_Framework_MockObject_MockObject */
         $helper = $this->getMock('Magento\Adminhtml\Helper\Dashboard\Data',
             array('getChartDataHash'), array(), '', false, false
@@ -70,15 +73,34 @@ class DashboardTest extends \PHPUnit_Framework_TestCase
             ->method('create')
             ->with('Magento\HTTP\ZendClient')
             ->will($this->returnValue($httpClient));
-
-        $controller = $this->_factory($this->_request, null, $objectManager);
+        $httpClient->expects($this->once())->method('setUri')->will($this->returnValue($httpClient));
+        $httpClient->expects($this->once())->method('setParameterGet')->will(($this->returnValue($httpClient)));
+        $httpClient->expects($this->once())->method('setConfig')->will(($this->returnValue($httpClient)));
+        $httpClient->expects($this->once())->method('request')->with('GET')->will($this->returnValue($tunnelResponse));
+        $tunnelResponse->expects(
+            $this->any())->method('getHeaders')->will($this->returnValue(array('Content-type' => 'test_header'))
+            );
+        $this->_response->expects($this->any())->method('setHeader')->will($this->returnValue($this->_response));
+        $tunnelResponse->expects($this->any())->method('getBody')->will($this->returnValue('success_msg'));
+        $this->_response->expects(
+            $this->once())->method('setBody')->with('success_msg')->will($this->returnValue($this->_response));
+        $this->_response->expects($this->any())->method('getBody')->will($this->returnValue('success_msg'));
+        $controller = $this->_factory($this->_request, $this->_response, $objectManager);
         $controller->tunnelAction();
         $this->assertEquals('success_msg', $controller->getResponse()->getBody());
     }
 
     public function testTunnelAction400()
     {
-        $controller = $this->_factory($this->_request);
+        $this->_response->expects($this->once())->method('setBody')
+            ->with('Service unavailable: invalid request')
+            ->will($this->returnValue($this->_response));
+        $this->_response->expects($this->any())->method('setHeader')->will($this->returnValue($this->_response));
+        $this->_response->expects(
+            $this->once())->method('setHttpResponseCode')->with(400)->will($this->returnValue($this->_response)
+            );
+        $this->_response->expects($this->once())->method('getHttpResponseCode')->will($this->returnValue(400));
+        $controller = $this->_factory($this->_request, $this->_response);
         $controller->tunnelAction();
         $this->assertEquals(400, $controller->getResponse()->getHttpResponseCode());
     }
@@ -86,9 +108,10 @@ class DashboardTest extends \PHPUnit_Framework_TestCase
     public function testTunnelAction503()
     {
         $fixture = uniqid();
-        $this->_request->setParam('ga', urlencode(base64_encode(json_encode(array(1)))));
-        $this->_request->setParam('h', $fixture);
-
+        $this->_request->expects($this->at(0))
+            ->method('getParam')->with('ga')
+            ->will($this->returnValue(urlencode(base64_encode(json_encode(array(1))))));
+        $this->_request->expects($this->at(1))->method('getParam')->with('h')->will($this->returnValue($fixture));
         /** @var $helper \Magento\Adminhtml\Helper\Dashboard\Data|PHPUnit_Framework_MockObject_MockObject */
         $helper = $this->getMock('Magento\Adminhtml\Helper\Dashboard\Data',
             array('getChartDataHash'), array(), '', false, false
@@ -112,7 +135,17 @@ class DashboardTest extends \PHPUnit_Framework_TestCase
             ->with('Magento\Core\Model\Logger')
             ->will($this->returnValue($loggerMock));
 
-        $controller = $this->_factory($this->_request, null, $objectManager);
+        $this->_response->expects($this->once())
+            ->method('setBody')
+            ->with('Service unavailable: see error log for details')
+            ->will($this->returnValue($this->_response));
+        $this->_response->expects($this->any())->method('setHeader')->will($this->returnValue($this->_response));
+        $this->_response->expects($this->once())
+            ->method('setHttpResponseCode')
+            ->with(503)
+            ->will($this->returnValue($this->_response));
+        $this->_response->expects($this->once())->method('getHttpResponseCode')->will($this->returnValue(503));
+        $controller = $this->_factory($this->_request, $this->_response, $objectManager);
         $controller->tunnelAction();
         $this->assertEquals(503, $controller->getResponse()->getHttpResponseCode());
     }
@@ -120,17 +153,16 @@ class DashboardTest extends \PHPUnit_Framework_TestCase
     /**
      * Create the tested object
      *
-     * @param \Magento\Core\Controller\Request\Http $request
-     * @param \Magento\Core\Controller\Response\Http|null $response
+     * @param Magento\App\Request\Http $request
+     * @param \Magento\App\Response\Http|null $response
      * @param \Magento\ObjectManager|null $objectManager
      * @return \Magento\Adminhtml\Controller\Dashboard|PHPUnit_Framework_MockObject_MockObject
      */
     protected function _factory($request, $response = null, $objectManager = null)
     {
         if (!$response) {
-            $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
-            /** @var $response \Magento\Core\Controller\Response\Http|PHPUnit_Framework_MockObject_MockObject */
-            $response = $this->getMockForAbstractClass('Magento\Core\Controller\Response\Http', array($eventManager));
+            /** @var $response \Magento\App\ResponseInterface|PHPUnit_Framework_MockObject_MockObject */
+            $response = $this->getMock('Magento\App\Response\Http', array(), array(), '', false);
             $response->headersSentThrowsException = false;
         }
         if (!$objectManager) {
@@ -138,7 +170,7 @@ class DashboardTest extends \PHPUnit_Framework_TestCase
         }
         $rewriteFactory = $this->getMock('Magento\Core\Model\Url\RewriteFactory', array('create'), array(), '', false);
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $varienFront = $helper->getObject('Magento\Core\Controller\Varien\Front',
+        $varienFront = $helper->getObject('Magento\App\FrontController',
             array('rewriteFactory' => $rewriteFactory)
         );
 
diff --git a/dev/tests/unit/testsuite/Magento/App/Action/ForwardTest.php b/dev/tests/unit/testsuite/Magento/App/Action/ForwardTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..22819d8ad4dbc5b6e722dbed3763bfd35ef2ead5
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/App/Action/ForwardTest.php
@@ -0,0 +1,55 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App\Action;
+
+class ForwardTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\App\Action\Forward
+     */
+    protected $_model;
+
+    /**
+     * @var \Magento\App\RequestInterface
+     */
+    protected $_request;
+
+    /**
+     * @var \Magento\App\ResponseInterface
+     */
+    protected $_response;
+
+    protected function setUp()
+    {
+        $this->_request = $this->getMock('Magento\App\Request\Http', array(), array(), '', false );
+        $this->_response = $this->getMock('\Magento\App\Response\Http');
+        $this->_model = new \Magento\App\Action\Forward($this->_request, $this->_response);
+    }
+
+    public function testDispatch()
+    {
+        $this->_request->expects($this->once())->method('setDispatched')->with(false);
+        $this->_model->dispatch('actions');
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/App/AreaListTest.php b/dev/tests/unit/testsuite/Magento/App/AreaListTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..80f72cb28b4601329ddde7859c109b146c7dede7
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/App/AreaListTest.php
@@ -0,0 +1,95 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App;
+
+class AreaListTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\App\AreaList
+     */
+    protected $_model;
+
+    /**
+     * @var \Magento\App\Area\FrontNameResolverFactory
+     */
+    protected $_resolverFactory;
+
+    protected function setUp()
+    {
+        $this->_resolverFactory = $this
+            ->getMock('\Magento\App\Area\FrontNameResolverFactory', array(), array(), '', false);
+    }
+
+    public function testGetCodeByFrontNameWhenAreaDoesNotContainFrontName()
+    {
+        $expected = 'expectedFrontName';
+        $this->_model = new \Magento\App\AreaList($this->_resolverFactory,
+            array('testArea' => array('frontNameResolver' => 'testValue')), $expected);
+
+        $resolverMock = $this->getMock('\Magento\App\Area\FrontNameResolverInterface');
+        $this->_resolverFactory->expects($this->any())->method('create')
+            ->with('testValue')->will($this->returnValue($resolverMock));
+
+        $actual = $this->_model->getCodeByFrontName('testFrontName');
+        $this->assertEquals($expected, $actual);
+    }
+
+    public function testGetCodeByFrontNameReturnsAreaCode()
+    {
+        $expected = 'testArea';
+        $this->_model = new \Magento\App\AreaList($this->_resolverFactory,
+            array('testArea'=>array('frontName' => 'testFrontName')), $expected);
+
+        $actual = $this->_model->getCodeByFrontName('testFrontName');
+        $this->assertEquals($expected, $actual);
+    }
+
+    public function testGetFrontNameWhenAreaCodeAndFrontNameAreSet()
+    {
+        $expected = 'testFrontName';
+        $this->_model = new \Magento\App\AreaList($this->_resolverFactory,
+            array('testAreaCode' => array('frontName' => 'testFrontName')), $expected);
+
+        $actual = $this->_model->getFrontName('testAreaCode');
+        $this->assertEquals($expected, $actual);
+    }
+
+    public function testGetFrontNameWhenAreaCodeAndFrontNameArentSet()
+    {
+        $this->_model = new \Magento\App\AreaList($this->_resolverFactory, array(), '');
+
+        $actual = $this->_model->getFrontName('testAreaCode');
+        $this->assertNull($actual);
+    }
+
+    public function testGetCodes()
+    {
+        $this->_model = new \Magento\App\AreaList($this->_resolverFactory,
+            array('area1' => 'value1', 'area2' => 'value2'), '');
+
+        $expected = array(0 => 'area1', 1 => 'area2');
+        $actual = $this->_model->getCodes();
+        $this->assertEquals($expected, $actual);
+    }
+}
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Dir/VerificationTest.php b/dev/tests/unit/testsuite/Magento/App/Dir/VerificationTest.php
similarity index 89%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Dir/VerificationTest.php
rename to dev/tests/unit/testsuite/Magento/App/Dir/VerificationTest.php
index 1e5bbc05f1e99d73508ad750e1016bde8969ac81..3c6bc232a4e21cd3c7db8da07ae6864053085ee2 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Dir/VerificationTest.php
+++ b/dev/tests/unit/testsuite/Magento/App/Dir/VerificationTest.php
@@ -22,7 +22,7 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-namespace Magento\Core\Model\Dir;
+namespace Magento\App\Dir;
 
 class VerificationTest extends \PHPUnit_Framework_TestCase
 {
@@ -64,12 +64,12 @@ class VerificationTest extends \PHPUnit_Framework_TestCase
      * @param bool $isExist
      * @param array $actualCreatedDirs
      * @param array $actualVerifiedDirs
-     * @return \Magento\Core\Model\Dir\Verification
+     * @return \Magento\App\Dir\Verification
      */
     protected function _createModelForVerification($mode, $isExist, &$actualCreatedDirs, &$actualVerifiedDirs)
     {
-        $dirs = new \Magento\Core\Model\Dir('base_dir');
-        $appState = new \Magento\Core\Model\App\State(time(), $mode);
+        $dirs = new \Magento\App\Dir('base_dir');
+        $appState = new \Magento\App\State(time(), $mode);
 
         $filesystem = $this->getMock('Magento\Filesystem', array(), array(), '', false);
         $filesystem->expects($this->any())
@@ -93,7 +93,7 @@ class VerificationTest extends \PHPUnit_Framework_TestCase
             ->method('isWritable')
             ->will($this->returnCallback($callbackVerify));
 
-        return new \Magento\Core\Model\Dir\Verification(
+        return new \Magento\App\Dir\Verification(
             $filesystem,
             $dirs,
             $appState
@@ -107,7 +107,7 @@ class VerificationTest extends \PHPUnit_Framework_TestCase
     {
         return array(
             'developer mode' => array(
-                \Magento\Core\Model\App\State::MODE_DEVELOPER,
+                \Magento\App\State::MODE_DEVELOPER,
                 array(
                     'base_dir/pub/media',
                     'base_dir/pub/static',
@@ -119,7 +119,7 @@ class VerificationTest extends \PHPUnit_Framework_TestCase
                 ),
             ),
             'default mode' => array(
-                \Magento\Core\Model\App\State::MODE_DEFAULT,
+                \Magento\App\State::MODE_DEFAULT,
                 array(
                     'base_dir/pub/media',
                     'base_dir/pub/static',
@@ -131,7 +131,7 @@ class VerificationTest extends \PHPUnit_Framework_TestCase
                 ),
             ),
             'production mode' => array(
-                \Magento\Core\Model\App\State::MODE_PRODUCTION,
+                \Magento\App\State::MODE_PRODUCTION,
                 array(
                     'base_dir/pub/media',
                     'base_dir/var',
@@ -150,8 +150,8 @@ class VerificationTest extends \PHPUnit_Framework_TestCase
         $this->setExpectedException('Magento\BootstrapException',
             'Cannot create or verify write access: base_dir/var/log, base_dir/var/session');
 
-        $dirs = new \Magento\Core\Model\Dir('base_dir');
-        $appState = new \Magento\Core\Model\App\State(time());
+        $dirs = new \Magento\App\Dir('base_dir');
+        $appState = new \Magento\App\State(time());
 
         $callback = function ($dir) {
             if (($dir == 'base_dir/var/log') || ($dir == 'base_dir/var/session')) {
@@ -164,7 +164,7 @@ class VerificationTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnCallback($callback));
 
         // Do
-        $model = new \Magento\Core\Model\Dir\Verification(
+        $model = new \Magento\App\Dir\Verification(
             $filesystem,
             $dirs,
             $appState
@@ -178,8 +178,8 @@ class VerificationTest extends \PHPUnit_Framework_TestCase
         $this->setExpectedException('Magento\BootstrapException',
             'Cannot create or verify write access: base_dir/var/log, base_dir/var/session');
 
-        $dirs = new \Magento\Core\Model\Dir('base_dir');
-        $appState = new \Magento\Core\Model\App\State(time());
+        $dirs = new \Magento\App\Dir('base_dir');
+        $appState = new \Magento\App\State(time());
 
         $filesystem = $this->getMock('Magento\Filesystem', array(), array(), '', false);
         $filesystem->expects($this->any())
@@ -200,7 +200,7 @@ class VerificationTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValueMap($dirWritableMap));
 
         // Do
-        $model = new \Magento\Core\Model\Dir\Verification(
+        $model = new \Magento\App\Dir\Verification(
             $filesystem,
             $dirs,
             $appState
diff --git a/dev/tests/unit/testsuite/Magento/App/FrontControllerTest.php b/dev/tests/unit/testsuite/Magento/App/FrontControllerTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..38335400c91e29bf98d64b02cc7e1d7ae2205ca7
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/App/FrontControllerTest.php
@@ -0,0 +1,105 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+
+namespace Magento\App;
+
+class FrontControllerTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\App\FrontController
+     */
+    protected $_model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_eventManager;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_response;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_request;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_routerList;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_router;
+
+    protected function setUp()
+    {
+        $this->_eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
+        $this->_response = $this->getMock('Magento\App\ResponseInterface', array(), array(), '', false);
+        $this->_routerList = $this->getMock('Magento\App\RouterList', array('getRouters'), array(), '', false);
+        $this->_request = $this->getMock('Magento\App\RequestInterface', array('isDispatched', 'getModuleName',
+            'setModuleName', 'getActionName', 'setActionName', 'getParam'));
+        $this->_router = $this->getMock('Magento\App\Router\AbstractRouter',
+            array('setFront', 'match'), array(), '', false);
+        $this->_model = new \Magento\App\FrontController($this->_eventManager, $this->_response, $this->_routerList);
+    }
+
+    /**
+     * @expectedException \LogicException
+     */
+    public function testDispatchThrowException()
+    {
+        $this->_routerList->expects($this->any())->method('getRouters')->will($this->returnValue($this->_router));
+        $this->_model->dispatch($this->_request);
+        $this->_eventManager->expects($this->never())->method('dispatch');
+    }
+
+    public function testWhenRequestDispatched()
+    {
+        $this->_request->expects($this->once())->method('isDispatched')->will($this->returnValue(true));
+        $this->_routerList->expects($this->never())->method('getRouters');
+        $this->_eventManager->expects($this->atLeastOnce())->method('dispatch');
+        $this->_model->dispatch($this->_request);
+    }
+
+    /**
+     * @expectedException \LogicException
+     */
+    public function testWhenDispatchedActionInterface()
+    {
+        $this->_router = $this->getMock('Magento\App\Router\AbstractRouter',
+            array('setFront', 'match'), array(), '', false);
+        $this->_routerList->expects($this->atLeastOnce())->method('getRouters')
+            ->will($this->returnValue(array($this->_router)));
+        $controllerInstance = $this->getMock('\Magento\App\ActionInterface');
+        $this->_router->expects($this->atLeastOnce())->method('match')->will($this->returnValue($controllerInstance));
+        $this->_request->expects($this->atLeastOnce())->method('getActionName')->will($this->returnValue('testString'));
+        $controllerInstance->expects($this->atLeastOnce())->method('dispatch')->with('testString');
+
+        $this->_model->dispatch($this->_request);
+    }
+}
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/Converter/DomTest.php b/dev/tests/unit/testsuite/Magento/App/Module/Declaration/Converter/DomTest.php
similarity index 93%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/Converter/DomTest.php
rename to dev/tests/unit/testsuite/Magento/App/Module/Declaration/Converter/DomTest.php
index fc118ab1ccad350cfde82ab285bc7955abf8a38b..77b35b2d723ca70aeca183cc44c348d75ab412b2 100755
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/Converter/DomTest.php
+++ b/dev/tests/unit/testsuite/Magento/App/Module/Declaration/Converter/DomTest.php
@@ -21,18 +21,18 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Module\Declaration\Converter;
+namespace Magento\App\Module\Declaration\Converter;
 
 class DomTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Module\Declaration\Converter\Dom
+     * @var \Magento\App\Module\Declaration\Converter\Dom
      */
     protected $_converter;
 
     protected function setUp()
     {
-        $this->_converter = new \Magento\Core\Model\Module\Declaration\Converter\Dom();
+        $this->_converter = new \Magento\App\Module\Declaration\Converter\Dom();
     }
 
     public function testConvertWithValidDom()
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/Converter/_files/converted_valid_module.php b/dev/tests/unit/testsuite/Magento/App/Module/Declaration/Converter/_files/converted_valid_module.php
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/Converter/_files/converted_valid_module.php
rename to dev/tests/unit/testsuite/Magento/App/Module/Declaration/Converter/_files/converted_valid_module.php
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/Converter/_files/valid_module.xml b/dev/tests/unit/testsuite/Magento/App/Module/Declaration/Converter/_files/valid_module.xml
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/Converter/_files/valid_module.xml
rename to dev/tests/unit/testsuite/Magento/App/Module/Declaration/Converter/_files/valid_module.xml
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/FileResolver/_files/app/code/Module/Four/etc/module.xml b/dev/tests/unit/testsuite/Magento/App/Module/Declaration/FileResolver/_files/app/code/Module/Four/etc/module.xml
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/FileResolver/_files/app/code/Module/Four/etc/module.xml
rename to dev/tests/unit/testsuite/Magento/App/Module/Declaration/FileResolver/_files/app/code/Module/Four/etc/module.xml
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/FileResolver/_files/app/code/Module/One/etc/module.xml b/dev/tests/unit/testsuite/Magento/App/Module/Declaration/FileResolver/_files/app/code/Module/One/etc/module.xml
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/FileResolver/_files/app/code/Module/One/etc/module.xml
rename to dev/tests/unit/testsuite/Magento/App/Module/Declaration/FileResolver/_files/app/code/Module/One/etc/module.xml
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/FileResolver/_files/app/code/Module/Three/etc/module.xml b/dev/tests/unit/testsuite/Magento/App/Module/Declaration/FileResolver/_files/app/code/Module/Three/etc/module.xml
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/FileResolver/_files/app/code/Module/Three/etc/module.xml
rename to dev/tests/unit/testsuite/Magento/App/Module/Declaration/FileResolver/_files/app/code/Module/Three/etc/module.xml
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/FileResolver/_files/app/code/Module/Two/etc/module.xml b/dev/tests/unit/testsuite/Magento/App/Module/Declaration/FileResolver/_files/app/code/Module/Two/etc/module.xml
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/FileResolver/_files/app/code/Module/Two/etc/module.xml
rename to dev/tests/unit/testsuite/Magento/App/Module/Declaration/FileResolver/_files/app/code/Module/Two/etc/module.xml
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/FileResolver/_files/app/etc/custom/module.xml b/dev/tests/unit/testsuite/Magento/App/Module/Declaration/FileResolver/_files/app/etc/custom/module.xml
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/FileResolver/_files/app/etc/custom/module.xml
rename to dev/tests/unit/testsuite/Magento/App/Module/Declaration/FileResolver/_files/app/etc/custom/module.xml
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/FileResolverTest.php b/dev/tests/unit/testsuite/Magento/App/Module/Declaration/FileResolverTest.php
similarity index 84%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/FileResolverTest.php
rename to dev/tests/unit/testsuite/Magento/App/Module/Declaration/FileResolverTest.php
index fcdc9a5e3b2c43c37c2f54549180d990efbcbe40..8e258ee12da9c56b0e492f18d64a55ddee6b4c56 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/FileResolverTest.php
+++ b/dev/tests/unit/testsuite/Magento/App/Module/Declaration/FileResolverTest.php
@@ -21,12 +21,12 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Module\Declaration;
+namespace Magento\App\Module\Declaration;
 
 class FileResolverTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Module\Declaration\FileResolver
+     * @var \Magento\App\Module\Declaration\FileResolver
      */
     protected $_model;
 
@@ -34,20 +34,20 @@ class FileResolverTest extends \PHPUnit_Framework_TestCase
     {
         $baseDir = __DIR__ . str_replace('/', DIRECTORY_SEPARATOR, '/FileResolver/_files');
 
-        $applicationDirs = $this->getMock('Magento\Core\Model\Dir', array(), array('getDir'), '', false);
+        $applicationDirs = $this->getMock('Magento\App\Dir', array(), array('getDir'), '', false);
         $applicationDirs->expects($this->any())
             ->method('getDir')
             ->will($this->returnValueMap(array(
                 array(
-                    \Magento\Core\Model\Dir::CONFIG,
+                    \Magento\App\Dir::CONFIG,
                     $baseDir . DIRECTORY_SEPARATOR . 'app' . DIRECTORY_SEPARATOR .'etc',
                 ),
                 array(
-                    \Magento\Core\Model\Dir::MODULES,
+                    \Magento\App\Dir::MODULES,
                     $baseDir . DIRECTORY_SEPARATOR . 'app' . DIRECTORY_SEPARATOR .'code',
                 ),
             )));
-        $this->_model = new \Magento\Core\Model\Module\Declaration\FileResolver($applicationDirs);
+        $this->_model = new \Magento\App\Module\Declaration\FileResolver($applicationDirs);
     }
 
     public function testGet()
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/Reader/FilesystemTest.php b/dev/tests/unit/testsuite/Magento/App/Module/Declaration/Reader/FilesystemTest.php
similarity index 83%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/Reader/FilesystemTest.php
rename to dev/tests/unit/testsuite/Magento/App/Module/Declaration/Reader/FilesystemTest.php
index b354903ec3b36432cbd6d20ad5e9863bc1697764..a0e57985a5aeffbde26caf42d20353db1304a5d8 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Declaration/Reader/FilesystemTest.php
+++ b/dev/tests/unit/testsuite/Magento/App/Module/Declaration/Reader/FilesystemTest.php
@@ -21,37 +21,37 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Module\Declaration\Reader;
+namespace Magento\App\Module\Declaration\Reader;
 
 class FilesystemTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Module\Declaration\Reader\Filesystem
+     * @var \Magento\App\Module\Declaration\Reader\Filesystem
      */
     protected $_model;
 
     protected function setUp()
     {
         $baseDir = __DIR__ . str_replace('/', DIRECTORY_SEPARATOR, '/../FileResolver/_files');
-        $applicationDirs = $this->getMock('Magento\Core\Model\Dir', array(), array('getDir'), '', false);
+        $applicationDirs = $this->getMock('Magento\App\Dir', array(), array('getDir'), '', false);
         $applicationDirs->expects($this->any())->method('getDir')
             ->will($this->returnValueMap(array(
                 array(
-                    \Magento\Core\Model\Dir::CONFIG,
+                    \Magento\App\Dir::CONFIG,
                     $baseDir . DIRECTORY_SEPARATOR . 'app' . DIRECTORY_SEPARATOR .'etc',
                 ),
                 array(
-                    \Magento\Core\Model\Dir::MODULES,
+                    \Magento\App\Dir::MODULES,
                         $baseDir . DIRECTORY_SEPARATOR . 'app' . DIRECTORY_SEPARATOR .'code',
                 ),
             )));
-        $fileResolver = new \Magento\Core\Model\Module\Declaration\FileResolver($applicationDirs);
-        $converter = new \Magento\Core\Model\Module\Declaration\Converter\Dom();
+        $fileResolver = new \Magento\App\Module\Declaration\FileResolver($applicationDirs);
+        $converter = new \Magento\App\Module\Declaration\Converter\Dom();
         $schemaLocatorMock = $this->getMock(
-            'Magento\Core\Model\Module\Declaration\SchemaLocator', array(), array(), '', false
+            'Magento\App\Module\Declaration\SchemaLocator', array(), array(), '', false
         );
         $validationStateMock = $this->getMock('Magento\Config\ValidationStateInterface');
-        $this->_model = new \Magento\Core\Model\Module\Declaration\Reader\Filesystem(
+        $this->_model = new \Magento\App\Module\Declaration\Reader\Filesystem(
             $fileResolver, $converter, $schemaLocatorMock, $validationStateMock
         );
     }
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Dir/ReverseResolverTest.php b/dev/tests/unit/testsuite/Magento/App/Module/Dir/ReverseResolverTest.php
similarity index 85%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/Dir/ReverseResolverTest.php
rename to dev/tests/unit/testsuite/Magento/App/Module/Dir/ReverseResolverTest.php
index 06c9ef2c706ba3342171340a8e7fabb10756109f..f4e550ee4fd7d9676d1c2052f79b02b073d59c7c 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Module/Dir/ReverseResolverTest.php
+++ b/dev/tests/unit/testsuite/Magento/App/Module/Dir/ReverseResolverTest.php
@@ -21,30 +21,30 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Module\Dir;
+namespace Magento\App\Module\Dir;
 
 class ReverseResolverTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Module\Dir\ReverseResolver
+     * @var \Magento\App\Module\Dir\ReverseResolver
      */
     protected $_model;
 
     /**
-     * @var \Magento\Core\Model\ModuleListInterface|\PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\ModuleListInterface|\PHPUnit_Framework_MockObject_MockObject
      */
     protected $_moduleList;
 
     /**
-     * @var \Magento\Core\Model\Module\Dir|\PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\Module\Dir|\PHPUnit_Framework_MockObject_MockObject
      */
     protected $_moduleDirs;
 
     protected function setUp()
     {
-        $this->_moduleList = $this->getMock('Magento\Core\Model\ModuleListInterface');
-        $this->_moduleDirs = $this->getMock('Magento\Core\Model\Module\Dir', array(), array(), '', false, false);
-        $this->_model = new \Magento\Core\Model\Module\Dir\ReverseResolver($this->_moduleList, $this->_moduleDirs);
+        $this->_moduleList = $this->getMock('Magento\App\ModuleListInterface');
+        $this->_moduleDirs = $this->getMock('Magento\App\Module\Dir', array(), array(), '', false, false);
+        $this->_model = new \Magento\App\Module\Dir\ReverseResolver($this->_moduleList, $this->_moduleDirs);
     }
 
     /**
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/DirTest.php b/dev/tests/unit/testsuite/Magento/App/Module/DirTest.php
similarity index 83%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/DirTest.php
rename to dev/tests/unit/testsuite/Magento/App/Module/DirTest.php
index 9bd3fc6b3b8d5bcfebb30bfd3e5a47c715df54f6..b2fc7368dc9a33ac6a807a07d61d2310ec6f9850 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Module/DirTest.php
+++ b/dev/tests/unit/testsuite/Magento/App/Module/DirTest.php
@@ -21,30 +21,30 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Module;
+namespace Magento\App\Module;
 
 class DirTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Module\Dir
+     * @var \Magento\App\Module\Dir
      */
     protected $_model;
 
     /**
-     * @var \Magento\Core\Model\Dir|\PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\Dir|\PHPUnit_Framework_MockObject_MockObject
      */
     protected $_applicationDirs;
 
     protected function setUp()
     {
-        $this->_applicationDirs = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false, false);
+        $this->_applicationDirs = $this->getMock('Magento\App\Dir', array(), array(), '', false, false);
         $this->_applicationDirs
             ->expects($this->once())
             ->method('getDir')
-            ->with(\Magento\Core\Model\Dir::MODULES)
+            ->with(\Magento\App\Dir::MODULES)
             ->will($this->returnValue('app' . DIRECTORY_SEPARATOR . 'code'))
         ;
-        $this->_model = new \Magento\Core\Model\Module\Dir($this->_applicationDirs);
+        $this->_model = new \Magento\App\Module\Dir($this->_applicationDirs);
     }
 
     public function testGetDirModuleRoot()
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/ResourceResolver/_files/Module/data/module_first_setup/.gitignore b/dev/tests/unit/testsuite/Magento/App/Module/ResourceResolver/_files/Module/data/module_first_setup/.gitignore
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/ResourceResolver/_files/Module/data/module_first_setup/.gitignore
rename to dev/tests/unit/testsuite/Magento/App/Module/ResourceResolver/_files/Module/data/module_first_setup/.gitignore
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/ResourceResolver/_files/Module/data/module_second_setup/.gitignore b/dev/tests/unit/testsuite/Magento/App/Module/ResourceResolver/_files/Module/data/module_second_setup/.gitignore
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/ResourceResolver/_files/Module/data/module_second_setup/.gitignore
rename to dev/tests/unit/testsuite/Magento/App/Module/ResourceResolver/_files/Module/data/module_second_setup/.gitignore
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/ResourceResolver/_files/Module/sql/module_first_setup/.gitignore b/dev/tests/unit/testsuite/Magento/App/Module/ResourceResolver/_files/Module/sql/module_first_setup/.gitignore
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/ResourceResolver/_files/Module/sql/module_first_setup/.gitignore
rename to dev/tests/unit/testsuite/Magento/App/Module/ResourceResolver/_files/Module/sql/module_first_setup/.gitignore
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Module/ResourceResolverTest.php b/dev/tests/unit/testsuite/Magento/App/Module/ResourceResolverTest.php
similarity index 91%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Module/ResourceResolverTest.php
rename to dev/tests/unit/testsuite/Magento/App/Module/ResourceResolverTest.php
index fa6dbe2ffc29b09a9ed85764b6799d659b14238f..92b3566ea18578d34c83ff683036f8910ee4b1e6 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Module/ResourceResolverTest.php
+++ b/dev/tests/unit/testsuite/Magento/App/Module/ResourceResolverTest.php
@@ -21,12 +21,12 @@
  * @copyright Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license   http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Module;
+namespace Magento\App\Module;
 
 class ResourceResolverTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var  \Magento\Core\Model\Module\ResourceResolver
+     * @var  \Magento\App\Module\ResourceResolver
      */
     protected $_model;
 
@@ -39,7 +39,7 @@ class ResourceResolverTest extends \PHPUnit_Framework_TestCase
     {
         $this->_moduleReaderMock = $this->getMock('Magento\Core\Model\Config\Modules\Reader',
             array(), array(), '', false);
-        $this->_model = new \Magento\Core\Model\Module\ResourceResolver($this->_moduleReaderMock);
+        $this->_model = new \Magento\App\Module\ResourceResolver($this->_moduleReaderMock);
     }
 
     public function testGetResourceList()
diff --git a/dev/tests/unit/testsuite/Magento/App/Request/HttpTest.php b/dev/tests/unit/testsuite/Magento/App/Request/HttpTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..43be63bc46b38cbe3acd0840b160a639780c5130
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/App/Request/HttpTest.php
@@ -0,0 +1,255 @@
+<?php
+/**
+ *
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App\Request;
+
+class HttpTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\App\Request\Http
+     */
+    protected $_model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_routerListMock;
+
+    protected function setUp()
+    {
+        $this->_routerListMock = $this->getMock('\Magento\App\RouterList', array(), array(), '', false);
+    }
+
+    public function testGetOriginalPathInfoWithTestUri()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock, 'http://test.com/value');
+        $this->assertEquals('/value', $this->_model->getOriginalPathInfo());
+    }
+
+    public function testGetOriginalPathInfoWithEmptyUri()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock, null);
+        $this->assertEmpty($this->_model->getOriginalPathInfo());
+    }
+
+    public function testSetPathInfoWithNullValue()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock, null);
+        $actual = $this->_model->setPathInfo();
+        $this->assertEquals($this->_model, $actual);
+    }
+
+    public function testSetPathInfoWithValue()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock, null);
+        $expected = 'testPathInfo';
+        $this->_model->setPathInfo($expected);
+        $this->assertEquals($expected, $this->_model->getPathInfo());
+    }
+
+    public function testSetPathInfoWithQueryPart()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock, 'http://test.com/node?queryValue');
+        $this->_model->setPathInfo();
+        $this->assertEquals('/node', $this->_model->getPathInfo());
+    }
+
+    public function testRewritePathInfoWithNewValue()
+    {
+        $expected = '/other/path';
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock, 'http://test.com/one/two');
+        $this->_model->rewritePathInfo($expected);
+        $this->assertEquals($expected, $this->_model->getPathInfo());
+    }
+
+    public function testRewritePathInfoWithSameValue()
+    {
+        $expected = '/one/two';
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock, 'http://test.com' . $expected);
+        $this->_model->rewritePathInfo($expected);
+        $this->assertEquals($expected, $this->_model->getPathInfo());
+    }
+
+    public function testGetBasePathWithPath()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model->setBasePath('http:\/test.com\one/two');
+        $this->assertEquals('http://test.com/one/two', $this->_model->getBasePath());
+    }
+
+    public function testGetBasePathWithoutPath()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model->setBasePath();
+        $this->assertEquals('/', $this->_model->getBasePath());
+    }
+
+    public function testGetBaseUrlWithUrl()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model->setBaseUrl('http:\/test.com\one/two');
+        $this->assertEquals('http://test.com/one/two', $this->_model->getBaseUrl());
+    }
+
+    public function testGetBaseUrlWithEmptyUrl()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model->setBaseUrl();
+        $this->assertEmpty($this->_model->getBaseUrl());
+    }
+
+    public function testSetRouteNameWithRouter()
+    {
+        $router = $this->getMock('\Magento\App\Router\AbstractRouter', array(), array(), '', false);
+        $this->_routerListMock->expects($this->any())->method('getRouterByRoute')->will($this->returnValue($router));
+        $router->expects($this->once())->method('getFrontNameByRoute')->will($this->returnValue('string'));
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model->setRouteName('RouterName');
+        $this->assertEquals('RouterName', $this->_model->getRouteName());
+    }
+
+    public function testSetRouteNameWithNullRouterValue()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $router = $this->getMock('\Magento\App\Router\AbstractRouter', array(), array(), '', false);
+        $this->_routerListMock->expects($this->once())->method('getRouterByRoute')->will($this->returnValue(null));
+        $router->expects($this->never())->method('getFrontNameByRoute');
+        $this->_model->setRouteName('RouterName');
+    }
+
+    public function testGetFrontName()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock, 'http://test.com/one/two');
+        $this->assertEquals('one', $this->_model->getFrontName());
+    }
+
+    public function testGetAliasWhenAliasExists()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model->setAlias('AliasName', 'AliasTarget');
+        $this->assertEquals('AliasTarget', $this->_model->getAlias('AliasName') );
+    }
+
+    public function testGetAliasWhenAliasesIsNull()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->assertNull($this->_model->getAlias('someValue'));
+    }
+
+    public function testGetAliasesWhenAliasSet()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model->setAlias('AliasName', 'AliasTarget');
+        $this->assertEquals(array('AliasName' => 'AliasTarget'), $this->_model->getAliases());
+    }
+
+    public function testGetAliasesWhenAliasAreEmpty()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->assertEmpty($this->_model->getAliases());
+    }
+
+    public function testGetRequestedRouteNameWhenRequestedRouteIsSet()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model->setRoutingInfo(array('requested_route' => 'ExpectedValue'));
+        $this->assertEquals('ExpectedValue', $this->_model->getRequestedRouteName());
+    }
+
+    public function testGetRequestedRouteNameWithNullValueRouteName()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model->setRouteName('RouteName');
+        $this->assertEquals('RouteName', $this->_model->getRequestedRouteName());
+    }
+
+    public function testGetRequestedRouteNameWithRewritePathInfo()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $routerAbstract = $this->getMock('\Magento\App\Router\AbstractRouter', array(), array(), '', false);
+        $expected = 'TestValue';
+        $this->_model->setPathInfo($expected);
+        $this->_model->rewritePathInfo($expected . '/other');
+        $this->_routerListMock->expects($this->any())->method('getRouterByFrontName')->with($expected)
+            ->will($this->returnValue($routerAbstract));
+        $routerAbstract->expects($this->any())->method('getRouteByFrontName')->with($expected)
+            ->will($this->returnValue($expected));
+
+        $this->assertEquals($expected, $this->_model->getRequestedRouteName());
+    }
+
+    public function testGetRequestedRouteNameWithoutRewritePathInfo()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $expected = 'RouteName';
+        $this->_model->setRouteName($expected);
+        $this->assertEquals($expected, $this->_model->getRequestedRouteName());
+    }
+
+    public function testGetRequestedControllerNameWithRequestedController()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $expected = array('requested_controller' => 'ControllerName');
+        $this->_model->setRoutingInfo($expected);
+        $test = $this->_model->getRequestedControllerName();
+        $this->assertEquals($expected['requested_controller'], $test);
+    }
+
+    public function testGetRequestedControllerNameWithRewritePathInfo()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $path = 'one/two/';
+        $this->_model->setPathInfo($path);
+        $this->_model->rewritePathInfo($path. '/last');
+        $this->assertEquals('two', $this->_model->getRequestedControllerName());
+    }
+
+    public function testGetRequestedActionNameWithRoutingInfo()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_model->setRoutingInfo(array('requested_action' => 'ExpectedValue'));
+        $this->assertEquals('ExpectedValue', $this->_model->getRequestedActionName());
+    }
+
+    public function testGetRequestedActionNameWithRewritePathInfo()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $path = 'one/two/three';
+        $this->_model->setPathInfo($path);
+        $this->_model->rewritePathInfo($path. '/last');
+        $this->assertEquals('three', $this->_model->getRequestedActionName());
+    }
+
+    public function testIsStraightWithTrueValue()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->assertTrue($this->_model->isStraight(true));
+    }
+
+    public function testIsStraightWithDefaultValue()
+    {
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->assertFalse($this->_model->isStraight());
+    }
+}
diff --git a/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/Router/AbstractTest.php b/dev/tests/unit/testsuite/Magento/App/Response/HttpTest.php
similarity index 57%
rename from dev/tests/integration/testsuite/Magento/Core/Controller/Varien/Router/AbstractTest.php
rename to dev/tests/unit/testsuite/Magento/App/Response/HttpTest.php
index 73b5ec7444a9f1337854e8ab0164f88c127188db..47972a10dd1eff1db610845a61d36808722a9335 100644
--- a/dev/tests/integration/testsuite/Magento/Core/Controller/Varien/Router/AbstractTest.php
+++ b/dev/tests/unit/testsuite/Magento/App/Response/HttpTest.php
@@ -18,35 +18,39 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
- * @subpackage  integration_tests
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
+namespace Magento\App\Response;
 
-namespace Magento\Core\Controller\Varien\Router;
-
-class AbstractTest extends \PHPUnit_Framework_TestCase
+class HttpTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Controller\Varien\Router\AbstractRouter
+     * @var \Magento\App\Response\Http
      */
     protected $_model;
 
     protected function setUp()
     {
-        $this->_model = $this->getMockForAbstractClass('Magento\Core\Controller\Varien\Router\AbstractRouter',
-            array(), '', false
-        );
+        $this->_model = new \Magento\App\Response\Http();
+        $this->_model->headersSentThrowsException = false;
+        $this->_model->setHeader('name', 'value');
+    }
+
+    protected function tearDown()
+    {
+        unset($this->_model);
+    }
+
+    public function testGetHeaderWhenHeaderNameIsEqualsName()
+    {
+        $expected = array('name' => 'Name', 'value' => 'value', 'replace' => false);
+        $actual = $this->_model->getHeader('Name');
+        $this->assertEquals($expected, $actual);
     }
 
-    public function testGetSetFront()
+    public function testGetHeaderWhenHeaderNameIsNotEqualsName()
     {
-        $expected = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
-            ->create('Magento\Core\Controller\Varien\Front');
-        $this->assertNull($this->_model->getFront());
-        $this->_model->setFront($expected);
-        $this->assertSame($expected, $this->_model->getFront());
+        $this->assertFalse($this->_model->getHeader('Test'));
     }
 }
diff --git a/dev/tests/unit/testsuite/Magento/App/ResponseFactoryTest.php b/dev/tests/unit/testsuite/Magento/App/ResponseFactoryTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..4edb3929b3bda512f56143fe04015ebdd51c8dc6
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/App/ResponseFactoryTest.php
@@ -0,0 +1,60 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App;
+
+class ResponseFactoryTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\App\ResponseFactory
+     */
+    protected $_model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_objectManagerMock;
+
+    /**
+     * @var \Magento\App\ResponseInterface
+     */
+    protected $_expectedObject;
+
+    protected function setUp()
+    {
+        $this->_objectManagerMock = $this->getMock('Magento\ObjectManager');
+        $this->_model = new \Magento\App\ResponseFactory($this->_objectManagerMock);
+    }
+
+    public function testCreate()
+    {
+        $this->_expectedObject = $this->getMockBuilder('\Magento\App\ResponseInterface')->getMock();
+        $arguments = array(array('property' => 'value'));
+        $this->_objectManagerMock->expects($this->once())
+            ->method('create')
+            ->with('Magento\App\ResponseInterface', $arguments)->will($this->returnValue($this->_expectedObject));
+
+        $this->assertEquals($this->_expectedObject, $this->_model->create($arguments));
+
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Db/UpdaterTest.php b/dev/tests/unit/testsuite/Magento/App/UpdaterTest.php
similarity index 77%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Db/UpdaterTest.php
rename to dev/tests/unit/testsuite/Magento/App/UpdaterTest.php
index e15a7b6fedc8c876302d476e94dd20a46ad691c1..9e7217083fed86529aeb5f1ed58b84fdd419a3e0 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Db/UpdaterTest.php
+++ b/dev/tests/unit/testsuite/Magento/App/UpdaterTest.php
@@ -21,46 +21,46 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Db;
+namespace Magento\App;
 
 class UpdaterTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_factoryMock;
 
     /**
-     * @var PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_appStateMock;
 
     /**
-     * @var PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_resourceResolver;
 
     /**
-     * @var PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_moduleListMock;
 
     /**
-     * @var PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_resourceSetupMock;
 
     /**
-     * @var \Magento\Core\Model\Db\Updater
+     * @var \Magento\App\Updater
      */
     protected $_model;
 
     protected function setUp()
     {
-        $this->_factoryMock = $this->getMock('Magento\Core\Model\Resource\SetupFactory', array(), array(), '', false);
-        $this->_appStateMock = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false);
-        $this->_resourceResolver = $this->getMock('Magento\Core\Model\Module\ResourceResolverInterface');
-        $this->_moduleListMock = $this->getMock('Magento\Core\Model\ModuleListInterface');
+        $this->_factoryMock = $this->getMock('Magento\App\Updater\SetupFactory', array(), array(), '', false);
+        $this->_appStateMock = $this->getMock('Magento\App\State', array(), array(), '', false);
+        $this->_moduleListMock = $this->getMock('Magento\App\ModuleListInterface');
+        $this->_resourceResolver = $this->getMock('Magento\App\Module\ResourceResolverInterface');
         $this->_resourceSetupMock = $this->getMock('Magento\Catalog\Model\Resource\Setup', array(), array(), '', false);
 
         $moduleList = array('Test_Module' => array());
@@ -74,21 +74,16 @@ class UpdaterTest extends \PHPUnit_Framework_TestCase
             ->with('Test_Module')
             ->will($this->returnValue($resourceList));
 
-        $createData = array(
-            'resourceName' => 'catalog_setup',
-            'moduleName' => 'Test_Module',
-        );
         $this->_factoryMock->expects($this->any())
             ->method('create')
-            ->with('Magento\Catalog\Model\Resource\Setup', $createData)
+            ->with('catalog_setup', 'Test_Module')
             ->will($this->returnValue($this->_resourceSetupMock));
 
-        $this->_model = new \Magento\Core\Model\Db\Updater(
+        $this->_model = new \Magento\App\Updater(
             $this->_factoryMock,
             $this->_appStateMock,
             $this->_moduleListMock,
             $this->_resourceResolver,
-            array('catalog_setup' => 'Magento\Catalog\Model\Resource\Setup'),
             true
         );
     }
diff --git a/dev/tests/unit/testsuite/Magento/Backend/App/Area/FrontNameResolverTest.php b/dev/tests/unit/testsuite/Magento/Backend/App/Area/FrontNameResolverTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..f3047d1b966b638ba27737c45d9576b24a2d23b4
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Backend/App/Area/FrontNameResolverTest.php
@@ -0,0 +1,65 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Backend\App\Area;
+
+class FrontNameResolverTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Backend\App\Area\FrontNameResolver
+     */
+    protected $_model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_configMock;
+
+    /**
+     * @var string
+     */
+    protected $_defaultFrontName = 'defaultFrontName';
+
+    protected function setUp()
+    {
+        $this->_configMock
+            = $this->getMock('\Magento\Core\Model\ConfigInterface', array('getValue', 'getNode', 'setNode', 'reinit'));
+        $this->_model = new \Magento\Backend\App\Area\FrontNameResolver($this->_configMock, $this->_defaultFrontName);
+    }
+
+    public function testIfCustomPathUsed()
+    {
+        $this->_configMock->expects($this->at(0))
+            ->method('getValue')->with('admin/url/use_custom_path', 'default')->will($this->returnValue(true));
+        $this->_configMock->expects($this->at(1))
+            ->method('getValue')->with('admin/url/custom_path', 'default')->will($this->returnValue('expectedValue'));
+        $this->assertEquals('expectedValue', $this->_model->getFrontName());
+    }
+
+    public function testIfCustomPathNotUsed()
+    {
+        $this->_configMock->expects($this->once())->
+            method('getValue')->with('admin/url/use_custom_path', 'default')->will($this->returnValue(false));
+        $this->assertEquals($this->_defaultFrontName, $this->_model->getFrontName());
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Backend/App/Area/Request/PathInfoProcessorTest.php b/dev/tests/unit/testsuite/Magento/Backend/App/Area/Request/PathInfoProcessorTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..91dc75bca9c731391993b37f1a7fac9ea0e13477
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Backend/App/Area/Request/PathInfoProcessorTest.php
@@ -0,0 +1,83 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Backend\App\Area\Request;
+
+class PathInfoProcessorTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Backend\App\Request\PathInfoProcessor
+     */
+    protected $_model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_backendHelperMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_subjectMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_requestMock;
+
+    /**
+     * @var string
+     */
+    protected $_pathInfo = '/storeCode/node_one/';
+
+    protected function setUp()
+    {
+        $this->_requestMock = $this->getMock('\Magento\App\RequestInterface');
+        $this->_subjectMock =
+            $this->getMock('\Magento\Core\App\Request\PathInfoProcessor', array(), array(), '', false);
+        $this->_backendHelperMock =
+            $this->getMock('\Magento\Backend\Helper\Data', array(), array(), '', false);
+        $this->_model = new \Magento\Backend\App\Request\PathInfoProcessor(
+            $this->_subjectMock,
+            $this->_backendHelperMock
+        );
+    }
+
+    public function testProcessIfStoreCodeEqualToAreaFrontName()
+    {
+        $this->_backendHelperMock->
+            expects($this->once())->method('getAreaFrontName')->will($this->returnValue('storeCode'));
+        $this->assertEquals($this->_pathInfo, $this->_model->process($this->_requestMock, $this->_pathInfo));
+    }
+
+    public function testProcessIfStoreCodeNotEqualToAreaFrontName()
+    {
+        $this->_backendHelperMock
+            ->expects($this->once())->method('getAreaFrontName')->will($this->returnValue('store'));
+        $this->_subjectMock
+            ->expects($this->once())->method('process')->with($this->_requestMock, $this->_pathInfo)
+            ->will($this->returnValue('Expected'));
+        $this->assertEquals('Expected', $this->_model->process($this->_requestMock, $this->_pathInfo));
+    }
+
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Block/Store/SwitcherTest.php b/dev/tests/unit/testsuite/Magento/Backend/Block/Store/SwitcherTest.php
index 0088c6d5c73980c17b54c4e03b6c4705c5c73be7..d9a02d174f598ee16caba4430ba934fed29f0735 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Block/Store/SwitcherTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Block/Store/SwitcherTest.php
@@ -37,37 +37,50 @@ class SwitcherTest extends \PHPUnit_Framework_TestCase
     /**
      * @var \PHPUnit_Framework_MockObject_MockObject
      */
-    protected $_applicationModel;
+    protected $_applicationMock;
 
     /**
      * @var \PHPUnit_Framework_MockObject_MockObject
      */
-    protected $_websiteFactory;
+    protected $_websiteFactoryMock;
 
     /**
      * @var \PHPUnit_Framework_MockObject_MockObject
      */
-    protected $_storeGroupFactory;
+    protected $_storeGroupMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_coreHelperMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_contextMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_storeFactoryMock;
 
     protected function setUp()
     {
-        $this->_applicationModel = $this->getMock('Magento\Core\Model\App', array(), array(), '', false);
-        $this->_websiteFactory = $this->getMock('Magento\Core\Model\Website\Factory', array(), array(), '', false);
-        $this->_storeGroupFactory = $this->getMock(
-            'Magento\Core\Model\Store\Group\Factory',
-            array(),
-            array(),
-            '',
-            false
+        $this->_coreHelperMock = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
+        $this->_contextMock = $this->getMock('Magento\Backend\Block\Template\Context', array(), array(), '', false);
+        $this->_applicationMock = $this->getMock('Magento\Core\Model\App', array(), array(), '', false);
+        $this->_websiteFactoryMock = $this->getMock('Magento\Core\Model\Website\Factory', array(), array(), '', false);
+        $this->_storeGroupMock = $this->getMock('Magento\Core\Model\Store\Group\Factory', array(), array(), '', false);
+        $this->_storeFactoryMock = $this->getMock('Magento\Core\Model\StoreFactory', array(), array(), '', false);
+
+        $this->_object = new \Magento\Backend\Block\Store\Switcher(
+            $this->_coreHelperMock,
+            $this->_contextMock,
+            $this->_applicationMock,
+            $this->_websiteFactoryMock,
+            $this->_storeGroupMock,
+            $this->_storeFactoryMock
         );
-
-        $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $this->_object = $helper->getObject('Magento\Backend\Block\Store\Switcher', array(
-            'urlBuilder' => $this->getMock('Magento\Backend\Model\Url', array(), array(), '', false),
-            'application' => $this->_applicationModel,
-            'websiteFactory' => $this->_websiteFactory,
-            'storeGroupFactory' => $this->_storeGroupFactory
-        ));
     }
 
     /**
@@ -77,12 +90,7 @@ class SwitcherTest extends \PHPUnit_Framework_TestCase
     {
         $websiteModel = $this->getMock('Magento\Core\Model\Website', array(), array(), '', false, false);
         $collection = $this->getMock(
-            'Magento\Core\Model\Resource\Website\Collection',
-            array(),
-            array(),
-            '',
-            false,
-            false
+            'Magento\Core\Model\Resource\Website\Collection', array(), array(), '', false, false
         );
         $websiteModel->expects($this->once())->method('getResourceCollection')->will($this->returnValue($collection));
 
@@ -90,7 +98,7 @@ class SwitcherTest extends \PHPUnit_Framework_TestCase
         $collection->expects($this->once())->method('load')->will($this->returnValue($expected));
         $collection->expects($this->never())->method('addIdFilter');
 
-        $this->_websiteFactory->expects($this->once())
+        $this->_websiteFactoryMock->expects($this->once())
             ->method('create')
             ->will($this->returnValue($websiteModel));
 
@@ -124,7 +132,7 @@ class SwitcherTest extends \PHPUnit_Framework_TestCase
         $collection->expects($this->once())->method('load')->will($this->returnValue($expected));
         $collection->expects($this->once())->method('addIdFilter')->with($ids);
 
-        $this->_websiteFactory->expects($this->once())
+        $this->_websiteFactoryMock->expects($this->once())
             ->method('create')
             ->will($this->returnValue($websiteModel));
 
@@ -140,7 +148,7 @@ class SwitcherTest extends \PHPUnit_Framework_TestCase
         $this->_object->setWebsiteIds(null);
 
         $expected = array('test', 'data', 'some');
-        $this->_applicationModel->expects($this->once())->method('getWebsites')->will($this->returnValue($expected));
+        $this->_applicationMock->expects($this->once())->method('getWebsites')->will($this->returnValue($expected));
 
         $this->assertEquals($expected, $this->_object->getWebsites());
     }
@@ -166,7 +174,7 @@ class SwitcherTest extends \PHPUnit_Framework_TestCase
             3 => 'site 3',
             5 => 'site 5',
         );
-        $this->_applicationModel->expects($this->once())->method('getWebsites')->will($this->returnValue($webSites));
+        $this->_applicationMock->expects($this->once())->method('getWebsites')->will($this->returnValue($webSites));
 
         $this->assertEquals($expected, $this->_object->getWebsites());
     }
@@ -188,7 +196,7 @@ class SwitcherTest extends \PHPUnit_Framework_TestCase
         $this->_object->setWebsiteIds($ids);
 
         $expected = array();
-        $this->_applicationModel->expects($this->once())->method('getWebsites')->will($this->returnValue($webSites));
+        $this->_applicationMock->expects($this->once())->method('getWebsites')->will($this->returnValue($webSites));
 
         $this->assertEquals($expected, $this->_object->getWebsites());
     }
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/EditTest.php b/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/EditTest.php
index aa2c8b000cbc8a2668cc9ed07b1700dda34caca4..53fd47b375a17ed4d6eeb0670fcaa583d2a5ada1 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/EditTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/EditTest.php
@@ -65,7 +65,7 @@ class EditTest extends \PHPUnit_Framework_TestCase
             array(), array(), '', false, false
         );
 
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http',
+        $this->_requestMock = $this->getMock('Magento\App\RequestInterface',
             array(), array(), '', false, false
         );
         $this->_requestMock->expects($this->any())
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/Form/Field/ExportTest.php b/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/Form/Field/ExportTest.php
index 9f624cfdfbfc8da96737bbe6f252b8185c0b1688..e36220e4fe0a0be986d9858ffa7a6406dc362b83 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/Form/Field/ExportTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/Form/Field/ExportTest.php
@@ -65,7 +65,7 @@ class ExportTest extends \PHPUnit_Framework_TestCase
 
         $blockMock = $this->getMock('Magento\Backend\Block\Widget\Button', array(), array(), '', false, false);
 
-        $requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false, false);
+        $requestMock = $this->getMock('Magento\App\RequestInterface', array(), array(), '', false, false);
         $requestMock->expects($this->once())->method('getParam')->with('website')->will($this->returnValue(1));
 
         $helperMock = $this->getMock('Magento\Backend\Helper\Data', array(), array(), '', false, false);
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/Form/FieldsetTest.php b/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/Form/FieldsetTest.php
index a809b4d91724cea2b41d2716924d36051a0eb148..07d631498b5631f3cffd591a11871e2801aa8801 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/Form/FieldsetTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/Form/FieldsetTest.php
@@ -71,7 +71,7 @@ class FieldsetTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false,
+        $this->_requestMock = $this->getMock('Magento\App\RequestInterface', array(), array(), '', false,
             false);
         $this->_urlModelMock = $this->getMock('Magento\Backend\Model\Url', array(), array(), '', false, false);
         $this->_layoutMock = $this->getMock('Magento\Core\Model\Layout', array(), array(), '', false, false);
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/FormTest.php b/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/FormTest.php
index 75e970104fee7b7c1f5ab587f776031188eba080..6dd3c291b8ae1c6232218415c5bf4a6eed660655 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/FormTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/FormTest.php
@@ -80,7 +80,7 @@ class FormTest extends \PHPUnit_Framework_TestCase
             array(), array(), '', false, false
         );
 
-        $requestMock = $this->getMock('Magento\Core\Controller\Request\Http',
+        $requestMock = $this->getMock('Magento\App\RequestInterface',
             array(), array(), '', false, false
         );
         $requestParams = array(
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/TabsTest.php b/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/TabsTest.php
index f05e9bfd997a49bb98fc77619015c281839f5ce2..c60079900a0f97b05902272a0de23f4e9b1e4dd4 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/TabsTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Block/System/Config/TabsTest.php
@@ -56,7 +56,7 @@ class TabsTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\RequestInterface', array(), array(), '', false);
         $this->_requestMock->expects($this->any())->method('getParam')->with('section')
             ->will($this->returnValue('currentSectionId'));
         $this->_structureMock = $this->getMock('Magento\Backend\Model\Config\Structure', array(), array(), '', false);
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/Grid/Column/Renderer/CurrencyTest.php b/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/Grid/Column/Renderer/CurrencyTest.php
index e2e083cfccc2b7230a6539016870c87621d6245a..bbc79400119dde942bed9aa8fee6ac43257164c4 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/Grid/Column/Renderer/CurrencyTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/Grid/Column/Renderer/CurrencyTest.php
@@ -54,6 +54,21 @@ class CurrencyTest extends \PHPUnit_Framework_TestCase
      */
     protected $_columnMock;
 
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_storeManagerMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_contextMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_requestMock;
+
     /**
      * @var \Magento\Object
      */
@@ -61,29 +76,39 @@ class CurrencyTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
+        $this->_contextMock = $this->getMock('Magento\Backend\Block\Context', array(), array(), '', false);
         $this->_appMock = $this->getMock('Magento\Core\Model\App', array(), array(), '', false);
+        $this->_storeManagerMock = $this->getMock('\Magento\Core\Model\StoreManagerInterface');
         $this->_localeMock = $this->getMock('Magento\Core\Model\LocaleInterface');
+        $this->_requestMock = $this->getMock('Magento\App\RequestInterface');
+
         $this->_curLocatorMock = $this->getMock(
             'Magento\Directory\Model\Currency\DefaultLocator', array(), array(), '', false
         );
         $this->_columnMock = $this->getMock(
             'Magento\Backend\Block\Widget\Grid\Column', array('getIndex'), array(), '', false
         );
-        $this->_columnMock->expects($this->any())->method('getIndex')->will($this->returnValue('columnIndex'));
+        $this->_columnMock->expects($this->any())
+            ->method('getIndex')
+            ->will($this->returnValue('columnIndex'));
+
+        $this->_contextMock->expects($this->any())
+            ->method('getApp')
+            ->will($this->returnValue($this->_appMock));
+
+        $this->_contextMock->expects($this->any())
+            ->method('getRequest')
+            ->will($this->returnValue($this->_requestMock));
+
         $this->_row = new \Magento\Object(array('columnIndex' => '10'));
 
-        $objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $this->_blockCurrency = $objectManagerHelper->getObject(
-            'Magento\Backend\Block\Widget\Grid\Column\Renderer\Currency',
-            array(
-                'locale' => $this->_localeMock,
-                'app' => $this->_appMock,
-                'currencyLocator' => $this->_curLocatorMock,
-                'urlBuilder' => $this->getMock(
-                    'Magento\Backend\Model\Url', array(), array(), '', false
-                )
-            )
+        $this->_blockCurrency = new \Magento\Backend\Block\Widget\Grid\Column\Renderer\Currency(
+            $this->_contextMock,
+            $this->_storeManagerMock,
+            $this->_localeMock,
+            $this->_curLocatorMock
         );
+
         $this->_blockCurrency->setColumn($this->_columnMock);
     }
 
@@ -94,9 +119,15 @@ class CurrencyTest extends \PHPUnit_Framework_TestCase
         unset($this->_curLocatorMock);
         unset($this->_columnMock);
         unset($this->_row);
+        unset($this->_storeManagerMock);
+        unset($this->_requestMock);
+        unset($this->_contextMock);
         unset($this->_blockCurrency);
     }
 
+    /**
+     * @covers \Magento\Backend\Block\Widget\Grid\Column\Renderer\Currency::render
+     */
     public function testRenderWithDefaultCurrency()
     {
         $currencyMock = $this->getMock('Magento\Directory\Model\Currency', array(), array(), '', false);
@@ -106,11 +137,14 @@ class CurrencyTest extends \PHPUnit_Framework_TestCase
         $storeMock = $this->getMock('Magento\Core\Model\Store', array(), array(), '', false);
         $storeMock->expects($this->once())->method('getBaseCurrency')->will($this->returnValue($currencyMock));
 
-        $this->_appMock->expects($this->once())->method('getStore')->will($this->returnValue($storeMock));
+        $this->_storeManagerMock->expects($this->once())
+            ->method('getStore')
+            ->will($this->returnValue($storeMock));
 
-        $this->_curLocatorMock->expects($this->any())->method('getDefaultCurrency')->will($this->returnValue(
-            'defaultCurrency'
-        ));
+        $this->_curLocatorMock->expects($this->any())
+            ->method('getDefaultCurrency')
+            ->with($this->_requestMock)
+            ->will($this->returnValue('defaultCurrency'));
 
         $currLocaleMock = $this->getMock('Zend_Currency', array(), array(), '', false);
         $currLocaleMock->expects($this->once())->method('toCurrency')->with(15.0000)->will($this->returnValue('15USD'));
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/Grid/MassactionTest.php b/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/Grid/MassactionTest.php
index 2d9c55bff77de1feb928dece44eb6f7343867455..a48df45bf62b9be164d7b81a639c312df53b4eef 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/Grid/MassactionTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/Grid/MassactionTest.php
@@ -96,9 +96,7 @@ class MassactionTest extends \PHPUnit_Framework_TestCase
             ->with('test_grid')
             ->will($this->returnValue($this->_gridMock));
 
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array('getParam'), array(), '',
-            false
-        );
+        $this->_requestMock = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
 
         $this->_urlModelMock = $this->getMock('Magento\Backend\Model\Url', array(), array(), '', false);
 
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/Grid/SerializerTest.php b/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/Grid/SerializerTest.php
index 54082e983c47f509603d029da3335b1157677308..63708a65fcee760e0c165876d61e80a5813eafc6 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/Grid/SerializerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/Grid/SerializerTest.php
@@ -29,13 +29,13 @@ namespace Magento\Backend\Block\Widget\Grid;
 class SerializerTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Layout
+     * @var \Magento\View\LayoutInterface
      */
     protected $_layoutMock;
 
     protected function setUp()
     {
-        $this->_layoutMock = $this->getMock('Magento\Core\Model\Layout', array(), array(), '', false);
+        $this->_layoutMock = $this->getMockBuilder('Magento\View\LayoutInterface')->getMockForAbstractClass();
     }
 
     public function testPrepareLayout()
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/GridTest.php b/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/GridTest.php
index e2d9debd55c04676c5e3b46ca17282c493f6a9c8..8b35e0d36c5d975d6ddfe0812ea8dd45a0537f46 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/GridTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Block/Widget/GridTest.php
@@ -51,33 +51,38 @@ class GridTest extends \PHPUnit_Framework_TestCase
     public function testAddGetClearRss($isUseStoreInUrl, $setStoreCount)
     {
         $helperMock = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
+
         $urlMock = $this->getMock('Magento\Core\Model\Url', array(), array(), '', false);
-        $urlMock->expects($this->at($setStoreCount))->method('setStore');
-        $urlMock->expects($this->any())->method('getUrl')->will($this->returnValue('some_url'));
+        $urlMock->expects($this->at($setStoreCount))
+            ->method('setStore');
+        $urlMock->expects($this->any())
+            ->method('getUrl')
+            ->will($this->returnValue('some_url'));
 
         $storeMock = $this->getMock('Magento\Core\Model\Store', array(), array(), '', false);
         $storeMock->expects($this->any())
             ->method('isUseStoreInUrl')
             ->will($this->returnValue($isUseStoreInUrl));
-        $storeManager = $this->getMock(
-            'Magento\Core\Model\StoreManager', array('getDefaultStoreView', 'getStore'), array(), '', false
-        );
-        $storeManager->expects($this->any())
+
+        $storeManagerMock = $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false);
+
+        $appMock = $this->getMock('Magento\Core\Model\App', array(), array(), '', false);
+        $appMock->expects($this->any())
             ->method('getStore')
             ->will($this->returnValue($storeMock));
-        $storeManager->expects($this->any())
+        $appMock->expects($this->any())
             ->method('getDefaultStoreView')
             ->will($this->returnValue($storeMock));
 
-        /** @var $block \Magento\Backend\Block\Widget\Grid */
-        $block = $this->_objectManager->getObject(
-            'Magento\Backend\Block\Widget\Grid',
-            array(
-                'storeManager' => $storeManager,
-                'urlModel' => $urlMock,
-                'coreData' => $helperMock,
-            )
-        );
+        $contextMock = $this->getMock('\Magento\Backend\Block\Template\Context', array(), array(), '', false);
+        $contextMock->expects($this->any())
+            ->method('getStoreManager')
+            ->will($this->returnValue($storeManagerMock));
+        $contextMock->expects($this->any())
+            ->method('getApp')
+            ->will($this->returnValue($appMock));
+
+        $block = new \Magento\Backend\Block\Widget\Grid($helperMock, $contextMock, $storeManagerMock, $urlMock);
 
         $this->assertFalse($block->getRssLists());
 
@@ -100,6 +105,6 @@ class GridTest extends \PHPUnit_Framework_TestCase
          return array(
             array(true, 1),
             array(false, 0),
-        );
+         );
     }
 }
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Controller/Adminhtml/System/Config/SaveTest.php b/dev/tests/unit/testsuite/Magento/Backend/Controller/Adminhtml/System/Config/SaveTest.php
index d80ffefc2bbf3b6a88fd33f5fa459b8c67088c4c..c53d734e842eca614776d3539bfb720d85158f30 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Controller/Adminhtml/System/Config/SaveTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Controller/Adminhtml/System/Config/SaveTest.php
@@ -69,11 +69,15 @@ class SaveTest extends \PHPUnit_Framework_TestCase
      */
     protected $_cacheMock;
 
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_responseMock;
+
     protected function setUp()
     {
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false,
-            false);
-        $responseMock = $this->getMock('Magento\Core\Controller\Response\Http', array(), array(), '', false, false);
+        $this->_requestMock = $this->getMock('Magento\App\Request\Http', array(), array(), '', false, false);
+        $this->_responseMock = $this->getMock('Magento\App\Response\Http', array(), array(), '', false, false);
 
         $configStructureMock = $this->getMock('Magento\Backend\Model\Config\Structure',
             array(), array(), '', false, false
@@ -81,7 +85,7 @@ class SaveTest extends \PHPUnit_Framework_TestCase
         $this->_configFactoryMock = $this->getMock('Magento\Backend\Model\Config\Factory',
             array(), array(), '', false, false
         );
-        $this->_eventManagerMock = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false,
+        $this->_eventManagerMock = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false,
             false);
 
         $helperMock = $this->getMock('Magento\Backend\Helper\Data', array(), array(), '', false, false);
@@ -104,12 +108,12 @@ class SaveTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue($this->_sectionMock));
 
         $helperMock->expects($this->any())->method('getUrl')->will($this->returnArgument(0));
-        $responseMock->expects($this->once())->method('setRedirect')->with('*/system_config/edit');
+        $this->_responseMock->expects($this->once())->method('setRedirect')->with('*/system_config/edit');
 
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
         $arguments = array(
             'request' => $this->_requestMock,
-            'response' => $responseMock,
+            'response' => $this->_responseMock,
             'session' => $this->_sessionMock,
             'helper' => $helperMock,
             'eventManager' => $this->_eventManagerMock,
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Helper/DataTest.php b/dev/tests/unit/testsuite/Magento/Backend/Helper/DataTest.php
index 4090b7091b8ad7b36e871c9a8db0330588f7ecf8..ea1b48b51ef13deca834d492de85cc252d0bbb1a 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Helper/DataTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Helper/DataTest.php
@@ -44,83 +44,36 @@ class DataTest extends \PHPUnit_Framework_TestCase
      */
     protected $_primaryConfigMock;
 
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_frontResolverMock;
+
     protected function setUp()
     {
         $this->_configMock = $this->getMock('Magento\Core\Model\Config', array(), array(), '', false, false);
         $this->_primaryConfigMock =
             $this->getMock('Magento\Core\Model\Config\Primary', array(), array(), '', false, false);
-
-        $this->_helper = new \Magento\Backend\Helper\Data(
-            $this->getMock('Magento\Core\Helper\Context', array(), array(), '', false, false),
-            $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false, false),
-            $this->_configMock,
-            $this->_primaryConfigMock,
-            $this->getMock('Magento\Core\Model\RouterList', array(), array(), '', false),
-            $this->getMock('Magento\Core\Model\App', array(), array(), '', false),
-            $this->getMock('Magento\Backend\Model\Url', array(), array(), '', false),
-            $this->getMock('Magento\Backend\Model\Auth', array(), array(), '', false),
-            'backend',
-            'custom_backend'
-        );
-    }
-
-    public function testGetAreaFrontNameReturnsDefaultValueWhenCustomNotSet()
-    {
+        $this->_frontResolverMock
+            = $this->getMock('\Magento\Backend\App\Area\FrontNameResolver', array(), array(), '', false);
         $this->_helper = new \Magento\Backend\Helper\Data(
             $this->getMock('Magento\Core\Helper\Context', array(), array(), '', false, false),
             $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false, false),
-            $this->_configMock,
             $this->_primaryConfigMock,
-            $this->getMock('Magento\Core\Model\RouterList', array(), array(), '', false),
+            $this->getMock('Magento\App\RouterList', array(), array(), '', false),
             $this->getMock('Magento\Core\Model\App', array(), array(), '', false),
-            $this->getMock('Magento\Backend\Model\Url', array(), array(), '', false),
-            $this->getMock('Magento\Backend\Model\Auth', array(), array(), '', false),
-            'backend',
-            ''
+            $this->getMock('\Magento\Backend\Model\Url', array(), array(), '', false),
+            $this->getMock('\Magento\Backend\Model\Auth', array(), array(), '', false),
+            $this->_frontResolverMock
         );
-
-        $this->_configMock->expects($this->once())->method('getValue')
-            ->with(\Magento\Backend\Helper\Data::XML_PATH_USE_CUSTOM_ADMIN_PATH, 'default')
-            ->will($this->returnValue(false));
-
-        $this->assertEquals('backend', $this->_helper->getAreaFrontName());
     }
 
     public function testGetAreaFrontNameLocalConfigCustomFrontName()
     {
-        $this->_configMock->expects($this->once())->method('getValue')
-            ->with(\Magento\Backend\Helper\Data::XML_PATH_USE_CUSTOM_ADMIN_PATH, 'default')
-            ->will($this->returnValue(false));
+        $this->_frontResolverMock->expects($this->once())
+            ->method('getFrontName')
+            ->will($this->returnValue('custom_backend'));
 
         $this->assertEquals('custom_backend', $this->_helper->getAreaFrontName());
     }
-
-    public function testGetAreaFrontNameAdminConfigCustomFrontName()
-    {
-        $this->_configMock->expects($this->at(0))->method('getValue')
-            ->with(\Magento\Backend\Helper\Data::XML_PATH_USE_CUSTOM_ADMIN_PATH, 'default')
-            ->will($this->returnValue(true));
-
-        $this->_configMock->expects($this->at(1))->method('getValue')
-            ->with(\Magento\Backend\Helper\Data::XML_PATH_CUSTOM_ADMIN_PATH, 'default')
-            ->will($this->returnValue('control'));
-
-        $this->assertEquals('control', $this->_helper->getAreaFrontName());
-    }
-
-    public function testClearAreaFrontName()
-    {
-        $this->_configMock->expects($this->exactly(2))->method('getValue');
-
-        $this->_helper->getAreaFrontName();
-        $this->_helper->clearAreaFrontName();
-        $this->_helper->getAreaFrontName();
-    }
-
-    public function testGetAreaFrontNameReturnsValueFromCache()
-    {
-        $this->_configMock->expects($this->once())->method('getValue');
-        $this->_helper->getAreaFrontName();
-        $this->_helper->getAreaFrontName();
-    }
 }
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Model/AuthTest.php b/dev/tests/unit/testsuite/Magento/Backend/Model/AuthTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..8869c2b38db0fa666825e133cde70edd70f7338f
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Backend/Model/AuthTest.php
@@ -0,0 +1,86 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Backend\Model;
+class AuthTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var Magento\Backend\Model\Auth
+     */
+    protected $_model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_eventManagerMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_credentialStorage;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_modelFactoryMock;
+
+    protected function setUp()
+    {
+        $this->_eventManagerMock = $this->getMock('\Magento\Event\ManagerInterface');
+        $this->_credentialStorage = $this->getMock('\Magento\Backend\Model\Auth\Credential\StorageInterface');
+        $this->_modelFactoryMock = $this->getMock('\Magento\Core\Model\Factory', array(), array(), '', false);
+        $this->_model = new \Magento\Backend\Model\Auth(
+            $this->_eventManagerMock,
+            $this->getMock('\Magento\Backend\Helper\Data', array(), array(), '', false),
+            $this->_authStorageMock = $this->getMock('\Magento\Backend\Model\Auth\StorageInterface'),
+            $this->_credentialStorage,
+            $this->_coreConfigMock = $this->getMock('\Magento\Core\Model\Config', array(), array(), '', false),
+            $this->_modelFactoryMock
+        );
+    }
+
+    /**
+     * @expectedException \Magento\Backend\Model\Auth\Exception
+     * @expectedExceptionMessage Please correct the user name or password.
+     */
+    public function testLoginFailed()
+    {
+        $this->_modelFactoryMock
+            ->expects($this->once())
+            ->method('create')
+            ->with('Magento\Backend\Model\Auth\Credential\StorageInterface')
+            ->will($this->returnValue($this->_credentialStorage));
+        $exceptionMock = new \Magento\Core\Exception;
+        $this->_credentialStorage
+            ->expects($this->once())
+            ->method('login')
+            ->with('username', 'password')
+            ->will($this->throwException($exceptionMock));
+        $this->_credentialStorage->expects($this->never())->method('getId');
+        $this->_eventManagerMock
+            ->expects($this->once())
+            ->method('dispatch')
+        ->with('backend_auth_user_login_failed');
+        $this->_model->login('username', 'password');
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Backend/BaseurlTest.php b/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Backend/BaseurlTest.php
index af644f9388bf4708430252811d8210a197303b43..f8a5fa537627490ce1d7c8f535eda6f690ad48d0 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Backend/BaseurlTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Backend/BaseurlTest.php
@@ -27,8 +27,8 @@ class BaseurlTest extends \PHPUnit_Framework_TestCase
 {
     public function testSaveMergedJsCssMustBeCleaned()
     {
-        $eventDispatcher = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
-        $appState = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false);
+        $eventDispatcher = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
+        $appState = $this->getMock('Magento\App\State', array(), array(), '', false);
         $storeManager = $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false);
         $cacheManager = $this->getMock('Magento\Core\Model\CacheInterface');
         $logger = $this->getMock('Magento\Core\Model\Logger', array(), array(), '', false);
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Backend/EncryptedTest.php b/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Backend/EncryptedTest.php
index 52424a4e5b554498446e6c2b2cea7cb22731f584..986df699b341ead315d0dc9f27ad2cb63ffcbbd8 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Backend/EncryptedTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Backend/EncryptedTest.php
@@ -41,7 +41,7 @@ class EncryptedTest extends \PHPUnit_Framework_TestCase
     {
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
 
-        $eventDispatcherMock = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventDispatcherMock = $this->getMock('Magento\Event\Manager', array(), array(), '', false);
         $contextMock = $this->getMock('Magento\Core\Model\Context', array(), array(), '', false);
         $contextMock->expects($this->any())
             ->method('getEventDispatcher')
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Backend/SecureTest.php b/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Backend/SecureTest.php
index 749fb3aaf986951fed54d562ef77b60dd2b28928..72c21528ce39df95aaa78002a270c7d92de65b82 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Backend/SecureTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Backend/SecureTest.php
@@ -27,8 +27,8 @@ class SecureTest extends \PHPUnit_Framework_TestCase
 {
     public function testSaveMergedJsCssMustBeCleaned()
     {
-        $eventDispatcher = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
-        $appState = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false);
+        $eventDispatcher = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
+        $appState = $this->getMock('Magento\App\State', array(), array(), '', false);
         $storeManager = $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false);
         $cacheManager = $this->getMock('Magento\Core\Model\CacheInterface');
         $logger = $this->getMock('Magento\Core\Model\Logger', array(), array(), '', false);
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Model/Config/ScopeDefinerTest.php b/dev/tests/unit/testsuite/Magento/Backend/Model/Config/ScopeDefinerTest.php
index eb54262a976791406f205aaf93a23c466c0c3c3c..77679aaabae0f9c4982b4579f29b5ca544c7bdfc 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Model/Config/ScopeDefinerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Model/Config/ScopeDefinerTest.php
@@ -41,7 +41,7 @@ class ScopeDefinerTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\RequestInterface', array(), array(), '', false);
         $this->_model = new \Magento\Backend\Model\Config\ScopeDefiner($this->_requestMock);
     }
 
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Structure/Element/FieldTest.php b/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Structure/Element/FieldTest.php
index 26356a12c32945251fa18e80fe344f4c35536d9a..02680041877313190624f3c676acd6209abf4fdd 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Structure/Element/FieldTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Model/Config/Structure/Element/FieldTest.php
@@ -169,7 +169,7 @@ class FieldTest extends \PHPUnit_Framework_TestCase
     public function testGetTooltipCreatesTooltipBlock()
     {
         $this->_model->setData(array('tooltip_block' => 'Magento\Core\Block\Tooltip'), 'scope');
-        $tooltipBlock = $this->getMock('Magento\Core\Block');
+        $tooltipBlock = $this->getMock('Magento\View\Element\BlockInterface');
         $tooltipBlock->expects($this->once())->method('toHtml')->will($this->returnValue('tooltip block'));
         $this->_blockFactoryMock->expects($this->once())
             ->method('createBlock')
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Model/ConfigTest.php b/dev/tests/unit/testsuite/Magento/Backend/Model/ConfigTest.php
index b7523054cd0103934b48e52ab29ababe0c6da1ae..13fb1c51e46a1002e5324f8d758b8b469f180bb0 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Model/ConfigTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Model/ConfigTest.php
@@ -76,7 +76,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_eventManagerMock = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $this->_eventManagerMock = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $this->_structureReaderMock = $this->getMock(
             'Magento\Backend\Model\Config\Structure\Reader', array(), array(), '', false
         );
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Model/Menu/ConfigTest.php b/dev/tests/unit/testsuite/Magento/Backend/Model/Menu/ConfigTest.php
index 0c24149edb79fe787f4dac06dc030bfc21d820f6..9e965e1495a2f8688dc104aac0e47178ddebc053 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Model/Menu/ConfigTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Model/Menu/ConfigTest.php
@@ -89,7 +89,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
         $this->_configReaderMock = $this->getMock('Magento\Backend\Model\Menu\Config\Reader', array(), array(),
             '', false);
 
-        $this->_eventManagerMock = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '',
+        $this->_eventManagerMock = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '',
             false, false);
 
         $this->_logger = $this->getMock(
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Model/Menu/ItemTest.php b/dev/tests/unit/testsuite/Magento/Backend/Model/Menu/ItemTest.php
index 4cf046dacc9b66e3f7e3866f6412a197348e22d3..902dd9c56826792e640843a8a78a05e221d887c5 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Model/Menu/ItemTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Model/Menu/ItemTest.php
@@ -93,7 +93,7 @@ class ItemTest extends \PHPUnit_Framework_TestCase
         $this->_validatorMock = $this->getMock('Magento\Backend\Model\Menu\Item\Validator');
         $this->_validatorMock->expects($this->any())
             ->method('validate');
-        $this->_moduleListMock = $this->getMock('Magento\Core\Model\ModuleListInterface');
+        $this->_moduleListMock = $this->getMock('Magento\App\ModuleListInterface');
 
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
         $this->_model = $helper->getObject('Magento\Backend\Model\Menu\Item', array(
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Model/Router/NoRouteHandlerTest.php b/dev/tests/unit/testsuite/Magento/Backend/Model/Router/NoRouteHandlerTest.php
index 5aeba8706176e81bc0c74be13138b6d0620edf96..f13e8035a48343a0ea6f2dd22ccf529f15f954e7 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Model/Router/NoRouteHandlerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Model/Router/NoRouteHandlerTest.php
@@ -26,28 +26,31 @@ namespace Magento\Backend\Model\Router;
 class NoRouteHandlerTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Backend\Helper\Data
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_helperMock;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_requestMock;
 
     /**
-     * @var \Magento\Backend\Model\Router\NoRouteHandler
+     * @var \Magento\Backend\App\Router\NoRouteHandler
      */
     protected $_model;
 
     protected function setUp()
     {
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
         $this->_helperMock = $this->getMock('Magento\Backend\Helper\Data', array(), array(), '', false);
         $this->_helperMock->expects($this->any())->method('getAreaFrontName')->will($this->returnValue('backend'));
-        $this->_model = new \Magento\Backend\Model\Router\NoRouteHandler($this->_helperMock);
+        $this->_model = new \Magento\Backend\App\Router\NoRouteHandler($this->_helperMock);
     }
 
+    /**
+     * @covers Magento\Backend\App\Router\NoRouteHandler::process
+     */
     public function testProcessWithBackendAreaFrontName()
     {
         $this->_requestMock
@@ -76,6 +79,9 @@ class NoRouteHandlerTest extends \PHPUnit_Framework_TestCase
         $this->assertEquals(true, $this->_model->process($this->_requestMock));
     }
 
+    /**
+     * @covers Magento\Backend\App\Router\NoRouteHandler::process
+     */
     public function testProcessWithoutAreaFrontName()
     {
         $this->_requestMock
diff --git a/dev/tests/unit/testsuite/Magento/Backend/Model/UrlTest.php b/dev/tests/unit/testsuite/Magento/Backend/Model/UrlTest.php
index b5cba44844112b0451f619157f552aaeeb7da320..d7d8004226bf031e1c7164deef4aa85a1584c277 100644
--- a/dev/tests/unit/testsuite/Magento/Backend/Model/UrlTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backend/Model/UrlTest.php
@@ -37,41 +37,41 @@ class UrlTest extends \PHPUnit_Framework_TestCase
      */
     protected  $_model;
 
+    protected $_areaFrontName = 'backendArea';
+
     /**
      * Mock menu model
      * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_menuMock;
 
-    protected $_areaFrontName = 'backendArea';
-
     /**
-     * @var \Magento\Core\Model\SessionProxy|\PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_coreSessionMock;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_storeConfigMock;
 
     /**
-     * @var \Magento\Backend\Model\Menu\Config
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_menuConfigMock;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_backendHelperMock;
 
     /**
-     * @var \Magento\Core\Helper\Data|\PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_coreDataMock;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http|\PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_requestMock;
 
@@ -129,7 +129,7 @@ class UrlTest extends \PHPUnit_Framework_TestCase
             'authSession'     => $this->_authSessionMock
         ));
 
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
         $this->_model->setRequest($this->_requestMock);
     }
 
@@ -294,17 +294,12 @@ class UrlTest extends \PHPUnit_Framework_TestCase
 
         $keyFromParams = $this->_model->getSecretKey($routeName, $controllerName, $actionName);
 
-        $requestMock = $this->getMock('Magento\Core\Controller\Request\Http',
-            array('getRouteName', 'getControllerName', 'getActionName', 'getBeforeForwardInfo'),
-            array(),
-            '',
-            false
-        );
-        $requestMock->expects($this->exactly(3))->method('getBeforeForwardInfo')->will($this->returnValue(null));
-        $requestMock->expects($this->once())->method('getRouteName')->will($this->returnValue($routeName));
-        $requestMock->expects($this->once())->method('getControllerName')->will($this->returnValue($controllerName));
-        $requestMock->expects($this->once())->method('getActionName')->will($this->returnValue($actionName));
-        $this->_model->setRequest($requestMock);
+        $this->_requestMock->expects($this->exactly(3))->method('getBeforeForwardInfo')->will($this->returnValue(null));
+        $this->_requestMock->expects($this->once())->method('getRouteName')->will($this->returnValue($routeName));
+        $this->_requestMock
+            ->expects($this->once())->method('getControllerName')->will($this->returnValue($controllerName));
+        $this->_requestMock->expects($this->once())->method('getActionName')->will($this->returnValue($actionName));
+        $this->_model->setRequest($this->_requestMock);
 
         $keyFromRequest = $this->_model->getSecretKey();
         $this->assertEquals($keyFromParams, $keyFromRequest);
@@ -321,44 +316,37 @@ class UrlTest extends \PHPUnit_Framework_TestCase
 
         $keyFromParams = $this->_model->getSecretKey($routeName, $controllerName, $actionName);
 
-        $requestMock = $this->getMock('Magento\Core\Controller\Request\Http',
-            array('getBeforeForwardInfo'),
-            array(),
-            '',
-            false
-        );
-
-        $requestMock->expects($this->at(0))
+        $this->_requestMock->expects($this->at(0))
             ->method('getBeforeForwardInfo')
             ->with('route_name')
             ->will($this->returnValue('adminhtml'));
 
-        $requestMock->expects($this->at(1))
+        $this->_requestMock->expects($this->at(1))
             ->method('getBeforeForwardInfo')
             ->with('route_name')
             ->will($this->returnValue('adminhtml'));
 
-        $requestMock->expects($this->at(2))
+        $this->_requestMock->expects($this->at(2))
             ->method('getBeforeForwardInfo')
             ->with('controller_name')
             ->will($this->returnValue('catalog'));
 
-        $requestMock->expects($this->at(3))
+        $this->_requestMock->expects($this->at(3))
             ->method('getBeforeForwardInfo')
             ->with('controller_name')
             ->will($this->returnValue('catalog'));
 
-        $requestMock->expects($this->at(4))
+        $this->_requestMock->expects($this->at(4))
             ->method('getBeforeForwardInfo')
             ->with('action_name')
             ->will($this->returnValue('index'));
 
-        $requestMock->expects($this->at(5))
+        $this->_requestMock->expects($this->at(5))
             ->method('getBeforeForwardInfo')
             ->with('action_name')
             ->will($this->returnValue('index'));
 
-        $this->_model->setRequest($requestMock);
+        $this->_model->setRequest($this->_requestMock);
         $keyFromRequest = $this->_model->getSecretKey();
         $this->assertEquals($keyFromParams, $keyFromRequest);
     }
diff --git a/dev/tests/unit/testsuite/Magento/Backup/MediaTest.php b/dev/tests/unit/testsuite/Magento/Backup/MediaTest.php
index 311c7cfb4aa9bd85dfca5e2f05ca2c12ef089d77..6930943cfc138e0ad50c8cc9747ae304623774bd 100644
--- a/dev/tests/unit/testsuite/Magento/Backup/MediaTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backup/MediaTest.php
@@ -30,7 +30,7 @@ namespace Magento\Backup;
 class MediaTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirMock;
 
@@ -41,7 +41,7 @@ class MediaTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_dirMock = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $this->_dirMock = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $this->_backupFactoryMock = $this->getMock('Magento\Backup\Factory', array(), array(), '', false);
     }
     /**
diff --git a/dev/tests/unit/testsuite/Magento/Backup/NomediaTest.php b/dev/tests/unit/testsuite/Magento/Backup/NomediaTest.php
index a4cdfd888d958823e8a7e6ef24f78c4f57a507f4..68eec9fd0487a6b79594b205b6e5ec60edd529cc 100644
--- a/dev/tests/unit/testsuite/Magento/Backup/NomediaTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backup/NomediaTest.php
@@ -31,7 +31,7 @@ class NomediaTest extends \PHPUnit_Framework_TestCase
 {
     public function testCreate()
     {
-        $dir = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $dir = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $backupFactory = $this->getMock('Magento\Backup\Factory', array(), array(), '', false);
         $snapshot = $this->getMock('Magento\Backup\Snapshot', array('create'), array($dir, $backupFactory));
         $snapshot->expects($this->any())
diff --git a/dev/tests/unit/testsuite/Magento/Backup/SnapshotTest.php b/dev/tests/unit/testsuite/Magento/Backup/SnapshotTest.php
index b7a2074e93f72c748b80220ec9918def2bd04667..91c711777eb6f2528766f7c943a64c841162261a 100644
--- a/dev/tests/unit/testsuite/Magento/Backup/SnapshotTest.php
+++ b/dev/tests/unit/testsuite/Magento/Backup/SnapshotTest.php
@@ -31,7 +31,7 @@ class SnapshotTest extends \PHPUnit_Framework_TestCase
 {
     public function testGetDbBackupFilename()
     {
-        $dir = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $dir = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $backupFactory = $this->getMock('Magento\Backup\Factory', array(), array(), '', false);
         $manager = $this->getMock('Magento\Backup\Snapshot', array('getBackupFilename'), array($dir, $backupFactory));
 
diff --git a/dev/tests/unit/testsuite/Magento/Captcha/Helper/DataTest.php b/dev/tests/unit/testsuite/Magento/Captcha/Helper/DataTest.php
index 99916718b647e73788f7aa7e6cc62197decd9b08..9f33456ef03483fd098c26b3ebd20cc1865458d8 100644
--- a/dev/tests/unit/testsuite/Magento/Captcha/Helper/DataTest.php
+++ b/dev/tests/unit/testsuite/Magento/Captcha/Helper/DataTest.php
@@ -36,7 +36,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_dirMock = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false, false);
+        $this->_dirMock = $this->getMock('Magento\App\Dir', array(), array(), '', false, false);
     }
 
     protected function _getHelper($store, $config, $factory)
@@ -121,7 +121,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
     {
         $this->_dirMock->expects($this->once())
             ->method('getDir')
-            ->with(\Magento\Core\Model\Dir::LIB)
+            ->with(\Magento\App\Dir::LIB)
             ->will($this->returnValue(TESTS_TEMP_DIR . '/lib'));
 
         $factoryMock = $this->getMock('Magento\Captcha\Model\CaptchaFactory', array(), array(), '', false);
@@ -144,7 +144,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
         $factoryMock = $this->getMock('Magento\Captcha\Model\CaptchaFactory', array(), array(), '', false);
         $this->_dirMock->expects($this->once())
             ->method('getDir')
-            ->with(\Magento\Core\Model\Dir::MEDIA)
+            ->with(\Magento\App\Dir::MEDIA)
             ->will($this->returnValue(TESTS_TEMP_DIR . '/media'));
 
         $object = $this->_getHelper($this->_getStoreStub(), $this->_getConfigStub(), $factoryMock);
diff --git a/dev/tests/unit/testsuite/Magento/Captcha/Model/ObserverTest.php b/dev/tests/unit/testsuite/Magento/Captcha/Model/ObserverTest.php
index 48e646886e9251851db070b2c571d773eb420d5a..1b27b4f8f68c610f5d9756b80919a976d04d8e69 100644
--- a/dev/tests/unit/testsuite/Magento/Captcha/Model/ObserverTest.php
+++ b/dev/tests/unit/testsuite/Magento/Captcha/Model/ObserverTest.php
@@ -113,7 +113,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
         $captchaValue = 'some-value';
 
         $controller = $this->getMock('Magento\Core\Controller\Varien\Action', array(), array(), '', false);
-        $request = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $request = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
         $request->expects($this->any())
             ->method('getPost')
             ->with(\Magento\Captcha\Helper\Data::INPUT_NAME_FIELD_VALUE, null)
@@ -151,8 +151,8 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue($redirectUrl));
 
         $controller = $this->getMock('Magento\Core\Controller\Varien\Action', array(), array(), '', false);
-        $request = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
-        $response = $this->getMock('Magento\Core\Controller\Response\Http', array(), array(), '', false);
+        $request = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
+        $response = $this->getMock('Magento\App\Response\Http', array(), array(), '', false);
         $request->expects($this->any())->method('getPost')->with(\Magento\Captcha\Helper\Data::INPUT_NAME_FIELD_VALUE,
             null)
             ->will($this->returnValue(array(
diff --git a/dev/tests/unit/testsuite/Magento/Catalog/Model/ObserverTest.php b/dev/tests/unit/testsuite/Magento/Catalog/Model/ObserverTest.php
index f1ecdbacc4abcd488d057e237de4452e26d85cf5..0e9f2e1bdbd55707c34851bba3d53028bad43595 100644
--- a/dev/tests/unit/testsuite/Magento/Catalog/Model/ObserverTest.php
+++ b/dev/tests/unit/testsuite/Magento/Catalog/Model/ObserverTest.php
@@ -77,7 +77,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
             'flatResourceFactory' => $catFlatFactoryMock,
             'productResourceFactory' => $productFactoryMock,
         ));
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\RequestInterface', array(), array(), '', false);
     }
 
     public function testTransitionProductTypeSimple()
diff --git a/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Attribute/Backend/MediaTest.php b/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Attribute/Backend/MediaTest.php
index d1d54394cd8fb84f954c457c1dc0c91841921114..2774cee7ce0a09d350ce95c1ee3a240604552969 100644
--- a/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Attribute/Backend/MediaTest.php
+++ b/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Attribute/Backend/MediaTest.php
@@ -42,7 +42,7 @@ class MediaTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_objectHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
 
         $fileStorageDb = $this->getMock('Magento\Core\Helper\File\Storage\Database', array(), array(), '', false);
         $coreData = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
@@ -53,7 +53,7 @@ class MediaTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue('table'));
 
         $mediaConfig = $this->getMock('Magento\Catalog\Model\Product\Media\Config', array(), array(), '', false);
-        $dirs = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $dirs = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $filesystem = $this->getMockBuilder('Magento\Filesystem')->disableOriginalConstructor()->getMock();
         $this->_model = $this->_objectHelper->getObject('Magento\Catalog\Model\Product\Attribute\Backend\Media', array(
             'eventManager' => $eventManager,
diff --git a/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/ConfigurableTest.php b/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/ConfigurableTest.php
index c3e2fcb965e3a8c31e832fbbaa8e2bd0c4ae5848..a7022f10cd91a3fe0b4aa721aa629153f139b64d 100644
--- a/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/ConfigurableTest.php
+++ b/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/ConfigurableTest.php
@@ -47,7 +47,7 @@ class ConfigurableTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_objectHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $coreDataMock = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
         $fileStorageDbMock = $this->getMock('Magento\Core\Helper\File\Storage\Database', array(), array(), '', false);
         $filesystem = $this->getMockBuilder('Magento\Filesystem')->disableOriginalConstructor()->getMock();
diff --git a/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/GroupedTest.php b/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/GroupedTest.php
index e297728176be59a2ee5a30382bf49d51034d7ad7..4e93dbdc2f4d1ceb76964772d08b7e1f72a497b3 100644
--- a/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/GroupedTest.php
+++ b/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/GroupedTest.php
@@ -37,7 +37,7 @@ class GroupedTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $objectHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $coreDataMock = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
         $fileStorageDbMock = $this->getMock('Magento\Core\Helper\File\Storage\Database', array(), array(), '', false);
         $filesystem = $this->getMockBuilder('Magento\Filesystem')->disableOriginalConstructor()->getMock();
diff --git a/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/SimpleTest.php b/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/SimpleTest.php
index 4516c756af9ade21e591f3d8a2460b72a83f0f17..a90a1eda776d0436e84fc130fc08b183a7071df8 100644
--- a/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/SimpleTest.php
+++ b/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/SimpleTest.php
@@ -37,7 +37,7 @@ class SimpleTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $objectHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $coreDataMock = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
         $fileStorageDbMock = $this->getMock('Magento\Core\Helper\File\Storage\Database', array(), array(), '', false);
         $filesystem = $this->getMockBuilder('Magento\Filesystem')->disableOriginalConstructor()->getMock();
diff --git a/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/VirtualTest.php b/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/VirtualTest.php
index a31d703275b8625b680c5b7aa3f6173de887ab72..6166330f6d8b84654a170c5ded06007933d1a690 100644
--- a/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/VirtualTest.php
+++ b/dev/tests/unit/testsuite/Magento/Catalog/Model/Product/Type/VirtualTest.php
@@ -37,7 +37,7 @@ class VirtualTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $objectHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $coreDataMock = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
         $coreRegistryMock = $this->getMock('Magento\Core\Model\Registry', array(), array(), '', false);
         $fileStorageDbMock = $this->getMock('Magento\Core\Helper\File\Storage\Database', array(), array(), '', false);
diff --git a/dev/tests/unit/testsuite/Magento/Catalog/Model/Resource/Category/TreeTest.php b/dev/tests/unit/testsuite/Magento/Catalog/Model/Resource/Category/TreeTest.php
index aae9fa02db0c14a2efe4e3b1edf39f43ae7d5c9f..b7b02ff0d133420733bb107a12a6fadcf91e114f 100644
--- a/dev/tests/unit/testsuite/Magento/Catalog/Model/Resource/Category/TreeTest.php
+++ b/dev/tests/unit/testsuite/Magento/Catalog/Model/Resource/Category/TreeTest.php
@@ -65,7 +65,7 @@ class TreeTest extends \PHPUnit_Framework_TestCase
             ->with('catalog_category_entity')
             ->will($this->returnArgument(0))
         ;
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $this->_attributeConfig = $this->getMock('Magento\Catalog\Model\Attribute\Config', array(), array(), '', false);
         $this->_collectionFactory = $this->getMock(
             'Magento\Catalog\Model\Resource\Category\Collection\Factory', array(), array(), '', false
diff --git a/dev/tests/unit/testsuite/Magento/CatalogRule/Model/Rule/JobTest.php b/dev/tests/unit/testsuite/Magento/CatalogRule/Model/Rule/JobTest.php
index 8026bbcff622d9fad0a5b1faa920f6e54e465c4a..fbac4e5a60bff98d1fa1a963fbfb60e187372be8 100644
--- a/dev/tests/unit/testsuite/Magento/CatalogRule/Model/Rule/JobTest.php
+++ b/dev/tests/unit/testsuite/Magento/CatalogRule/Model/Rule/JobTest.php
@@ -34,7 +34,7 @@ class JobTest extends \PHPUnit_Framework_TestCase
     {
         $objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
 
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $eventManager->expects($this->once())
             ->method('dispatch')
             ->with($this->equalTo('catalogrule_apply_all'));
diff --git a/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/Item/RendererTest.php b/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/Item/RendererTest.php
index e4885fda8afec0e345a5c07ebf4ffadd282fb0fa..44ce4d9adcf946e7a4bed9d5ca06dd3e3f63bf4d 100644
--- a/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/Item/RendererTest.php
+++ b/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/Item/RendererTest.php
@@ -36,7 +36,7 @@ class RendererTest extends \PHPUnit_Framework_TestCase
         $configView = $this->getMock('Magento\Config\View', array('getVarValue'), array(), '', false);
         $configView->expects($this->any())->method('getVarValue')->will($this->returnValue(75));
 
-        $configManager = $this->getMock('Magento\Core\Model\View\Config', array(), array(), '', false);
+        $configManager = $this->getMock('Magento\View\ConfigInterface', array(), array(), '', false);
         $configManager->expects($this->any())->method('getViewConfig')->will($this->returnValue($configView));
 
         $product = $this->getMock('Magento\Catalog\Model\Product', array('isConfigurable'), array(), '', false);
diff --git a/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/LinkTest.php b/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/LinkTest.php
index eece24755d8f8e8e03ba3f43149fee66ebdb29b3..03c415af5d4e2cf1ff9712e6cfe7e3780cfd661e 100644
--- a/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/LinkTest.php
+++ b/dev/tests/unit/testsuite/Magento/Checkout/Block/Cart/LinkTest.php
@@ -40,7 +40,7 @@ class LinkTest extends \PHPUnit_Framework_TestCase
         $path = 'checkout/cart';
         $url = 'http://example.com/';
 
-        $urlBuilder = $this->getMockForAbstractClass('Magento\Core\Model\UrlInterface');
+        $urlBuilder = $this->getMockForAbstractClass('Magento\UrlInterface');
         $urlBuilder->expects($this->once())->method('getUrl')->with($path)->will($this->returnValue($url . $path));
 
         $helper = $this->getMockBuilder('Magento\Core\Helper\Data')
diff --git a/dev/tests/unit/testsuite/Magento/Checkout/Block/LinkTest.php b/dev/tests/unit/testsuite/Magento/Checkout/Block/LinkTest.php
index 0255664a8314e4a8e34d8c3a5afbfa03bfe018f2..606d3edbce0bdecdaaac6d6cc38af7142aaca71f 100644
--- a/dev/tests/unit/testsuite/Magento/Checkout/Block/LinkTest.php
+++ b/dev/tests/unit/testsuite/Magento/Checkout/Block/LinkTest.php
@@ -40,7 +40,7 @@ class LinkTest extends \PHPUnit_Framework_TestCase
         $path = 'checkout';
         $url = 'http://example.com/';
 
-        $urlBuilder = $this->getMockForAbstractClass('Magento\Core\Model\UrlInterface');
+        $urlBuilder = $this->getMockForAbstractClass('Magento\UrlInterface');
         $urlBuilder->expects($this->once())->method('getUrl')->with($path)->will($this->returnValue($url . $path));
 
         $context = $this->_objectManagerHelper->getObject(
diff --git a/dev/tests/unit/testsuite/Magento/Checkout/Controller/CartTest.php b/dev/tests/unit/testsuite/Magento/Checkout/Controller/CartTest.php
index 17dccdada51148dd3b8e4891ced596f70195da5d..d9f04b05fc691937228a2a8cb5bef121e4d47503 100644
--- a/dev/tests/unit/testsuite/Magento/Checkout/Controller/CartTest.php
+++ b/dev/tests/unit/testsuite/Magento/Checkout/Controller/CartTest.php
@@ -40,16 +40,14 @@ class CartTest extends \PHPUnit_Framework_TestCase
     public function testGoBack()
     {
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $responseMock = $this->getMock('Magento\Core\Controller\Response\Http',
-            array('setRedirect'), array(), '', false
-        );
+        $responseMock = $this->getMock('Magento\App\Response\Http', array(), array(), '', false);
         $responseMock->headersSentThrowsException = false;
         $responseMock->expects($this->once())
             ->method('setRedirect')
             ->with('http://some-url/index.php/checkout/cart/')
             ->will($this->returnSelf());
 
-        $requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $requestMock = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
         $requestMock->expects($this->any())->method('getActionName')->will($this->returnValue('add'));
         $requestMock->expects($this->at(0))
             ->method('getParam')->with('return_url')->will($this->returnValue('http://malicious.com/'));
diff --git a/dev/tests/unit/testsuite/Magento/Cms/Model/Wysiwyg/Images/StorageTest.php b/dev/tests/unit/testsuite/Magento/Cms/Model/Wysiwyg/Images/StorageTest.php
index 58d2d749c5565fa02c9b1cda573fed489848ceef..ff50a4d4c581383899b3f2244789da08f4599b73 100644
--- a/dev/tests/unit/testsuite/Magento/Cms/Model/Wysiwyg/Images/StorageTest.php
+++ b/dev/tests/unit/testsuite/Magento/Cms/Model/Wysiwyg/Images/StorageTest.php
@@ -59,7 +59,7 @@ class StorageTest extends \PHPUnit_Framework_TestCase
     protected $_resizeParameters;
 
     /**
-     * @var \Magento\Core\Model\Dir|PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\Dir|PHPUnit_Framework_MockObject_MockObject
      */
     protected $_dirMock;
 
@@ -108,7 +108,7 @@ class StorageTest extends \PHPUnit_Framework_TestCase
         $this->_imageHelperMock = $this->getMock('Magento\Cms\Helper\Wysiwyg\Images', array(), array(), '', false);
         $this->_resizeParameters = array('width' => 100, 'height' => 50);
 
-        $this->_dirMock = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $this->_dirMock = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $this->_storageCollectionFactoryMock = $this->getMock(
             'Magento\Cms\Model\Wysiwyg\Images\Storage\CollectionFactory');
         $this->_storageFileFactoryMock = $this->getMock('Magento\Core\Model\File\Storage\FileFactory');
diff --git a/dev/tests/unit/testsuite/Magento/Config/Reader/FilesystemTest.php b/dev/tests/unit/testsuite/Magento/Config/Reader/FilesystemTest.php
index 805313bddf92fe37a0c5284bca6166c08693a6e1..758bf9fe511d5e9126ab31115d68f0b939f7d1f2 100644
--- a/dev/tests/unit/testsuite/Magento/Config/Reader/FilesystemTest.php
+++ b/dev/tests/unit/testsuite/Magento/Config/Reader/FilesystemTest.php
@@ -55,9 +55,7 @@ class FilesystemTest extends \PHPUnit_Framework_TestCase
         $this->_file =  __DIR__ . '/../_files/reader/config.xml';
         $this->_fileResolverMock = $this->getMock('Magento\Config\FileResolverInterface');
         $this->_converterMock = $this->getMock('Magento\Config\ConverterInterface', array(), array(), '', false);
-        $this->_schemaLocatorMock = $this->getMock(
-            'Magento\Core\Model\Module\Declaration\SchemaLocator', array(), array(), '', false
-        );
+        $this->_schemaLocatorMock = $this->getMock('Magento\Config\SchemaLocatorInterface');
         $this->_validationStateMock = $this->getMock('Magento\Config\ValidationStateInterface');
     }
 
diff --git a/dev/tests/unit/testsuite/Magento/Config/ValidationStateTest.php b/dev/tests/unit/testsuite/Magento/Config/ValidationStateTest.php
index 254ba86e68c55a2d31889ad3bfe29d96b52c7839..58782327e435029a66e26372a872539e25c3d01b 100644
--- a/dev/tests/unit/testsuite/Magento/Config/ValidationStateTest.php
+++ b/dev/tests/unit/testsuite/Magento/Config/ValidationStateTest.php
@@ -43,15 +43,15 @@ class ValidationStateTest extends \PHPUnit_Framework_TestCase
     {
         return array(
             array(
-                \Magento\Core\Model\App\State::MODE_DEVELOPER,
+                \Magento\App\State::MODE_DEVELOPER,
                 true
             ),
             array(
-                \Magento\Core\Model\App\State::MODE_DEFAULT,
+                \Magento\App\State::MODE_DEFAULT,
                 false
             ),
             array(
-                \Magento\Core\Model\App\State::MODE_PRODUCTION,
+                \Magento\App\State::MODE_PRODUCTION,
                 false
             ),
         );
diff --git a/dev/tests/unit/testsuite/Magento/Core/App/Area/Request/PathInfoProcessorTest.php b/dev/tests/unit/testsuite/Magento/Core/App/Area/Request/PathInfoProcessorTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..2aebe7588ec542f7305826d4904ff1cbc9685492
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Core/App/Area/Request/PathInfoProcessorTest.php
@@ -0,0 +1,111 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Core\App\Area\Request;
+class PathInfoProcessorTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Core\App\Request\PathInfoProcessor
+     */
+    protected $_model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_storeManagerMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_requestMock;
+
+    /**
+     * @var string
+     */
+    protected $_pathInfo = '/storeCode/node_one/';
+
+    protected function setUp()
+    {
+        $this->_requestMock = $this->getMock('\Magento\App\RequestInterface',
+            array('isDirectAccessFrontendName', 'getModuleName',
+                'setModuleName', 'getActionName', 'setActionName', 'getParam'
+            )
+        );
+        $this->_storeManagerMock = $this->getMock('\Magento\Core\Model\StoreManager', array(), array(), '', false);
+        $this->_model = new \Magento\Core\App\Request\PathInfoProcessor($this->_storeManagerMock);
+    }
+
+    public function testProcessIfStoreExistsAndIsNotDirectAcccessToFrontName()
+    {
+        $store = $this->getMock('\Magento\Core\Model\Store', array(), array(), '', false);
+        $this->_storeManagerMock
+            ->expects($this->once())->method('getStores')->with(true, true)
+            ->will($this->returnValue(array('storeCode' => $store)));
+        $store->expects($this->once())->method('isUseStoreInUrl')->will($this->returnValue(true));
+        $this->_requestMock
+            ->expects($this->once())->method('isDirectAccessFrontendName')
+            ->with('storeCode')->will($this->returnValue(false));
+        $this->_storeManagerMock->expects($this->once())->method('setCurrentStore')->with('storeCode');
+        $this->assertEquals('/node_one/', $this->_model->process($this->_requestMock, $this->_pathInfo));
+    }
+
+    public function testProcessIfStoreExistsAndDirectAcccessToFrontName()
+    {
+        $store = $this->getMock('\Magento\Core\Model\Store', array(), array(), '', false);
+        $this->_storeManagerMock
+            ->expects($this->once())->method('getStores')->with(true, true)
+            ->will($this->returnValue(array('storeCode' => $store)));
+        $store->expects($this->once())->method('isUseStoreInUrl')->will($this->returnValue(true));
+        $this->_requestMock
+            ->expects($this->once())->method('isDirectAccessFrontendName')
+            ->with('storeCode')->will($this->returnValue(true));
+        $this->_requestMock->expects($this->once())->method('setActionName')->with('noRoute');
+        $this->assertEquals($this->_pathInfo, $this->_model->process($this->_requestMock, $this->_pathInfo));
+    }
+
+    public function testProcessIfStoreIsEmpty()
+    {
+        $path = '/0/node_one/';
+        $store = $this->getMock('\Magento\Core\Model\Store', array(), array(), '', false);
+        $this->_storeManagerMock
+            ->expects($this->once())->method('getStores')->with(true, true)
+            ->will($this->returnValue(array('0' => $store)));
+        $store->expects($this->once())->method('isUseStoreInUrl')->will($this->returnValue(true));
+        $this->_requestMock
+            ->expects($this->once())->method('isDirectAccessFrontendName')
+            ->with('0')->will($this->returnValue(true));
+        $this->_requestMock->expects($this->never())->method('setActionName');
+        $this->assertEquals($path, $this->_model->process($this->_requestMock, $path));
+    }
+
+    public function testProcessIfStoreCodeIsNotExist()
+    {
+        $store = $this->getMock('\Magento\Core\Model\Store', array(), array(), '', false);
+        $this->_storeManagerMock
+            ->expects($this->once())->method('getStores')->with(true, true)
+            ->will($this->returnValue(array('0' => $store)));
+        $store->expects($this->never())->method('isUseStoreInUrl');
+        $this->_requestMock->expects($this->never())->method('isDirectAccessFrontendName');
+        $this->assertEquals($this->_pathInfo, $this->_model->process($this->_requestMock, $this->_pathInfo));
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Core/App/FrontController/Plugin/InstallTest.php b/dev/tests/unit/testsuite/Magento/Core/App/FrontController/Plugin/InstallTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..751a223ef5a40178659bd8fac740c18cfcba45c7
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Core/App/FrontController/Plugin/InstallTest.php
@@ -0,0 +1,78 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Core\App\FrontController\Plugin;
+class InstallTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Core\App\FrontController\Plugin\Install
+     */
+    protected $_model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_appStateMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_cacheMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_dbUpdaterMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_invocationChainMock;
+
+    protected function setUp()
+    {
+        $this->_appStateMock = $this->getMock('\Magento\App\State', array(), array(), '', false);
+        $this->_cacheMock = $this->getMock('\Magento\Cache\FrontendInterface');
+        $this->_dbUpdaterMock = $this->getMock('\Magento\App\UpdaterInterface');
+        $this->_invocationChainMock =
+            $this->getMock('\Magento\Code\Plugin\InvocationChain', array(), array(), '', false);
+        $this->_model = new \Magento\Core\App\FrontController\Plugin\Install(
+            $this->_appStateMock,
+            $this->_cacheMock,
+            $this->_dbUpdaterMock
+        );
+    }
+
+    public function testAroundDispatch()
+    {
+        $arguments = array();
+        $this->_appStateMock->expects($this->once())->method('isInstalled')->will($this->returnValue(true));
+        $this->_cacheMock
+            ->expects($this->once())->method('load')->with('data_upgrade')->will($this->returnValue(false));
+        $this->_dbUpdaterMock->expects($this->once())->method('updateScheme');
+        $this->_dbUpdaterMock->expects($this->once())->method('updateData');
+        $this->_cacheMock->expects($this->once())->method('save')->with('true', 'data_upgrade');
+        $this->_invocationChainMock->expects($this->once())->method('proceed')->with($arguments);
+        $this->_model->aroundDispatch($arguments, $this->_invocationChainMock);
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Core/App/FrontController/Plugin/RequestPreprocessorTest.php b/dev/tests/unit/testsuite/Magento/Core/App/FrontController/Plugin/RequestPreprocessorTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..f3d62062b849d88ef61a74a5f535c91d481bb4e7
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Core/App/FrontController/Plugin/RequestPreprocessorTest.php
@@ -0,0 +1,158 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Core\App\FrontController\Plugin;
+class RequestPreprocessorTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Core\App\FrontController\Plugin\RequestPreprocessor
+     */
+    protected $_model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_rewriteServiceMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_storeManagerMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_appStateMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_urlMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_backendDataMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_storeConfigMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_invocationChainMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_requestMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_storeMock;
+
+    protected function setUp()
+    {
+        $this->_storeMock = $this->getMock('\Magento\Core\Model\Store', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('\Magento\App\Request\Http', array(), array(), '', false);
+        $this->_invocationChainMock
+            = $this->getMock('\Magento\Code\Plugin\InvocationChain', array(), array(), '', false);
+        $this->_rewriteServiceMock =
+            $this->getMock('\Magento\Core\App\Request\RewriteService', array(), array(), '', false);
+        $this->_storeManagerMock = $this->getMock('\Magento\Core\Model\StoreManager', array(), array(), '', false);
+        $this->_appStateMock = $this->getMock('\Magento\App\State', array(), array(), '', false);
+        $this->_urlMock = $this->getMock('\Magento\Core\Model\Url', array(), array(), '', false);
+        $this->_backendDataMock = $this->getMock('\Magento\Backend\Helper\Data', array(), array(), '', false);
+        $this->_storeConfigMock = $this->getMock('\Magento\Core\Model\Store\Config', array(), array(), '', false);;
+
+        $this->_model = new \Magento\Core\App\FrontController\Plugin\RequestPreprocessor(
+            $this->_rewriteServiceMock,
+            $this->_storeManagerMock,
+            $this->_appStateMock,
+            $this->_urlMock,
+            $this->_backendDataMock,
+            $this->_storeConfigMock,
+            $this->getMock('\Magento\App\ResponseFactory', array(), array(), '', false)
+        );
+    }
+
+    public function testAroundDispatchIfNotInstalled()
+    {
+        $this->_appStateMock->expects($this->once())->method('isInstalled')->will($this->returnValue(false));
+        $this->_requestMock->expects($this->once())->method('setDispatched')->with(false);
+        $this->_storeConfigMock->expects($this->never())->method('getConfig');
+        $this->_rewriteServiceMock->expects($this->once())->method('applyRewrites')->with($this->_requestMock);
+        $this->_invocationChainMock->expects($this->once())->method('proceed')->with(array($this->_requestMock));
+        $this->_model->aroundDispatch(array($this->_requestMock), $this->_invocationChainMock);
+    }
+
+    public function testAroundDispatchIfInstalledAndRedirectCodeNotExist()
+    {
+        $this->_appStateMock->expects($this->once())->method('isInstalled')->will($this->returnValue(true));
+        $this->_requestMock->expects($this->once())->method('setDispatched')->with(false);
+        $this->_storeConfigMock->expects($this->once())->method('getConfig')->with('web/url/redirect_to_base');
+        $this->_rewriteServiceMock->expects($this->once())->method('applyRewrites')->with($this->_requestMock);
+        $this->_invocationChainMock->expects($this->once())->method('proceed')->with(array($this->_requestMock));
+        $this->_requestMock->expects($this->never())->method('getPathInfo');
+        $this->_model->aroundDispatch(array($this->_requestMock), $this->_invocationChainMock);
+    }
+
+    public function testAroundDispatchIfInstalledAndRedirectCodeExist()
+    {
+        $this->_appStateMock->expects($this->once())->method('isInstalled')->will($this->returnValue(true));
+        $this->_requestMock->expects($this->once())->method('setDispatched')->with(false);
+        $this->_storeConfigMock
+            ->expects($this->once())->method('getConfig')
+            ->with('web/url/redirect_to_base')->will($this->returnValue(302));
+        $this->_requestMock->expects($this->once())->method('getPathInfo')->will($this->returnValue('node/'));
+        $this->_backendDataMock->expects($this->once())->method('getAreaFrontName')->will($this->returnValue('node'));
+        $this->_storeManagerMock->expects($this->never())->method('getStore');
+        $this->_rewriteServiceMock->expects($this->once())->method('applyRewrites')->with($this->_requestMock);
+        $this->_invocationChainMock->expects($this->once())->method('proceed')->with(array($this->_requestMock));
+
+        $this->_model->aroundDispatch(array($this->_requestMock), $this->_invocationChainMock);
+    }
+
+
+    public function testAroundDispatchIfBaseUrlNotExists()
+    {
+        $this->_appStateMock->expects($this->once())->method('isInstalled')->will($this->returnValue(true));
+        $this->_requestMock->expects($this->once())->method('setDispatched')->with(false);
+        $this->_storeConfigMock
+            ->expects($this->once())->method('getConfig')
+            ->with('web/url/redirect_to_base')->will($this->returnValue(302));
+        $this->_requestMock->expects($this->once())->method('getPathInfo')->will($this->returnValue('node/'));
+        $this->_backendDataMock->expects($this->once())->method('getAreaFrontName')->will($this->returnValue('node1'));
+        $this->_storeManagerMock
+            ->expects($this->any())->method('getStore')->will($this->returnValue($this->_storeMock));
+        $this->_storeMock->expects($this->once())->method('getBaseUrl')->will($this->returnValue(false));
+        $this->_requestMock->expects($this->never())->method('getRequestUri');
+        $this->_rewriteServiceMock->expects($this->once())->method('applyRewrites')->with($this->_requestMock);
+        $this->_invocationChainMock->expects($this->once())->method('proceed')->with(array($this->_requestMock));
+
+        $this->_model->aroundDispatch(array($this->_requestMock), $this->_invocationChainMock);
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Core/App/Request/RewriteServiceTest.php b/dev/tests/unit/testsuite/Magento/Core/App/Request/RewriteServiceTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..58d75bc31783a628c1720c9a79131bda47f3fd99
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Core/App/Request/RewriteServiceTest.php
@@ -0,0 +1,82 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Core\App\Request;
+class RewriteServiceTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\Core\App\Request\RewriteService
+     */
+    protected $_model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_routerListMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_rewriteFactoryMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_configMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_requestMock;
+
+    protected function setUp()
+    {
+        $this->_routerListMock = $this->getMock('\Magento\App\RouterList', array(), array(), '', false);
+        $this->_configMock = $this->getMock('\Magento\Core\Model\Config', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('\Magento\App\Request\Http', array(), array(), '', false);
+        $this->_rewriteFactoryMock = $this->getMock(
+            '\Magento\Core\Model\Url\RewriteFactory', array('create'), array(), '', false
+        );
+
+        $this->_model = new \Magento\Core\App\Request\RewriteService(
+            $this->_routerListMock,
+            $this->_rewriteFactoryMock,
+            $this->_configMock
+        );
+    }
+
+    public function testApplyRewritesWhenRequestIsStraight()
+    {
+        $this->_requestMock->expects($this->once())->method('isStraight')->will($this->returnValue(true));
+        $this->_rewriteFactoryMock->expects($this->never())->method('create')->will($this->returnValue('nodeName'));
+        $this->_model->applyRewrites($this->_requestMock);
+    }
+
+    public function testApplyRewritesWhenRequestIsNotStraight()
+    {
+        $this->_requestMock->expects($this->once())->method('isStraight')->will($this->returnValue(false));
+        $urlRewriteMock = $this->getMock('\Magento\Core\Model\Url\Rewrite', array(), array(), '', false);
+        $this->_rewriteFactoryMock->expects($this->once())->method('create')->will($this->returnValue($urlRewriteMock));
+        $this->_model->applyRewrites($this->_requestMock);
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Core/Block/AbstractBlockTest.php b/dev/tests/unit/testsuite/Magento/Core/Block/AbstractBlockTest.php
index 4501efb76c560934cbdf972988f7d828e2920d72..88c043bec558d57dafb20a3fbf7740bc24c39621 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Block/AbstractBlockTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Block/AbstractBlockTest.php
@@ -83,7 +83,7 @@ class AbstractBlockTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue('one'));
         $config->expects($this->at(1))->method('getVarValue')->with($module, 'v2')->will($this->returnValue('two'));
 
-        $configManager = $this->getMock('Magento\Core\Model\View\Config', array(), array(), '', false);
+        $configManager = $this->getMock('Magento\View\ConfigInterface', array(), array(), '', false);
         $configManager->expects($this->exactly(2))->method('getViewConfig')->will($this->returnValue($config));
 
         /** @var $block \Magento\Core\Block\AbstractBlock|PHPUnit_Framework_MockObject_MockObject */
diff --git a/dev/tests/unit/testsuite/Magento/Core/Block/TemplateTest.php b/dev/tests/unit/testsuite/Magento/Core/Block/TemplateTest.php
index 9d4534f6efaed51b00b847bfa2590223236daaef..b126cc7262c03ff897fb7dbf01d7f855bc05a5b6 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Block/TemplateTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Block/TemplateTest.php
@@ -29,79 +29,89 @@ namespace Magento\Core\Block;
 
 class TemplateTest extends \PHPUnit_Framework_TestCase
 {
-    public function testGetTemplateFile()
-    {
-        $template = 'fixture';
-        $area = 'areaFixture';
-        $params = array('module' => 'Magento_Core', 'area' => $area);
-
-        $fileSystem = $this->getMock('Magento\Core\Model\View\FileSystem', array(), array(), '', false);
-        $fileSystem->expects($this->once())->method('getFilename')->with($template, $params);
-        $arguments = array(
-            'viewFileSystem' => $fileSystem,
-            'data'           => array('template' => $template, 'area' => $area),
-        );
-        $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
+    /**
+     * @var \Magento\Core\Block\Template
+     */
+    protected $_block;
 
-        $block = $helper->getObject('Magento\Core\Block\Template', $arguments);
+    /**
+     * @var \Magento\Filesystem|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_filesystem;
 
-        $block->getTemplateFile();
-    }
+    /**
+     * @var \Magento\Core\Model\TemplateEngine\EngineInterface|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_templateEngine;
 
     /**
-     * @param string $filename
-     * @param string $expectedOutput
-     * @dataProvider fetchViewDataProvider
+     * @var \Magento\Core\Model\View\FileSystem|\PHPUnit_Framework_MockObject_MockObject
      */
-    public function testFetchView($filename, $expectedOutput)
+    protected $_viewFileSystem;
+
+    protected function setUp()
     {
-        $map = array(
-            array(\Magento\Core\Model\Dir::APP, __DIR__),
-            array(\Magento\Core\Model\Dir::THEMES, __DIR__ . 'design'),
+        $dirMap = array(
+            array(\Magento\App\Dir::APP, __DIR__),
+            array(\Magento\App\Dir::THEMES, __DIR__ . '/design'),
         );
-        $dirMock = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false, false);
-        $dirMock->expects($this->any())->method('getDir')->will($this->returnValueMap($map));
-        $layout = $this->getMock('Magento\Core\Model\Layout', array('isDirectOutput'), array(), '', false);
-        $filesystem = new \Magento\Filesystem(new \Magento\Filesystem\Adapter\Local);
-        $design = $this->getMock('Magento\Core\Model\View\DesignInterface', array(), array(), '', false);
-        $translator = $this->getMock('Magento\Core\Model\Translate', array(), array(), '', false);
-
-        $objectManagerMock = $this->getMock('Magento\ObjectManager', array('get', 'create', 'configure'));
-        $objectManagerMock->expects($this->any())
+        $dirs = $this->getMock('Magento\App\Dir', array(), array(), '', false, false);
+        $dirs->expects($this->any())->method('getDir')->will($this->returnValueMap($dirMap));
+
+        $this->_viewFileSystem = $this->getMock('\Magento\Core\Model\View\FileSystem', array(), array(), '', false);
+
+        $this->_filesystem = $this->getMock('\Magento\Filesystem', array(), array(), '', false);
+
+        $this->_templateEngine = $this->getMock('\Magento\Core\Model\TemplateEngine\EngineInterface');
+
+        $enginePool = $this->getMock('Magento\Core\Model\TemplateEngine\Pool', array(), array(), '', false);
+        $enginePool->expects($this->any())
             ->method('get')
-            ->with('Magento\Core\Model\TemplateEngine\Php')
-            ->will($this->returnValue(new \Magento\Core\Model\TemplateEngine\Php()));
-        $engineFactory = new \Magento\Core\Model\TemplateEngine\Factory($objectManagerMock);
-
-        $arguments = array(
-            'design'        => $design,
-            'layout'        => $layout,
-            'dirs'          => $dirMock,
-            'filesystem'    => $filesystem,
-            'translator'    => $translator,
-            'engineFactory' => $engineFactory,
-        );
-        $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
+            ->with('phtml')
+            ->will($this->returnValue($this->_templateEngine));
 
-        $block = $this->getMock(
-            'Magento\Core\Block\Template',
-            array('getShowTemplateHints'),
-            $helper->getConstructArguments('Magento\Core\Block\Template', $arguments)
+        $context = $this->getMock('\Magento\Core\Block\Template\Context', array(), array(), '', false);
+        $context->expects($this->any())->method('getEnginePool')->will($this->returnValue($enginePool));
+        $context->expects($this->any())->method('getDirs')->will($this->returnValue($dirs));
+        $context->expects($this->any())->method('getFilesystem')->will($this->returnValue($this->_filesystem));
+        $context->expects($this->any())->method('getViewFileSystem')->will($this->returnValue($this->_viewFileSystem));
+
+        $this->_block = new \Magento\Core\Block\Template(
+            $this->getMock('\Magento\Core\Helper\Data', array(), array(), '', false),
+            $context,
+            array('template' => 'template.phtml', 'area' => 'frontend', 'module_name' => 'Fixture_Module')
         );
-        $layout->expects($this->once())->method('isDirectOutput')->will($this->returnValue(false));
+    }
 
-        $this->assertSame($block, $block->assign(array('varOne' => 'value1', 'varTwo' => 'value2')));
-        $this->assertEquals($expectedOutput, $block->fetchView(__DIR__ . "/_files/{$filename}"));
+    public function testGetTemplateFile()
+    {
+        $params = array('module' => 'Fixture_Module', 'area' => 'frontend');
+        $this->_viewFileSystem->expects($this->once())->method('getFilename')->with('template.phtml', $params);
+        $this->_block->getTemplateFile();
     }
 
-    /**
-     * @return array
-     */
-    public function fetchViewDataProvider()
+    public function testFetchView()
     {
-        return array(
-            array('template_test_assign.phtml', 'value1, value2'),
-            array('invalid_file', ''),
-        );
+        $this->expectOutputString('');
+
+        $this->_filesystem
+            ->expects($this->once())
+            ->method('isPathInDirectory')
+            ->with('template.phtml', __DIR__)
+            ->will($this->returnValue(true))
+        ;
+        $this->_filesystem
+            ->expects($this->once())->method('isFile')->with('template.phtml')->will($this->returnValue(true));
+
+        $output = '<h1>Template Contents</h1>';
+        $vars = array('var1' => 'value1', 'var2' => 'value2');
+        $this->_templateEngine
+            ->expects($this->once())
+            ->method('render')
+            ->with($this->identicalTo($this->_block), 'template.phtml', $vars)
+            ->will($this->returnValue($output))
+        ;
+        $this->_block->assign($vars);
+        $this->assertEquals($output, $this->_block->fetchView('template.phtml'));
     }
 }
diff --git a/dev/tests/unit/testsuite/Magento/Core/Controller/Request/HttpTest.php b/dev/tests/unit/testsuite/Magento/Core/Controller/Request/HttpTest.php
index 65a80f22808d219ca2a3178f4a6812b3a9da63d8..ea3b74f9a8cd09369940775b502b5263b45ad310 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Controller/Request/HttpTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Controller/Request/HttpTest.php
@@ -26,15 +26,18 @@ namespace Magento\Core\Controller\Request;
 
 class HttpTest extends \PHPUnit_Framework_TestCase
 {
-    /** @var \Magento\Core\Controller\Request\Http */
+    /** @var \Magento\App\RequestInterface */
     protected $_model;
 
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_routerListMock;
+
     protected function setUp()
     {
-        $storeManager = $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false);
-        $helperMock = $this->getMock('Magento\Backend\Helper\DataProxy', array(), array(),
-            '', false);
-        $this->_model = new \Magento\Core\Controller\Request\Http($storeManager, $helperMock);
+        $this->_routerListMock = $this->getMock('\Magento\App\RouterList', array(), array(), '', false);
+        $this->_model = new \Magento\App\Request\Http($this->_routerListMock);
     }
 
     /**
diff --git a/dev/tests/unit/testsuite/Magento/Core/Controller/Response/HttpTest.php b/dev/tests/unit/testsuite/Magento/Core/Controller/Response/HttpTest.php
index 198f295a802ee91e8daa50368fe15a6d458d7d04..c11641f99948be86c5948231d4f87b0dcd283e5a 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Controller/Response/HttpTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Controller/Response/HttpTest.php
@@ -26,7 +26,7 @@
  */
 
 /**
- * Test class for \Magento\Core\Controller\Response\Http
+ * Test class for \Magento\App\ResponseInterface
  */
 namespace Magento\Core\Controller\Response;
 
@@ -37,15 +37,13 @@ class HttpTest extends \PHPUnit_Framework_TestCase
      * Test for getHeader method
      *
      * @dataProvider headersDataProvider
-     * @covers \Magento\Core\Controller\Response\Http::getHeader
+     * @covers \Magento\App\ResponseInterface::getHeader
      *
      * @param string $header
      */
     public function testGetHeaderExists($header)
     {
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
-
-        $response = new \Magento\Core\Controller\Response\Http($eventManager);
+        $response = new \Magento\App\Response\Http();
         $response->headersSentThrowsException = false;
         $response->setHeader($header['name'], $header['value'], $header['replace']);
         $this->assertEquals($header, $response->getHeader($header['name']));
@@ -77,14 +75,12 @@ class HttpTest extends \PHPUnit_Framework_TestCase
     /**
      * Test for getHeader method. Validation for attempt to get not existing header
      *
-     * @covers \Magento\Core\Controller\Response\Http::getHeader
+     * @covers \Magento\App\ResponseInterface::getHeader
      *
      */
     public function testGetHeaderNotExists()
     {
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
-
-        $response = new \Magento\Core\Controller\Response\Http($eventManager);
+        $response = new \Magento\App\Response\Http();
         $response->headersSentThrowsException = false;
         $response->setHeader('Name', 'value', true);
         $this->assertFalse($response->getHeader('Wrong name'));
diff --git a/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/AbstractActionTest.php b/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/AbstractActionTest.php
index 2a27e1c690f03fde53e2f14380c1534f1d237297..0c7142f0a542bc520bf2db3fafc4fe9be0512b5b 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/AbstractActionTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/AbstractActionTest.php
@@ -33,17 +33,17 @@ namespace Magento\Core\Controller\Varien;
 class AbstractActionTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Controller\Varien\AbstractAction
+     * @var \Magento\App\Action\AbstractAction
      */
     protected $_actionAbstract;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http|\PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_request;
 
     /**
-     * @var \Magento\Core\Controller\Response\Http|\PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_response;
 
@@ -54,17 +54,10 @@ class AbstractActionTest extends \PHPUnit_Framework_TestCase
      */
     protected function setUp()
     {
-        $helperMock = $this->getMock( 'Magento\Backend\Helper\DataProxy', array(), array(), '', false);
-        $this->_request = $this->getMock(
-            'Magento\Core\Controller\Request\Http',
-            array('getRequestedRouteName', 'getRequestedControllerName', 'getRequestedActionName'),
-            array($helperMock),
-            '',
-            false
-        );
-        $this->_response = $this->getMock('Magento\Core\Controller\Response\Http', array(), array(), '', false);
+        $this->_request = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
+        $this->_response = $this->getMock('Magento\App\Response\Http', array(), array(), '', false);
         $this->_response->headersSentThrowsException = false;
-        $this->_actionAbstract = new \Magento\Core\Controller\Varien\Action\Forward($this->_request, $this->_response);
+        $this->_actionAbstract = new \Magento\App\Action\Forward($this->_request, $this->_response);
     }
 
     /**
@@ -97,14 +90,11 @@ class AbstractActionTest extends \PHPUnit_Framework_TestCase
      */
     public function testResponseHeaders()
     {
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
-
-        $storeManager = $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false);
-        $helperMock = $this->getMock('Magento\Backend\Helper\DataProxy', array(), array(), '', false);
-        $request = new \Magento\Core\Controller\Request\Http($storeManager, $helperMock);
-        $response = new \Magento\Core\Controller\Response\Http($eventManager);
+        $routerListMock = $this->getMock('\Magento\App\RouterList', array(), array(), '', false);
+        $request = new \Magento\App\Request\Http($routerListMock);
+        $response = new \Magento\App\Response\Http();
         $response->headersSentThrowsException = false;
-        $action = new \Magento\Core\Controller\Varien\Action\Forward($request, $response);
+        $action = new \Magento\App\Action\Forward($request, $response);
 
         $headers = array(
             array(
diff --git a/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/FactoryTest.php b/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/FactoryTest.php
index 9df177d53ad028232c922bf23d0654901fd47c20..9a2aa76dfb2b6dd8b2f6b30aa6548dffac61d527 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/FactoryTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/FactoryTest.php
@@ -47,7 +47,7 @@ class FactoryTest extends \PHPUnit_Framework_TestCase
     /**
      * Test class instance
      *
-     * @var \Magento\Core\Controller\Varien\Action\Factory
+     * @var \Magento\App\ActionFactory
      */
     protected $_model;
 
@@ -58,7 +58,7 @@ class FactoryTest extends \PHPUnit_Framework_TestCase
 
     public function testConstruct()
     {
-        $this->_model = new \Magento\Core\Controller\Varien\Action\Factory($this->_objectManager);
+        $this->_model = new \Magento\App\ActionFactory($this->_objectManager);
         $this->assertAttributeInstanceOf('Magento\ObjectManager', '_objectManager', $this->_model);
     }
 
@@ -69,7 +69,7 @@ class FactoryTest extends \PHPUnit_Framework_TestCase
             ->with(self::CONTROLLER_NAME)
             ->will($this->returnValue('TestControllerInstance'));
 
-        $this->_model = new \Magento\Core\Controller\Varien\Action\Factory($this->_objectManager);
+        $this->_model = new \Magento\App\ActionFactory($this->_objectManager);
         $this->assertEquals('TestControllerInstance', $this->_model->createController(self::CONTROLLER_NAME));
     }
 }
diff --git a/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/ForwardTest.php b/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/ForwardTest.php
index 721d80c179427f08cad8dfa455af2bb8beb4036a..b16faca10714fc5b5125bc72ba82c77a56594eb2 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/ForwardTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/ForwardTest.php
@@ -33,31 +33,32 @@ namespace Magento\Core\Controller\Varien\Action;
 class ForwardTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Controller\Varien\Action\Forward
+     * @var \Magento\App\Action\Forward
      */
     protected $_object = null;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
     /**
-     * @var \Magento\Core\Controller\Response\Http
+     * @var \Magento\App\Response\Http
      */
     protected $_response;
 
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_routerListMock;
+
     protected function setUp()
     {
-        $storeManager = $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false);
-        $helperMock = $this->getMock('Magento\Backend\Helper\Data', array(), array(),
-            '', false);
-        $this->_request  = new \Magento\Core\Controller\Request\Http($storeManager, $helperMock);
-        $this->_response = new \Magento\Core\Controller\Response\Http(
-            $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false)
-        );
+        $this->_routerListMock = $this->getMock('\Magento\App\RouterList', array(), array(), '', false);
+        $this->_request  = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_response = new \Magento\App\Response\Http();
 
-        $this->_object = new \Magento\Core\Controller\Varien\Action\Forward($this->_request, $this->_response);
+        $this->_object = new \Magento\App\Action\Forward($this->_request, $this->_response);
     }
 
     protected function tearDown()
diff --git a/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/RedirectTest.php b/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/RedirectTest.php
index 8f4620435e4486fe149c15b377a1516d0646c278..d94b9d6a3121fd39d155a86b21cf4d2446fe396d 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/RedirectTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Controller/Varien/Action/RedirectTest.php
@@ -33,31 +33,32 @@ namespace Magento\Core\Controller\Varien\Action;
 class RedirectTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Controller\Varien\Action\Redirect
+     * @var \Magento\App\Action\Redirect
      */
     protected $_object = null;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
     /**
-     * @var \Magento\Core\Controller\Response\Http
+     * @var \Magento\App\Response\Http
      */
     protected $_response;
 
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_routerListMock;
+
     protected function setUp()
     {
-        $storeManager = $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false);
-        $helperMock = $this->getMock('Magento\Backend\Helper\Data', array(), array(),
-            '', false);
-        $this->_request  = new \Magento\Core\Controller\Request\Http($storeManager, $helperMock);
-        $this->_response = new \Magento\Core\Controller\Response\Http(
-            $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false)
-        );
+        $this->_routerListMock = $this->getMock('\Magento\App\RouterList', array(), array(), '', false);
+        $this->_request  = new \Magento\App\Request\Http($this->_routerListMock);
+        $this->_response = new \Magento\App\Response\Http();
 
-        $this->_object = new \Magento\Core\Controller\Varien\Action\Redirect($this->_request, $this->_response);
+        $this->_object = new \Magento\App\Action\Redirect($this->_request, $this->_response);
     }
 
     protected function tearDown()
diff --git a/dev/tests/unit/testsuite/Magento/Core/Helper/CookieTest.php b/dev/tests/unit/testsuite/Magento/Core/Helper/CookieTest.php
index bbd1a949a45dbb9b66380b2f47e1d14fc006ac01..08abeee40e58400d66edee526064f96ec092b8c7 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Helper/CookieTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Helper/CookieTest.php
@@ -114,13 +114,13 @@ class CookieTest extends \PHPUnit_Framework_TestCase
      */
     protected function _getCookieStub($cookieString = array())
     {
-        $cookie = $this->getMock('Magento\Core\Model\Cookie', array('get'), array(), '', false);
+        $cookieMock = $this->getMock('Magento\Core\Model\Cookie', array(), array(), '', false);
 
-        $cookie->expects($this->any())
+        $cookieMock->expects($this->any())
             ->method('get')
             ->will($this->returnValue(json_encode($cookieString)));
 
-        return $cookie;
+        return $cookieMock;
     }
 
     /**
@@ -129,13 +129,13 @@ class CookieTest extends \PHPUnit_Framework_TestCase
      */
     protected function _getWebsiteStub()
     {
-        $website = $this->getMock('Magento\Core\Model\Website', array('getId'), array(), '', false);
+        $websiteMock = $this->getMock('Magento\Core\Model\Website', array(), array(), '', false);
 
-        $website->expects($this->any())
+        $websiteMock->expects($this->any())
             ->method('getId')
             ->will($this->returnValue(1));
 
-        return $website;
+        return $websiteMock;
     }
 
     /**
diff --git a/dev/tests/unit/testsuite/Magento/Core/Helper/CssTest.php b/dev/tests/unit/testsuite/Magento/Core/Helper/CssTest.php
index 2e460f6db90073c1e34ac779f20ce0f0b8817318..7d983d85acf4beed0b02876e8a68c7d47d062f7d 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Helper/CssTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Helper/CssTest.php
@@ -34,7 +34,7 @@ class CssTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $filesystem = new \Magento\Filesystem(new \Magento\Filesystem\Adapter\Local());
-        $dirs = new \Magento\Core\Model\Dir('/base_dir');
+        $dirs = new \Magento\App\Dir('/base_dir');
         $this->_object = new \Magento\Core\Helper\Css($filesystem, $dirs);
     }
 
diff --git a/dev/tests/unit/testsuite/Magento/Core/Helper/HttpTest.php b/dev/tests/unit/testsuite/Magento/Core/Helper/HttpTest.php
index 1defb392f0c41eb50e2d86087326f74d9dd6c303..282b4ee9bbd1d091ea227d57704c34b82f57af3a 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Helper/HttpTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Helper/HttpTest.php
@@ -51,7 +51,7 @@ class HttpTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetHttpAuthCredentials($server, $expectedLogin, $expectedPass)
     {
-        $request = $this->getMock('Zend_Controller_Request_Http', array('getServer'));
+        $request = $this->getMock('\Magento\App\Request\Http', array(), array(), '', false);
         $request->expects($this->once())->method('getServer')->will($this->returnValue($server));
         $this->assertSame(array($expectedLogin, $expectedPass), $this->_object->getHttpAuthCredentials($request));
     }
@@ -95,7 +95,7 @@ class HttpTest extends \PHPUnit_Framework_TestCase
 
     public function testFailHttpAuthentication()
     {
-        $response = new \Zend_Controller_Response_Http;
+        $response = new \Magento\App\Response\Http();
         $realm = uniqid();
         $response->headersSentThrowsException = false;
         $this->_object->failHttpAuthentication($response, $realm);
diff --git a/dev/tests/unit/testsuite/Magento/Core/Helper/ThemeTest.php b/dev/tests/unit/testsuite/Magento/Core/Helper/ThemeTest.php
index 656be1e87c5850621900424eaf0fbd5d0455dafb..e9a920a07dfa4af51c6590d8e2199bfc46d79868 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Helper/ThemeTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Helper/ThemeTest.php
@@ -43,12 +43,16 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetSafePath($filePath, $basePath, $expectedResult)
     {
-        /** @var $dirs \Magento\Core\Model\Dir */
-        $dirs = $this->getMock('Magento\Core\Model\Dir', null, array(), '', false);
+        /** @var $dirs \Magento\App\Dir */
+        $dirs = $this->getMock('Magento\App\Dir', null, array(), '', false);
 
-        /** @var $layoutMergeFactory \Magento\Core\Model\Layout\MergeFactory */
-        $layoutMergeFactory = $this->getMock('Magento\Core\Model\Layout\MergeFactory', array('create'),
-            array(), '', false
+        /** @var $processorFactory \Magento\View\Layout\ProcessorFactory */
+        $processorFactory = $this->getMock(
+            'Magento\View\Layout\ProcessorFactory',
+            array('create'),
+            array(),
+            '',
+            false
         );
 
         /** @var $themeCollection \Magento\Core\Model\Resource\Theme\Collection */
@@ -63,7 +67,7 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
         $helper = new \Magento\Core\Helper\Theme(
             $context,
             $dirs,
-            $layoutMergeFactory,
+            $processorFactory,
             $themeCollection,
             $fileSystem
         );
@@ -489,46 +493,42 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @param string $layoutStr
-     * @return \Magento\Core\Model\Layout\MergeFactory|\PHPUnit_Framework_MockObject_MockObject
+     * @return \Magento\View\Layout\ProcessorFactory|\PHPUnit_Framework_MockObject_MockObject
      */
     protected function _getLayoutMergeFactory($layoutStr)
     {
-        /** @var $layoutMerge \Magento\Core\Model\Layout\Merge */
-        $layoutMerge = $this->getMock('Magento\Core\Model\Layout\Merge',
-            array('getFileLayoutUpdatesXml'), array(), '', false
-        );
+        /** @var $layoutProcessor \Magento\View\Layout\ProcessorInterface */
+        $layoutProcessor = $this->getMockBuilder('Magento\View\Layout\ProcessorInterface')->getMockForAbstractClass();
         $xml = '<layouts xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">' . $layoutStr . '</layouts>';
         $layoutElement = simplexml_load_string($xml);
-        $layoutMerge->expects($this->any())
+        $layoutProcessor->expects($this->any())
             ->method('getFileLayoutUpdatesXml')
             ->will($this->returnValue($layoutElement));
 
-        /** @var $layoutMergeFactory \Magento\Core\Model\Layout\MergeFactory */
-        $layoutMergeFactory = $this->getMock('Magento\Core\Model\Layout\MergeFactory',
-            array('create'), array(), '', false
-        );
-        $layoutMergeFactory->expects($this->any())
+        /** @var $processorFactory \Magento\View\Layout\ProcessorFactory */
+        $processorFactory = $this->getMock('Magento\View\Layout\ProcessorFactory', array('create'), array(), '', false);
+        $processorFactory->expects($this->any())
             ->method('create')
-            ->will($this->returnValue($layoutMerge));
+            ->will($this->returnValue($layoutProcessor));
 
-        return $layoutMergeFactory;
+        return $processorFactory;
     }
 
     /**
-     * @return \Magento\Core\Model\Dir|\PHPUnit_Framework_MockObject_MockObject
+     * @return \Magento\App\Dir|\PHPUnit_Framework_MockObject_MockObject
      */
     protected function _getDirs()
     {
-        /** @var $dirs \Magento\Core\Model\Dir */
-        $dirs = $this->getMock('Magento\Core\Model\Dir', array('getDir'), array(), '', false);
+        /** @var $dirs \Magento\App\Dir */
+        $dirs = $this->getMock('Magento\App\Dir', array('getDir'), array(), '', false);
         $dirs->expects($this->any())
             ->method('getDir')
             ->will($this->returnValueMap(array(
-                array(\Magento\Core\Model\Dir::ROOT, self::ROOT),
-                array(\Magento\Core\Model\Dir::APP, self::APP),
-                array(\Magento\Core\Model\Dir::MODULES, self::MODULES),
-                array(\Magento\Core\Model\Dir::THEMES, self::THEMES),
-                array(\Magento\Core\Model\Dir::PUB_LIB, self::PUB_LIB),
+                array(\Magento\App\Dir::ROOT, self::ROOT),
+                array(\Magento\App\Dir::APP, self::APP),
+                array(\Magento\App\Dir::MODULES, self::MODULES),
+                array(\Magento\App\Dir::THEMES, self::THEMES),
+                array(\Magento\App\Dir::PUB_LIB, self::PUB_LIB),
             )));
 
         return $dirs;
@@ -573,10 +573,8 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
         $dirs = $this->_getDirs();
 
         // 5. Get layout merge model and factory
-        /** @var $layoutMergeFactory \Magento\Core\Model\Layout\MergeFactory|\PHPUnit_Framework_MockObject_MockObject */
-        $layoutMergeFactory = $this->getMock('Magento\Core\Model\Layout\MergeFactory',
-            array('create'), array(), '', false
-        );
+        /** @var $processorFactory \Magento\View\Layout\ProcessorFactory|\PHPUnit_Framework_MockObject_MockObject */
+        $processorFactory = $this->getMock('Magento\View\Layout\ProcessorFactory', array('create'), array(), '', false);
 
         /** @var $context \Magento\Core\Helper\Context */
         $context = $this->getMock('Magento\Core\Helper\Context', null, array(), '', false);
@@ -586,9 +584,11 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
             ->disableOriginalConstructor()->getMock();
 
         /** @var $helper \Magento\Core\Helper\Theme|\PHPUnit_Framework_MockObject_MockObject */
-        $helper = $this->getMock('Magento\Core\Helper\Theme', array('getCssFiles'), array(
-            $context, $dirs, $layoutMergeFactory, $themeCollection, $fileSystem
-        ));
+        $helper = $this->getMock(
+            'Magento\Core\Helper\Theme',
+            array('getCssFiles'),
+            array($context, $dirs, $processorFactory, $themeCollection, $fileSystem)
+        );
         $helper->expects($this->once())
             ->method('getCssFiles')
             ->will($this->returnValue($files));
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/App/StateTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/App/StateTest.php
index 4c2f749d651f6d3b35e52dde0974457a5a6f0523..482e65b0fc550d1a3d77f5bacb7606d4c24bbba7 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/App/StateTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/App/StateTest.php
@@ -30,7 +30,7 @@ namespace Magento\Core\Model\App;
 class StateTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_model;
 
@@ -40,7 +40,7 @@ class StateTest extends \PHPUnit_Framework_TestCase
      */
     public function testConstructor($mode)
     {
-        $model = new \Magento\Core\Model\App\State(time(), $mode);
+        $model = new \Magento\App\State(time(), $mode);
         $this->assertEquals($mode, $model->getMode());
     }
 
@@ -51,23 +51,23 @@ class StateTest extends \PHPUnit_Framework_TestCase
     {
         return array(
             'default mode' => array(
-                \Magento\Core\Model\App\State::MODE_DEFAULT
+                \Magento\App\State::MODE_DEFAULT
             ),
             'production mode' => array(
-                \Magento\Core\Model\App\State::MODE_PRODUCTION
+                \Magento\App\State::MODE_PRODUCTION
             ),
             'developer mode' => array(
-                \Magento\Core\Model\App\State::MODE_DEVELOPER
+                \Magento\App\State::MODE_DEVELOPER
             ),
         );
     }
 
     /**
-     * @expectedException \Magento\Core\Exception
+     * @expectedException Exception
      * @expectedExceptionMessage Unknown application mode: unknown mode
      */
     public function testConstructorException()
     {
-        new \Magento\Core\Model\App\State(time(), "unknown mode");
+        new \Magento\App\State(time(), "unknown mode");
     }
 }
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/AppTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/AppTest.php
index c3364bd50afa68db705f310245e0c0b0dac86498..bbb792414c3cc5d927399a673a08b8a0a01ff202 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/AppTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/AppTest.php
@@ -53,43 +53,48 @@ class AppTest extends \PHPUnit_Framework_TestCase
     /**
      * @var \PHPUnit_Framework_MockObject_MockObject
      */
-    protected $_dbUpdaterMock;
+    protected $_storeManagerMock;
 
     /**
      * @var \PHPUnit_Framework_MockObject_MockObject
      */
-    protected $_storeManagerMock;
+    protected $_eventManagerMock;
 
     /**
      * @var \PHPUnit_Framework_MockObject_MockObject
      */
-    protected $_eventManagerMock;
+    protected $_appStateMock;
 
     /**
      * @var \PHPUnit_Framework_MockObject_MockObject
      */
-    protected $_appStateMock;
+    protected $_configScopeMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_frontControllerMock;
 
     protected function setUp()
     {
         $this->_configMock = $this->getMock('Magento\Core\Model\Config', array(), array(), '', false, false);
-        $this->_cacheMock = $this->getMock('Magento\Core\Model\CacheInterface', array(), array(), '', false, false);
+        $this->_cacheMock = $this->getMock('Magento\Core\Model\CacheInterface');
         $this->_objectManagerMock = $this->getMock('Magento\ObjectManager', array(), array(), '', false, false);
-        $this->_dbUpdaterMock = $this->getMock('Magento\Core\Model\Db\UpdaterInterface',
-            array(), array(), '', false, false);
         $this->_storeManagerMock = $this->getMock('Magento\Core\Model\StoreManagerInterface');
-        $this->_eventManagerMock = $this->getMock('Magento\Core\Model\Event\Manager',
-            array(), array(), '', false, false);
-        $this->_appStateMock = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false, false);
+        $this->_eventManagerMock = $this->getMock('Magento\Event\ManagerInterface');
+        $this->_appStateMock = $this->getMock('Magento\App\State', array(), array(), '', false, false);
+        $this->_configScopeMock = $this->getMock('Magento\Config\Scope', array(), array(), '', false);
+        $this->_frontControllerMock = $this->getMock('Magento\App\FrontControllerInterface');
+
         $this->_model = new \Magento\Core\Model\App(
             $this->_configMock,
             $this->_cacheMock,
             $this->_objectManagerMock,
-            $this->_dbUpdaterMock,
             $this->_storeManagerMock,
             $this->_eventManagerMock,
             $this->_appStateMock,
-            $this->getMock('Magento\Core\Model\Config\Scope', array(), array(), '', false)
+            $this->_configScopeMock,
+            $this->_frontControllerMock
         );
     }
 
@@ -98,7 +103,6 @@ class AppTest extends \PHPUnit_Framework_TestCase
         unset($this->_configMock);
         unset($this->_cacheMock);
         unset($this->_objectManagerMock);
-        unset($this->_dbUpdaterMock);
         unset($this->_storeManagerMock);
         unset($this->_eventManagerMock);
         unset($this->_appStateMock);
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Cache/Frontend/FactoryTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Cache/Frontend/FactoryTest.php
index dc1345ff649383e540ee0d34358ae9af275f4b6e..6c4a7a4050574fc9fbf28416c8881320acb0aa98 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Cache/Frontend/FactoryTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Cache/Frontend/FactoryTest.php
@@ -182,10 +182,10 @@ class FactoryTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue(true));
 
         $map = array(
-            array(\Magento\Core\Model\Dir::CACHE, 'CACHE_DIR'),
-            array(\Magento\Core\Model\Dir::CONFIG, 'CONFIG_DIR'),
+            array(\Magento\App\Dir::CACHE, 'CACHE_DIR'),
+            array(\Magento\App\Dir::CONFIG, 'CONFIG_DIR'),
         );
-        $dirs = $this->getMock('Magento\Core\Model\Dir', array('getDir'), array(), '', false);
+        $dirs = $this->getMock('Magento\App\Dir', array('getDir'), array(), '', false);
         $resource = $this->getMock('Magento\Core\Model\Resource', array(), array(), '', false);
         $dirs->expects($this->any())
             ->method('getDir')
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Cache/StateTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Cache/StateTest.php
index 1cb9d47e5f47db7298b28ddaab16bda15f812797..48b1146e69de076fa52429fae5751e68f329d457 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Cache/StateTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Cache/StateTest.php
@@ -132,7 +132,7 @@ class StateTest extends \PHPUnit_Framework_TestCase
             ->method('getAllOptions')
             ->will($this->returnValue($resourceTypeOptions));
 
-        $appState = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false);
+        $appState = $this->getMock('Magento\App\State', array(), array(), '', false);
         $appState->expects($this->any())
             ->method('isInstalled')
             ->will($this->returnValue($appInstalled));
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Config/FileResolver/PrimaryTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Config/FileResolver/PrimaryTest.php
index 507fb779d0d62bca7f90fd82dc7109e18089be39..4363a073a3cfae20252db98cde91efbf765b1ab1 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Config/FileResolver/PrimaryTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Config/FileResolver/PrimaryTest.php
@@ -36,10 +36,10 @@ class PrimaryTest extends \PHPUnit_Framework_TestCase
             . '_files' . DIRECTORY_SEPARATOR . 'primary'
             . DIRECTORY_SEPARATOR . 'app' . DIRECTORY_SEPARATOR . 'etc';
 
-        $applicationDirsMock = $this->getMock('Magento\Core\Model\Dir', array(), array('getDir'), '', false);
+        $applicationDirsMock = $this->getMock('Magento\App\Dir', array(), array('getDir'), '', false);
         $applicationDirsMock->expects($this->any())
             ->method('getDir')
-            ->with(\Magento\Core\Model\Dir::CONFIG)
+            ->with(\Magento\App\Dir::CONFIG)
             ->will($this->returnValue($appConfigDir));
 
         $this->_model = new \Magento\Core\Model\Config\FileResolver\Primary($applicationDirsMock);
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Config/FileResolverTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Config/FileResolverTest.php
index 231fdc222b9570ef43b84ebe5bfc6424638dd625..8a8ad1355aab256225f2b47bdef5299b5f2479c4 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Config/FileResolverTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Config/FileResolverTest.php
@@ -35,10 +35,10 @@ class FileResolverTest extends \PHPUnit_Framework_TestCase
         $appConfigDir = __DIR__ . DIRECTORY_SEPARATOR . 'FileResolver'
             . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'app' . DIRECTORY_SEPARATOR . 'etc';
 
-        $applicationDirs = $this->getMock('Magento\Core\Model\Dir', array(), array('getDir'), '', false);
+        $applicationDirs = $this->getMock('Magento\App\Dir', array(), array('getDir'), '', false);
         $applicationDirs->expects($this->any())
             ->method('getDir')
-            ->with(\Magento\Core\Model\Dir::CONFIG)
+            ->with(\Magento\App\Dir::CONFIG)
             ->will($this->returnValue($appConfigDir));
 
         $moduleReader = $this->getMock('Magento\Core\Model\Config\Modules\Reader', array(),
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Config/Modules/ReaderTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Config/Modules/ReaderTest.php
index b4ff2a07a79c944d91c3bc6de2546173a3a0ac3c..7b2ab85e130dfa113ac6a84ba339af2c048e51cf 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Config/Modules/ReaderTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Config/Modules/ReaderTest.php
@@ -59,9 +59,9 @@ class ReaderTest extends \PHPUnit_Framework_TestCase
     {
         $this->_protFactoryMock = $this->getMock('Magento\Core\Model\Config\BaseFactory',
             array(), array(), '', false, false);
-        $this->_dirsMock = $this->getMock('Magento\Core\Model\Module\Dir', array(), array(), '', false, false);
+        $this->_dirsMock = $this->getMock('Magento\App\Module\Dir', array(), array(), '', false, false);
         $this->_baseConfigMock = $this->getMock('Magento\Core\Model\Config\Base', array(), array(), '', false, false);
-        $this->_moduleListMock = $this->getMock('Magento\Core\Model\ModuleListInterface');
+        $this->_moduleListMock = $this->getMock('Magento\App\ModuleListInterface');
 
         $this->_model = new \Magento\Core\Model\Config\Modules\Reader(
             $this->_dirsMock,
@@ -108,15 +108,10 @@ class ReaderTest extends \PHPUnit_Framework_TestCase
 
     public function testGetModuleDir()
     {
-        $expectedResult = new \stdClass();
-        $this->_dirsMock->expects($this->once())
+        $this->_dirsMock->expects($this->any())
             ->method('getDir')
             ->with('Test_Module', 'etc')
-            ->will($this->returnValue($expectedResult));
-        $this->assertSame($expectedResult, $this->_model->getModuleDir('etc', 'Test_Module'));
-
-        // Custom value overrides the default one
-        $this->_model->setModuleDir('Test_Module', 'etc', 'app/code/Test/Module/etc');
+            ->will($this->returnValue('app/code/Test/Module/etc'));
         $this->assertEquals('app/code/Test/Module/etc', $this->_model->getModuleDir('etc', 'Test_Module'));
     }
 }
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Config/PrimaryTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Config/PrimaryTest.php
index a8b0f84d30583ca346edfa516ea08380d7243fca..a70e5482023724474c69370eddb2c326237d27c4 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Config/PrimaryTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Config/PrimaryTest.php
@@ -47,10 +47,10 @@ class PrimaryTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_dirMock = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $this->_dirMock = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $this->_dirMock->expects($this->any())->method('getDir')->will($this->returnValueMap(array(
-            array(\Magento\Core\Model\Dir::DI, '/path_to_root/var/di'),
-            array(\Magento\Core\Model\Dir::ROOT, '/path_to_root'),
+            array(\Magento\App\Dir::DI, '/path_to_root/var/di'),
+            array(\Magento\App\Dir::ROOT, '/path_to_root'),
         )));
         $this->_loaderMock = $this->getMock('Magento\Core\Model\Config\LoaderInterface');
         $that = $this;
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Processor/PlaceholderTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Processor/PlaceholderTest.php
index 39ba5300e29679e840abd8535b1f23f3bafb7290..f3a952039cdba2258e3c36363592d2ff980870b9 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Processor/PlaceholderTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Processor/PlaceholderTest.php
@@ -37,7 +37,7 @@ class PlaceholderTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
         $this->_requestMock->expects($this->any())
             ->method('getDistroBaseUrl')
             ->will($this->returnValue('http://localhost/'));
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Reader/DefaultReaderTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Reader/DefaultReaderTest.php
index a4cfce988b4bbafd764fe48e7d07ef985b22e44d..aaebb7ba632ca62ef8f7594d9cc21017bd99b60a 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Reader/DefaultReaderTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Reader/DefaultReaderTest.php
@@ -55,7 +55,7 @@ class DefaultReaderTest extends \PHPUnit_Framework_TestCase
             '',
             false
         );
-        $this->_appStateMock = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false);
+        $this->_appStateMock = $this->getMock('Magento\App\State', array(), array(), '', false);
         $this->_appStateMock->expects($this->any())
             ->method('isInstalled')
             ->will($this->returnValue(true));
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Reader/StoreTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Reader/StoreTest.php
index 470e0c3b88448a504d4d0fa5e01c05ea092d8c12..8fb1c15b51617d6d30af994b333061efec8a0c32 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Reader/StoreTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Reader/StoreTest.php
@@ -72,7 +72,7 @@ class StoreTest extends \PHPUnit_Framework_TestCase
             ->method('create')
             ->will($this->returnValue($this->_storeMock));
 
-        $this->_appStateMock = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false);
+        $this->_appStateMock = $this->getMock('Magento\App\State', array(), array(), '', false);
         $this->_appStateMock->expects($this->any())
             ->method('isInstalled')
             ->will($this->returnValue(true));
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Reader/WebsiteTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Reader/WebsiteTest.php
index 2c89033c1589c7d490a9da4fe90622f572d8a147..e2f8385179816ab7afa392820c1ffa5c9adf39da 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Reader/WebsiteTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Config/Section/Reader/WebsiteTest.php
@@ -72,7 +72,7 @@ class WebsiteTest extends \PHPUnit_Framework_TestCase
             ->method('create')
             ->will($this->returnValue($this->_websiteMock));
 
-        $this->_appStateMock = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false);
+        $this->_appStateMock = $this->getMock('Magento\App\State', array(), array(), '', false);
         $this->_appStateMock->expects($this->any())
             ->method('isInstalled')
             ->will($this->returnValue(true));
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/ConfigTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/ConfigTest.php
index 0ecf5fa2436f0017e17366570d0ea5370c3bf2c9..1c410e317092430bac5d41cc5600a83667dd8702 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/ConfigTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/ConfigTest.php
@@ -44,7 +44,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
     protected $_objectManagerMock;
 
     /**
-     * @var \Magento\Core\Model\ModuleListInterface
+     * @var \Magento\App\ModuleListInterface
      */
     protected $_moduleListMock;
 
@@ -81,7 +81,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
         $configStorageMock->expects($this->any())->method('getConfiguration')->will($this->returnValue($configBase));
         $modulesReaderMock = $this->getMock('Magento\Core\Model\Config\Modules\Reader', array(), array(), '', false);
         $this->_configScopeMock = $this->getMock('Magento\Config\ScopeInterface');
-        $this->_moduleListMock = $this->getMock('Magento\Core\Model\ModuleListInterface');
+        $this->_moduleListMock = $this->getMock('Magento\App\ModuleListInterface');
         $this->_sectionPoolMock = $this->getMock('Magento\Core\Model\Config\SectionPool', array(), array(), '', false);
 
         $this->_model = new \Magento\Core\Model\Config(
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/DataService/Path/RequestTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/DataService/Path/RequestTest.php
index 8dfe6d95ba40eca8e94a509f4fee685effa90efe..4dd8c8e013dcd24ab16aa5fb2bf328b080e4823e 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/DataService/Path/RequestTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/DataService/Path/RequestTest.php
@@ -35,7 +35,7 @@ class RequestTest extends \PHPUnit_Framework_TestCase
 
     public function testGetChild()
     {
-        $requestMock = $this->getMockBuilder('Magento\Core\Controller\Request\Http')
+        $requestMock = $this->getMockBuilder('Magento\App\Request\Http')
             ->disableOriginalConstructor()
             ->getMock();
         $requestMock->expects($this->once())
@@ -47,7 +47,8 @@ class RequestTest extends \PHPUnit_Framework_TestCase
 
     public function testNotFound()
     {
-        $requestMock = $this->getMockBuilder('Magento\Core\Controller\Request\Http')->disableOriginalConstructor()
+        $requestMock = $this->getMockBuilder('Magento\App\Request\Http')
+            ->disableOriginalConstructor()
             ->getMock();
 
         $requestVisitor = new \Magento\Core\Model\DataService\Path\Request($requestMock);
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Design/Fallback/FactoryTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Design/Fallback/FactoryTest.php
index 6c4e17066ddb3dabc7302fef2b73bea8ee7fb21c..e16bad41a1ce635d2bf8b5fbecef0df3babd0cd6 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Design/Fallback/FactoryTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Design/Fallback/FactoryTest.php
@@ -38,17 +38,17 @@ class FactoryTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $dirs = new \Magento\Core\Model\Dir(__DIR__, array(), array(
-            \Magento\Core\Model\Dir::THEMES => 'themes',
-            \Magento\Core\Model\Dir::MODULES => 'modules',
-            \Magento\Core\Model\Dir::PUB_LIB => 'pub_lib',
+        $dirs = new \Magento\App\Dir(__DIR__, array(), array(
+            \Magento\App\Dir::THEMES => 'themes',
+            \Magento\App\Dir::MODULES => 'modules',
+            \Magento\App\Dir::PUB_LIB => 'pub_lib',
         ));
         $this->_model = new \Magento\Core\Model\Design\Fallback\Factory($dirs);
 
-        $parentTheme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $parentTheme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $parentTheme->expects($this->any())->method('getThemePath')->will($this->returnValue('parent_theme_path'));
 
-        $theme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $theme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $theme->expects($this->any())->method('getThemePath')->will($this->returnValue('current_theme_path'));
         $theme->expects($this->any())->method('getParentTheme')->will($this->returnValue($parentTheme));
 
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Design/Fallback/Rule/ThemeTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Design/Fallback/Rule/ThemeTest.php
index cba65854bc98dc8cdaf13aed71bb074f93cf8e03..6457e25bb642e5a49f29fdc9e4fb49e5ee3c312f 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Design/Fallback/Rule/ThemeTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Design/Fallback/Rule/ThemeTest.php
@@ -39,10 +39,10 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
 
     public function testGetPatternDirs()
     {
-        $parentTheme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $parentTheme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $parentTheme->expects($this->any())->method('getThemePath')->will($this->returnValue('package/parent_theme'));
 
-        $theme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $theme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $theme->expects($this->any())->method('getThemePath')->will($this->returnValue('package/current_theme'));
         $theme->expects($this->any())->method('getParentTheme')->will($this->returnValue($parentTheme));
 
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Design/FileResolution/Strategy/FallbackTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Design/FileResolution/Strategy/FallbackTest.php
index 22204b0cad44fb2a428e6e073e7da89e37749aa4..6f673705ea686fc1727fe8b5751fe35cc513c540 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Design/FileResolution/Strategy/FallbackTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Design/FileResolution/Strategy/FallbackTest.php
@@ -70,7 +70,7 @@ class FallbackTest extends \PHPUnit_Framework_TestCase
         $this->_fallbackFactory = $this->getMock(
             'Magento\Core\Model\Design\Fallback\Factory',
             array('createLocaleFileRule', 'createFileRule', 'createViewFileRule'),
-            array($this->getMock('Magento\Core\Model\Dir', array(), array(), '', false))
+            array($this->getMock('Magento\App\Dir', array(), array(), '', false))
         );
         $this->_fallbackFactory
             ->expects($this->any())->method('createLocaleFileRule')->will($this->returnValue($this->_fallbackLocale));
@@ -79,7 +79,7 @@ class FallbackTest extends \PHPUnit_Framework_TestCase
         $this->_fallbackFactory
             ->expects($this->any())->method('createViewFileRule')->will($this->returnValue($this->_fallbackViewFile));
 
-        $this->_theme = $this->getMock('Magento\Core\Model\Theme', array(), array(), '', false);
+        $this->_theme = $this->getMock('Magento\View\Design\ThemeInterface', array(), array(), '', false);
     }
 
     protected function tearDown()
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Design/FileResolution/StrategyPoolTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Design/FileResolution/StrategyPoolTest.php
index d80e6910a51dda1a4232bf0c251d52ae59e1ea7f..c1e1d51ee51c275b7af590a69a46ba31452e090e 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Design/FileResolution/StrategyPoolTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Design/FileResolution/StrategyPoolTest.php
@@ -34,12 +34,12 @@ class StrategyPoolTest extends \PHPUnit_Framework_TestCase
     protected $_objectManager;
 
     /**
-     * @var \Magento\Core\Model\App\State|PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\State|PHPUnit_Framework_MockObject_MockObject
      */
     protected $_appState;
 
     /**
-     * @var \Magento\Core\Model\Dir|PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\Dir|PHPUnit_Framework_MockObject_MockObject
      */
     protected $_dirs;
 
@@ -56,9 +56,9 @@ class StrategyPoolTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_objectManager = $this->getMock('Magento\Core\Model\ObjectManager', array(), array(), '', false);
-        $this->_appState = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false);
+        $this->_appState = $this->getMock('Magento\App\State', array(), array(), '', false);
 
-        $this->_dirs = new \Magento\Core\Model\Dir('base_dir');
+        $this->_dirs = new \Magento\App\Dir('base_dir');
 
         $this->_filesystem = $this->getMock('Magento\Filesystem', array(), array(), '', false);
 
@@ -113,13 +113,13 @@ class StrategyPoolTest extends \PHPUnit_Framework_TestCase
     {
         return array(
             'default mode' => array(
-                \Magento\Core\Model\App\State::MODE_DEFAULT
+                \Magento\App\State::MODE_DEFAULT
             ),
             'production mode' => array(
-                \Magento\Core\Model\App\State::MODE_PRODUCTION
+                \Magento\App\State::MODE_PRODUCTION
             ),
             'developer mode' => array(
-                \Magento\Core\Model\App\State::MODE_DEVELOPER
+                \Magento\App\State::MODE_DEVELOPER
             ),
         );
     }
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/DirTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/DirTest.php
index ff9c4f61a09ebcf05a26d01bf1f2e3afe5eb34e6..59395f8b599b0c56378e4e635e43cd83fe961802 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/DirTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/DirTest.php
@@ -33,7 +33,7 @@ class DirTest extends \PHPUnit_Framework_TestCase
      */
     public function testInvalidUri($code, $value)
     {
-        new \Magento\Core\Model\Dir(__DIR__, array($code => $value));
+        new \Magento\App\Dir(__DIR__, array($code => $value));
     }
 
     /**
@@ -42,23 +42,23 @@ class DirTest extends \PHPUnit_Framework_TestCase
     public function invalidUriDataProvider()
     {
         return array(
-            array(\Magento\Core\Model\Dir::MEDIA, '/'),
-            array(\Magento\Core\Model\Dir::MEDIA, '//'),
-            array(\Magento\Core\Model\Dir::MEDIA, '/value'),
-            array(\Magento\Core\Model\Dir::MEDIA, 'value/'),
-            array(\Magento\Core\Model\Dir::MEDIA, '/value/'),
-            array(\Magento\Core\Model\Dir::MEDIA, 'one\\two'),
-            array(\Magento\Core\Model\Dir::MEDIA, '../dir'),
-            array(\Magento\Core\Model\Dir::MEDIA, './dir'),
-            array(\Magento\Core\Model\Dir::MEDIA, 'one/../two'),
+            array(\Magento\App\Dir::MEDIA, '/'),
+            array(\Magento\App\Dir::MEDIA, '//'),
+            array(\Magento\App\Dir::MEDIA, '/value'),
+            array(\Magento\App\Dir::MEDIA, 'value/'),
+            array(\Magento\App\Dir::MEDIA, '/value/'),
+            array(\Magento\App\Dir::MEDIA, 'one\\two'),
+            array(\Magento\App\Dir::MEDIA, '../dir'),
+            array(\Magento\App\Dir::MEDIA, './dir'),
+            array(\Magento\App\Dir::MEDIA, 'one/../two'),
         );
     }
 
     public function testGetUri()
     {
-        $dir = new \Magento\Core\Model\Dir(__DIR__, array(
-            \Magento\Core\Model\Dir::PUB   => '',
-            \Magento\Core\Model\Dir::MEDIA => 'test',
+        $dir = new \Magento\App\Dir(__DIR__, array(
+            \Magento\App\Dir::PUB   => '',
+            \Magento\App\Dir::MEDIA => 'test',
             'custom' => 'test2'
         ));
 
@@ -66,12 +66,12 @@ class DirTest extends \PHPUnit_Framework_TestCase
         $this->assertEquals('test2', $dir->getUri('custom'));
 
         // setting empty value correctly adjusts its children
-        $this->assertEquals('', $dir->getUri(\Magento\Core\Model\Dir::PUB));
-        $this->assertEquals('lib', $dir->getUri(\Magento\Core\Model\Dir::PUB_LIB));
+        $this->assertEquals('', $dir->getUri(\Magento\App\Dir::PUB));
+        $this->assertEquals('lib', $dir->getUri(\Magento\App\Dir::PUB_LIB));
 
         // at the same time if another child has custom value, it must not be affected by its parent
-        $this->assertEquals('test', $dir->getUri(\Magento\Core\Model\Dir::MEDIA));
-        $this->assertEquals('test/upload', $dir->getUri(\Magento\Core\Model\Dir::UPLOAD));
+        $this->assertEquals('test', $dir->getUri(\Magento\App\Dir::MEDIA));
+        $this->assertEquals('test/upload', $dir->getUri(\Magento\App\Dir::UPLOAD));
     }
 
     /**
@@ -80,12 +80,12 @@ class DirTest extends \PHPUnit_Framework_TestCase
     public function testGetUriIndependentOfDirs()
     {
         $fixtureDirs = array(
-            \Magento\Core\Model\Dir::ROOT => __DIR__ . '/root',
-            \Magento\Core\Model\Dir::MEDIA => __DIR__ . '/media',
+            \Magento\App\Dir::ROOT => __DIR__ . '/root',
+            \Magento\App\Dir::MEDIA => __DIR__ . '/media',
             'custom' => 'test2'
         );
-        $default = new \Magento\Core\Model\Dir(__DIR__);
-        $custom = new \Magento\Core\Model\Dir(__DIR__, array(), $fixtureDirs);
+        $default = new \Magento\App\Dir(__DIR__);
+        $custom = new \Magento\App\Dir(__DIR__, array(), $fixtureDirs);
         foreach (array_keys($fixtureDirs) as $dirCode ) {
             $this->assertEquals($default->getUri($dirCode), $custom->getUri($dirCode));
         }
@@ -95,9 +95,9 @@ class DirTest extends \PHPUnit_Framework_TestCase
     {
         $newRoot = __DIR__ . DIRECTORY_SEPARATOR . 'root';
         $newMedia = __DIR__ . DIRECTORY_SEPARATOR . 'media';
-        $dir = new \Magento\Core\Model\Dir(__DIR__, array(), array(
-            \Magento\Core\Model\Dir::ROOT => $newRoot,
-            \Magento\Core\Model\Dir::MEDIA => $newMedia,
+        $dir = new \Magento\App\Dir(__DIR__, array(), array(
+            \Magento\App\Dir::ROOT => $newRoot,
+            \Magento\App\Dir::MEDIA => $newMedia,
             'custom' => 'test2'
         ));
 
@@ -105,12 +105,12 @@ class DirTest extends \PHPUnit_Framework_TestCase
         $this->assertEquals('test2', $dir->getDir('custom'));
 
         // new root has affected all its non-customized children
-        $this->assertStringStartsWith($newRoot, $dir->getDir(\Magento\Core\Model\Dir::APP));
-        $this->assertStringStartsWith($newRoot, $dir->getDir(\Magento\Core\Model\Dir::MODULES));
+        $this->assertStringStartsWith($newRoot, $dir->getDir(\Magento\App\Dir::APP));
+        $this->assertStringStartsWith($newRoot, $dir->getDir(\Magento\App\Dir::MODULES));
 
         // but it didn't affect the customized dirs
-        $this->assertEquals($newMedia, $dir->getDir(\Magento\Core\Model\Dir::MEDIA));
-        $this->assertStringStartsWith($newMedia, $dir->getDir(\Magento\Core\Model\Dir::UPLOAD));
+        $this->assertEquals($newMedia, $dir->getDir(\Magento\App\Dir::MEDIA));
+        $this->assertStringStartsWith($newMedia, $dir->getDir(\Magento\App\Dir::UPLOAD));
     }
 
     /**
@@ -119,12 +119,12 @@ class DirTest extends \PHPUnit_Framework_TestCase
     public function testGetDirIndependentOfUris()
     {
         $fixtureUris = array(
-            \Magento\Core\Model\Dir::PUB   => '',
-            \Magento\Core\Model\Dir::MEDIA => 'test',
+            \Magento\App\Dir::PUB   => '',
+            \Magento\App\Dir::MEDIA => 'test',
             'custom' => 'test2'
         );
-        $default = new \Magento\Core\Model\Dir(__DIR__);
-        $custom = new \Magento\Core\Model\Dir(__DIR__, $fixtureUris);
+        $default = new \Magento\App\Dir(__DIR__);
+        $custom = new \Magento\App\Dir(__DIR__, $fixtureUris);
         foreach (array_keys($fixtureUris) as $dirCode ) {
             $this->assertEquals($default->getDir($dirCode), $custom->getDir($dirCode));
         }
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/Config/ReaderTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/Config/ReaderTest.php
index ccbe87d1ec81b9cc4d09b0ceef4be11073137cac..0ab2abcd808daa7118e33b6b2be273a395891546 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/Config/ReaderTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Email/Template/Config/ReaderTest.php
@@ -36,7 +36,7 @@ class ReaderTest extends \PHPUnit_Framework_TestCase
     protected $_converter;
 
     /**
-     * @var \Magento\Core\Model\Module\Dir\ReverseResolver|\PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\Module\Dir\ReverseResolver|\PHPUnit_Framework_MockObject_MockObject
      */
     protected $_moduleDirResolver;
 
@@ -69,7 +69,7 @@ class ReaderTest extends \PHPUnit_Framework_TestCase
         $validationState->expects($this->once())->method('isValidated')->will($this->returnValue(false));
 
         $this->_moduleDirResolver = $this->getMock(
-            'Magento\Core\Model\Module\Dir\ReverseResolver', array(), array(), '', false
+            'Magento\App\Module\Dir\ReverseResolver', array(), array(), '', false
         );
 
         $this->_model = new \Magento\Core\Model\Email\Template\Config\Reader(
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/EntryPoint/CronTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/EntryPoint/CronTest.php
index 43399bab1f3698562c10a42bd3f32b09d338f3ff..7e8366b4de94a2a40889b51768a251e33fde96fd 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/EntryPoint/CronTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/EntryPoint/CronTest.php
@@ -46,13 +46,13 @@ class CronTest extends \PHPUnit_Framework_TestCase
     public function testProcessRequest()
     {
         $appMock = $this->getMock('Magento\Core\Model\App', array(), array(), '', false);
-        $eventManagerMock = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
-        $configScopeMock = $this->getMock('Magento\Core\Model\Config\Scope', array(), array(), '', false);
+        $eventManagerMock = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
+        $configScopeMock = $this->getMock('Magento\Config\Scope', array(), array(), '', false);
 
         $map = array(
             array('Magento\Core\Model\App', $appMock),
-            array('Magento\Core\Model\Event\Manager', $eventManagerMock),
-            array('Magento\Core\Model\Config\Scope', $configScopeMock),
+            array('Magento\Event\ManagerInterface', $eventManagerMock),
+            array('Magento\Config\ScopeInterface', $configScopeMock),
         );
 
         $this->_objectManagerMock->expects($this->any())->method('get')->will($this->returnValueMap($map));
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/EntryPoint/MediaTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/EntryPoint/MediaTest.php
index 2b798ea3a6b94b2ae3a8f4f54ed44af50b568934..1d9f4a315880625a26c3eb4695e33d20b49e065a 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/EntryPoint/MediaTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/EntryPoint/MediaTest.php
@@ -93,17 +93,17 @@ class MediaTest extends \PHPUnit_Framework_TestCase
             return true;
         };
         $this->_objectManagerMock = $this->getMock('Magento\ObjectManager');
-        $this->_appState = $this->getMock('Magento\Core\Model\App\State', array(), array(  ), '', false);
+        $this->_appState = $this->getMock('Magento\App\State', array(), array(  ), '', false);
         $this->_configMock = $this->getMock('Magento\Core\Model\File\Storage\Config', array(), array(), '', false);
         $this->_sync= $this->getMock('Magento\Core\Model\File\Storage\Synchronization', array(), array(), '', false);
         $this->_dirVerificationMock = $this->getMock(
-            'Magento\Core\Model\Dir\Verification', array(), array(), '', false
+            'Magento\App\Dir\Verification', array(), array(), '', false
         );
         $this->_responseMock = $this->getMock('Magento\Core\Model\File\Storage\Response', array(), array(), '', false);
 
         $map = array(
-            array('Magento\Core\Model\Dir\Verification', $this->_dirVerificationMock),
-            array('Magento\Core\Model\App\State', $this->_appState),
+            array('Magento\App\Dir\Verification', $this->_dirVerificationMock),
+            array('Magento\App\State', $this->_appState),
             array('Magento\Core\Model\File\Storage\Request', $this->_requestMock),
             array('Magento\Core\Model\File\Storage\Synchronization', $this->_sync),
         );
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/File/Storage/RequestTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/File/Storage/RequestTest.php
index 9aed34a7e7f43ad2173af668a2e53f8907c06b0e..1f58a1051f93e5548dc90e4b441761d877e9e4ef 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/File/Storage/RequestTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/File/Storage/RequestTest.php
@@ -48,7 +48,7 @@ class RequestTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $path = '..PathInfo';
-        $this->_requestMock = $this->getMock('Zend_Controller_Request_Http', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('\Magento\App\Request\Http', array(), array(), '', false);
         $this->_requestMock->expects($this->once())->method('getPathInfo')->will($this->returnValue($path));
         $this->_model = new \Magento\Core\Model\File\Storage\Request($this->_workingDir, $this->_requestMock);
     }
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/AbstractHandlerTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/AbstractHandlerTest.php
index ee60f5b99a2de7715483b616abfab4dd8be5837f..5b397a3a42333f541bf010f03fc2c03fe2fa2575 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/AbstractHandlerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/AbstractHandlerTest.php
@@ -44,7 +44,7 @@ class AbstractHandlerTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @param array $expectedResult
      * @dataProvider parseDataProvider
      */
@@ -65,7 +65,7 @@ class AbstractHandlerTest extends \PHPUnit_Framework_TestCase
         $layout = simplexml_load_file(
             __DIR__ . DIRECTORY_SEPARATOR . 'Handler' . DIRECTORY_SEPARATOR
             . '_files' . DIRECTORY_SEPARATOR . 'arguments.xml',
-            'Magento\Core\Model\Layout\Element'
+            'Magento\View\Layout\Element'
         );
         $withoutUpdater = $layout->xpath('//argument[@name="testParseWithoutUpdater"]');
         $withUpdater = $layout->xpath('//argument[@name="testParseWithUpdater"]');
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/ArrayTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/ArrayTest.php
index 30e491aae821d69b73429610890f9a23b4303cf3..9d6f2107a37f2ba7b34a0c2b23d375cf50a79a01 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/ArrayTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/ArrayTest.php
@@ -122,7 +122,7 @@ class ArrayTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * @param \Magento\Core\Model\Layout\Element $node
+     * @param \Magento\View\Layout\Element $node
      * @param $expected array
      * @dataProvider parseDataProvider
      */
@@ -158,7 +158,7 @@ class ArrayTest extends \PHPUnit_Framework_TestCase
     {
         $layout = simplexml_load_file(
             __DIR__ . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'arguments.xml',
-            'Magento\Core\Model\Layout\Element'
+            'Magento\View\Layout\Element'
         );
 
         return array(
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/BooleanTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/BooleanTest.php
index 86e8a1cba36c720dbb5cefe1919670be9a0b0c8f..3ee35a12e11de52a15a058bec9b73f0406299cca 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/BooleanTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/BooleanTest.php
@@ -54,7 +54,7 @@ class BooleanTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @dataProvider parseDataProvider()
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @param array $expectedResult
      */
     public function testParse($argument, $expectedResult)
@@ -70,7 +70,7 @@ class BooleanTest extends \PHPUnit_Framework_TestCase
     {
         $layout = simplexml_load_file(
             __DIR__ . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'arguments.xml',
-            'Magento\Core\Model\Layout\Element'
+            'Magento\View\Layout\Element'
         );
         $result = $this->processDataProvider();
         $simpleArg = $layout->xpath('//argument[@name="testSimpleBoolean"]');
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/HelperTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/HelperTest.php
index 596dfd5f5c70be46dd19fd753a34c44e8372a75e..6bde44e90282442ccfc15b0dd7f9e2a5ed964c11 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/HelperTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/HelperTest.php
@@ -56,7 +56,7 @@ class HelperTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @dataProvider parseDataProvider()
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @param array $expectedResult
      */
     public function testParse($argument, $expectedResult)
@@ -72,7 +72,7 @@ class HelperTest extends \PHPUnit_Framework_TestCase
     {
         $layout = simplexml_load_file(
             __DIR__ . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'arguments.xml',
-            'Magento\Core\Model\Layout\Element'
+            'Magento\View\Layout\Element'
         );
         $result = $this->processDataProvider();
         $resultWithParams = $resultWithoutParams = $result[0][0];
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/NumberTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/NumberTest.php
index e43903916873321abeb6275e869dd7a68bb2e843..2baa8496ac53d14930006dc59e64aa5d1302da5c 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/NumberTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/NumberTest.php
@@ -54,7 +54,7 @@ class NumberTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @dataProvider parseDataProvider()
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @param array $expectedResult
      */
     public function testParse($argument, $expectedResult)
@@ -70,7 +70,7 @@ class NumberTest extends \PHPUnit_Framework_TestCase
     {
         $layout = simplexml_load_file(
             __DIR__ . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'arguments.xml',
-            'Magento\Core\Model\Layout\Element'
+            'Magento\View\Layout\Element'
         );
         $result = $this->processDataProvider();
         $simpleArg = $layout->xpath('//argument[@name="testSimpleNumber"]');
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/ObjectTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/ObjectTest.php
index 5e007bb6679bf7c9f92a5dd051bed3d6627cf8a8..176bdcb55d5a37ce1f36d930b929ce36d27d7ab6 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/ObjectTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/ObjectTest.php
@@ -56,7 +56,7 @@ class ObjectTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @dataProvider parseDataProvider()
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @param array $expectedResult
      */
     public function testParse($argument, $expectedResult)
@@ -75,7 +75,7 @@ class ObjectTest extends \PHPUnit_Framework_TestCase
     {
         $layout = simplexml_load_file(
             __DIR__ . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'arguments.xml',
-            'Magento\Core\Model\Layout\Element'
+            'Magento\View\Layout\Element'
         );
         $simpleObject = $layout->xpath('//argument[@name="testSimpleObject"]');
         $complexObject = $layout->xpath('//argument[@name="testComplexObject"]');
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/OptionsTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/OptionsTest.php
index ea1685d1b8bca4501b39fe15a55f24bba60abfe4..9f97597da559fd60bedb081c84a7ad2891786bf1 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/OptionsTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/OptionsTest.php
@@ -56,7 +56,7 @@ class OptionsTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @dataProvider parseDataProvider()
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @param array $expectedResult
      */
     public function testParse($argument, $expectedResult)
@@ -72,7 +72,7 @@ class OptionsTest extends \PHPUnit_Framework_TestCase
     {
         $layout = simplexml_load_file(
             __DIR__ . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'arguments.xml',
-            'Magento\Core\Model\Layout\Element'
+            'Magento\View\Layout\Element'
         );
         $optionsArguments = $layout->xpath('//argument[@name="testOptions"]');
         return array(
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/StringTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/StringTest.php
index d82b1e96343451dbeade00c1c5bc8cbc9d82684e..7497362f14e030a95cb85de1c266a197d570ae7b 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/StringTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/StringTest.php
@@ -54,7 +54,7 @@ class StringTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @dataProvider parseDataProvider
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @param array $expectedResult
      */
     public function testParse($argument, $expectedResult)
@@ -70,7 +70,7 @@ class StringTest extends \PHPUnit_Framework_TestCase
     {
         $layout = simplexml_load_file(
             __DIR__ . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'arguments.xml',
-            'Magento\Core\Model\Layout\Element'
+            'Magento\View\Layout\Element'
         );
         $result = $this->processDataProvider();
         $simpleString = $layout->xpath('//argument[@name="testSimpleString"]');
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/UrlTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/UrlTest.php
index 1e8fc5d4c6429bd12dc03f78f07aad27d626bc01..d9aa18908cbe9a884744129db38719889e1a6369 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/UrlTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/Handler/UrlTest.php
@@ -54,7 +54,7 @@ class UrlTest extends \PHPUnit_Framework_TestCase
 
     /**
      * @dataProvider parseDataProvider()
-     * @param \Magento\Core\Model\Layout\Element $argument
+     * @param \Magento\View\Layout\Element $argument
      * @param array $expectedResult
      */
     public function testParse($argument, $expectedResult)
@@ -70,7 +70,7 @@ class UrlTest extends \PHPUnit_Framework_TestCase
     {
         $layout = simplexml_load_file(
             __DIR__ . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'arguments.xml',
-            'Magento\Core\Model\Layout\Element'
+            'Magento\View\Layout\Element'
         );
         $result = $this->processDataProvider();
         $resultWithParams = $resultWithoutParams = $result[0][0];
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/ProcessorTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/ProcessorTest.php
index 0e8a4eafd990db27fa2fb03b015c9d6f7b2fa82b..0622ca079244b8e929584ed4b733495ae39ddc9d 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/ProcessorTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/Argument/ProcessorTest.php
@@ -131,7 +131,7 @@ class ProcessorTest extends \PHPUnit_Framework_TestCase
     public function testParse()
     {
         // Because descendants of \SimpleXMLElement couldn't be mocked
-        $argument = new \Magento\Core\Model\Layout\Element('<argument xsi:type="string" name="argumentName" '
+        $argument = new \Magento\View\Layout\Element('<argument xsi:type="string" name="argumentName" '
             . 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Value</argument>'
         );
 
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/FactoryTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/FactoryTest.php
index 956850230dcf82b2b2c0546f485e8f40fb63d73e..fd5f84d8588ef7077988cc02c39a6715d945aa71 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/FactoryTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/FactoryTest.php
@@ -44,7 +44,7 @@ class FactoryTest extends \PHPUnit_Framework_TestCase
 
     public function testCreate()
     {
-        $theme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $theme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $file = new \Magento\Core\Model\Layout\File(__FILE__, 'Fixture_Module', $theme);
         $this->_objectManager
             ->expects($this->once())
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/ListTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/ListTest.php
index a1f0cd81bc1a792f6298cdee9aa91c6b9fa7bdba..4e3fd900426a62c889587114d8f357d661eefdd3 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/ListTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/ListTest.php
@@ -55,13 +55,13 @@ class ListTest extends \PHPUnit_Framework_TestCase
      * @param string $filename
      * @param string $module
      * @param string|null $themeFullPath
-     * @return \PHPUnit_Framework_MockObject_MockObject|\Magento\Core\Model\ThemeInterface
+     * @return \PHPUnit_Framework_MockObject_MockObject|\Magento\View\Design\ThemeInterface
      */
     protected function _createLayoutFile($filename, $module, $themeFullPath = null)
     {
         $theme = null;
         if ($themeFullPath !== null) {
-            $theme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+            $theme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
             $theme->expects($this->any())->method('getFullPath')->will($this->returnValue($themeFullPath));
         }
         return new \Magento\Core\Model\Layout\File($filename, $module, $theme);
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/AggregateTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/AggregateTest.php
index c49bad6d695124b767e751ec7b7c717266a78174..7e2924946ca523f531cb353ad6c22739acb1d758 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/AggregateTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/AggregateTest.php
@@ -74,8 +74,8 @@ class AggregateTest extends \PHPUnit_Framework_TestCase
 
     public function testGetFiles()
     {
-        $parentTheme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
-        $theme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $parentTheme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
+        $theme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $theme->expects($this->once())->method('getParentTheme')->will($this->returnValue($parentTheme));
 
         $files = array(
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/BaseTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/BaseTest.php
index 12961a3f9ea6ea75f3d91a5a6e4198b63f7baa9b..9debddd6e389f4b01b75468365dfd7e27191465c 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/BaseTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/BaseTest.php
@@ -49,7 +49,7 @@ class BaseTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_filesystem = $this->getMock('Magento\Filesystem', array(), array(), '', false);
-        $this->_dirs = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $this->_dirs = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $this->_dirs->expects($this->any())->method('getDir')->will($this->returnArgument(0));
         $this->_fileFactory = $this->getMock('Magento\Core\Model\Layout\File\Factory', array(), array(), '', false);
         $this->_model = new \Magento\Core\Model\Layout\File\Source\Base(
@@ -59,7 +59,7 @@ class BaseTest extends \PHPUnit_Framework_TestCase
 
     public function testGetFiles()
     {
-        $theme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $theme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $theme->expects($this->once())->method('getArea')->will($this->returnValue('area'));
 
         $this->_filesystem
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Decorator/ModuleDependencyTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Decorator/ModuleDependencyTest.php
index 4fda87304e461b81ddffd59d7ad0a8af83fcae39..716da4dc08d030769c381a150fd07205ecbb4492 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Decorator/ModuleDependencyTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Decorator/ModuleDependencyTest.php
@@ -56,7 +56,7 @@ class ModuleDependencyTest extends \PHPUnit_Framework_TestCase
         );
 
         $this->_fileSource = $this->getMockForAbstractClass('Magento\Core\Model\Layout\File\SourceInterface');
-        $this->_moduleListMock = $this->getMock('Magento\Core\Model\ModuleListInterface');
+        $this->_moduleListMock = $this->getMock('Magento\App\ModuleListInterface');
         $this->_moduleListMock->expects($this->any())->method('getModules')->will($this->returnValue($modulesConfig));
         $this->_model = new \Magento\Core\Model\Layout\File\Source\Decorator\ModuleDependency(
             $this->_fileSource, $this->_moduleListMock
@@ -71,7 +71,7 @@ class ModuleDependencyTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetFiles(array $fixtureFiles, array $expectedFiles, $message)
     {
-        $theme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $theme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $this->_fileSource
             ->expects($this->once())
             ->method('getFiles')
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Decorator/ModuleOutputTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Decorator/ModuleOutputTest.php
index 89539ebc9f1ab08eb2b55727fd9cbbf567e363ef..2623b2b7c7a10cc28c5ce0431275950aeaac9582 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Decorator/ModuleOutputTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Decorator/ModuleOutputTest.php
@@ -60,7 +60,7 @@ class ModuleOutputTest extends \PHPUnit_Framework_TestCase
 
     public function testGetFiles()
     {
-        $theme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $theme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $fileOne = new \Magento\Core\Model\Layout\File('1.xml', 'Module_OutputEnabled');
         $fileTwo = new \Magento\Core\Model\Layout\File('2.xml', 'Module_OutputDisabled');
         $fileThree = new \Magento\Core\Model\Layout\File('3.xml', 'Module_OutputEnabled', $theme);
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Override/BaseTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Override/BaseTest.php
index 6bc02dddee6d15dad95a2bbfb2f8405d4cc4eceb..107b208cf155e60997adacead7a5701126d07f96 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Override/BaseTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Override/BaseTest.php
@@ -49,7 +49,7 @@ class BaseTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_filesystem = $this->getMock('Magento\Filesystem', array(), array(), '', false);
-        $this->_dirs = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $this->_dirs = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $this->_dirs->expects($this->any())->method('getDir')->will($this->returnArgument(0));
         $this->_fileFactory = $this->getMock('Magento\Core\Model\Layout\File\Factory', array(), array(), '', false);
         $this->_model = new \Magento\Core\Model\Layout\File\Source\Override\Base(
@@ -59,7 +59,7 @@ class BaseTest extends \PHPUnit_Framework_TestCase
 
     public function testGetFiles()
     {
-        $theme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $theme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $theme->expects($this->once())->method('getFullPath')->will($this->returnValue('area/theme/path'));
 
         $this->_filesystem
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Override/ThemeTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Override/ThemeTest.php
index bb3212f283e2acadd0e0977fe2563591c2d53553..1620bc5a69496bde3cabcabb223c980e2dabcb5b 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Override/ThemeTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/Override/ThemeTest.php
@@ -49,7 +49,7 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_filesystem = $this->getMock('Magento\Filesystem', array(), array(), '', false);
-        $this->_dirs = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $this->_dirs = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $this->_dirs->expects($this->any())->method('getDir')->will($this->returnArgument(0));
         $this->_fileFactory = $this->getMock('Magento\Core\Model\Layout\File\Factory', array(), array(), '', false);
         $this->_model = new \Magento\Core\Model\Layout\File\Source\Override\Theme(
@@ -59,14 +59,14 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
 
     public function testGetFiles()
     {
-        $grandparentTheme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $grandparentTheme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $grandparentTheme->expects($this->once())->method('getCode')->will($this->returnValue('grand_parent_theme'));
 
-        $parentTheme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $parentTheme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $parentTheme->expects($this->once())->method('getCode')->will($this->returnValue('parent_theme'));
         $parentTheme->expects($this->once())->method('getParentTheme')->will($this->returnValue($grandparentTheme));
 
-        $theme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $theme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $theme->expects($this->once())->method('getFullPath')->will($this->returnValue('area/theme_path'));
         $theme->expects($this->once())->method('getParentTheme')->will($this->returnValue($parentTheme));
 
@@ -102,7 +102,7 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
                 . ", which is not ancestor of theme 'theme_path'"
         );
 
-        $theme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $theme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $theme->expects($this->once())->method('getFullPath')->will($this->returnValue('area/theme_path'));
         $theme->expects($this->once())->method('getParentTheme')->will($this->returnValue(null));
         $theme->expects($this->once())->method('getCode')->will($this->returnValue('theme_path'));
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/ThemeTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/ThemeTest.php
index 29fc46cf5123320095b8eaf696224d40fc1043af..1bf60d2686b70f8bf99487bde687348035db3976 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/ThemeTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/File/Source/ThemeTest.php
@@ -49,7 +49,7 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_filesystem = $this->getMock('Magento\Filesystem', array(), array(), '', false);
-        $this->_dirs = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $this->_dirs = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $this->_dirs->expects($this->any())->method('getDir')->will($this->returnArgument(0));
         $this->_fileFactory = $this->getMock('Magento\Core\Model\Layout\File\Factory', array(), array(), '', false);
         $this->_model = new \Magento\Core\Model\Layout\File\Source\Theme(
@@ -59,7 +59,7 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
 
     public function testGetFiles()
     {
-        $theme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $theme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $theme->expects($this->once())->method('getFullPath')->will($this->returnValue('area/theme/path'));
 
         $this->_filesystem
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/FileTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/FileTest.php
index 6c72c2e6dd90df6d50795f70f91e7a11838bbf19..f033cb2d5f4a2b158a1b4672a5f4949155f2c676 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/FileTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/FileTest.php
@@ -38,7 +38,7 @@ class FileTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_theme = $this->getMockForAbstractClass('Magento\Core\Model\ThemeInterface');
+        $this->_theme = $this->getMockForAbstractClass('Magento\View\Design\ThemeInterface');
         $this->_model = new \Magento\Core\Model\Layout\File(__FILE__, 'Fixture_TestModule', $this->_theme);
     }
 
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/MergeTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/MergeTest.php
index 55cbac2e4f3d2cf029241727d86faec1013a64c2..9161a567a5a41fc5aa18445641c3bc2eae759535 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/MergeTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Layout/MergeTest.php
@@ -70,7 +70,7 @@ class MergeTest extends \PHPUnit_Framework_TestCase
         $fileSource = $this->getMockForAbstractClass('Magento\Core\Model\Layout\File\SourceInterface');
         $fileSource->expects($this->any())->method('getFiles')->will($this->returnValue($files));
 
-        $design = $this->getMockForAbstractClass('Magento\Core\Model\View\DesignInterface');
+        $design = $this->getMockForAbstractClass('Magento\View\DesignInterface');
 
         $this->_store = $this->getMock('Magento\Core\Model\Store', array(), array(), '', false);
         $this->_store->expects($this->any())->method('getId')->will($this->returnValue(20));
@@ -79,7 +79,7 @@ class MergeTest extends \PHPUnit_Framework_TestCase
 
         $this->_resource = $this->getMock('Magento\Core\Model\Resource\Layout\Update', array(), array(), '', false);
 
-        $this->_appState = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false);
+        $this->_appState = $this->getMock('Magento\App\State', array(), array(), '', false);
 
         $this->_cache = $this->getMockForAbstractClass('Magento\Cache\FrontendInterface');
 
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Locale/Hierarchy/Config/FileResolverTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Locale/Hierarchy/Config/FileResolverTest.php
index 1bfb609d49c9c28649868720a40544bc817fd6bb..f2b851e57f14ab86710150a93ca26d35a1ebab65 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Locale/Hierarchy/Config/FileResolverTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Locale/Hierarchy/Config/FileResolverTest.php
@@ -31,13 +31,13 @@ class FileResolverTest extends \PHPUnit_Framework_TestCase
     protected $_model;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_appDirsMock;
 
     protected function setUp()
     {
-        $this->_appDirsMock = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $this->_appDirsMock = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $this->_model = new \Magento\Core\Model\Locale\Hierarchy\Config\FileResolver($this->_appDirsMock);
     }
 
@@ -50,7 +50,7 @@ class FileResolverTest extends \PHPUnit_Framework_TestCase
 
         $this->_appDirsMock->expects($this->once())
             ->method('getDir')
-            ->with(\Magento\Core\Model\Dir::LOCALE)
+            ->with(\Magento\App\Dir::LOCALE)
             ->will($this->returnValue($path));
 
         $expectedFilesList = array(
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/LoggerTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/LoggerTest.php
index 26d113abb2eae053741ecd0684430949452d3144..26794efde6b06fdf8dfdea575ad41dee68eae133 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/LoggerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/LoggerTest.php
@@ -43,8 +43,8 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_filesystemMock = $this->getMock('Magento\Io\File', array(), array(), '', false, false);
-        $dirs = new \Magento\Core\Model\Dir(TESTS_TEMP_DIR);
-        $logDir = $dirs->getDir(\Magento\Core\Model\Dir::LOG);
+        $dirs = new \Magento\App\Dir(TESTS_TEMP_DIR);
+        $logDir = $dirs->getDir(\Magento\App\Dir::LOG);
         if (!is_dir($logDir)) {
             mkdir($logDir, 0777, true);
         }
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/ModuleManagerTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/ModuleManagerTest.php
index b318419b5441e6bdddd612ff2f2bf5322f308043..e144aa99cb712456147ac8ca78a595b39472b7b9 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/ModuleManagerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/ModuleManagerTest.php
@@ -48,7 +48,7 @@ class ModuleManagerTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_moduleList = $this->getMockForAbstractClass('Magento\Core\Model\ModuleListInterface');
+        $this->_moduleList = $this->getMockForAbstractClass('Magento\App\ModuleListInterface');
         $this->_storeConfig = $this->getMockForAbstractClass('Magento\Core\Model\Store\ConfigInterface');
         $this->_model = new \Magento\Core\Model\ModuleManager($this->_storeConfig, $this->_moduleList, array(
             'Module_DisabledOutputOne' => self::XML_PATH_OUTPUT_ENABLED,
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/NoRouteHandlerListTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/NoRouteHandlerListTest.php
index 39226e105c53f1a4fd58a12e7f1588bfda6456e6..03374f0941dbe34b6f7e3f0fde28ae700fdb57c9 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/NoRouteHandlerListTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/NoRouteHandlerListTest.php
@@ -31,7 +31,7 @@ class NoRouteHandlerListTest extends \PHPUnit_Framework_TestCase
     protected $_objectManagerMock;
 
     /**
-     * @var \Magento\Core\Model\NoRouteHandlerList
+     * @var \Magento\App\Router\NoRouteHandlerList
      */
     protected $_model;
 
@@ -40,33 +40,33 @@ class NoRouteHandlerListTest extends \PHPUnit_Framework_TestCase
         $this->_objectManagerMock = $this->getMock('Magento\ObjectManager');
         $handlersList = array(
             'default_handler' => array(
-                'instance' => 'Magento\Core\Model\Router\NoRouteHandler',
+                'instance' => 'Magento\Core\App\Router\NoRouteHandler',
                 'sortOrder' => 100
             ),
             'backend_handler' => array(
-                'instance'  => 'Magento\Backend\Model\Router\NoRouteHandler',
+                'instance'  => 'Magento\Backend\App\Router\NoRouteHandler',
                 'sortOrder' => 10
             ),
         );
 
-        $this->_model = new \Magento\Core\Model\NoRouteHandlerList($this->_objectManagerMock, $handlersList);
+        $this->_model = new \Magento\App\Router\NoRouteHandlerList($this->_objectManagerMock, $handlersList);
     }
 
     public function testGetHandlers()
     {
         $backendHandlerMock = $this->getMock(
-            'Magento\Backend\Model\Router\NoRouteHandler', array(), array(), '', false
+            'Magento\Backend\App\Router\NoRouteHandler', array(), array(), '', false
         );
-        $defaultHandlerMock = $this->getMock('Magento\Core\Model\Router\NoRouteHandler', array(), array(), '', false);
+        $defaultHandlerMock = $this->getMock('Magento\Core\App\Router\NoRouteHandler', array(), array(), '', false);
 
         $this->_objectManagerMock->expects($this->at(0))
             ->method('create')
-            ->with('Magento\Backend\Model\Router\NoRouteHandler')
+            ->with('Magento\Backend\App\Router\NoRouteHandler')
             ->will($this->returnValue($backendHandlerMock));
 
         $this->_objectManagerMock->expects($this->at(1))
             ->method('create')
-            ->with('Magento\Core\Model\Router\NoRouteHandler')
+            ->with('Magento\Core\App\Router\NoRouteHandler')
             ->will($this->returnValue($defaultHandlerMock));
 
 
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/ObserverTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/ObserverTest.php
index 15546ae6ad86f84a2e8f93dfddbba82cb37877de..e11aab605151262bbfd60672ad91c695af079c51 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/ObserverTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/ObserverTest.php
@@ -93,7 +93,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
         $themeMock->expects($this->any())->method('getCustomization')
             ->will($this->returnValue($this->_themeCustomization));
 
-        $designMock = $this->getMock('Magento\Core\Model\View\DesignInterface');
+        $designMock = $this->getMock('Magento\View\DesignInterface');
         $designMock
             ->expects($this->any())
             ->method('getDesignTheme')
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MergeServiceTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MergeServiceTest.php
index 7e65f51f51642de6cbc5cc9298316bb979594044..a9525819683fe143a6fe46c524418a7721f23ae8 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MergeServiceTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MergeServiceTest.php
@@ -63,8 +63,8 @@ class MergeServiceTest extends \PHPUnit_Framework_TestCase
             'Magento\Core\Model\Store\Config', array('getConfigFlag'), array(), '', false
         );
         $this->_filesystem = $this->getMock('Magento\Filesystem', array(), array(), '', false);
-        $this->_dirs = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
-        $this->_state = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false);
+        $this->_dirs = $this->getMock('Magento\App\Dir', array(), array(), '', false);
+        $this->_state = $this->getMock('Magento\App\State', array(), array(), '', false);
 
         $this->_object = new \Magento\Core\Model\Page\Asset\MergeService(
             $this->_objectManager,
@@ -143,42 +143,42 @@ class MergeServiceTest extends \PHPUnit_Framework_TestCase
                 $jsAssets,
                 \Magento\Core\Model\View\Publisher::CONTENT_TYPE_JS,
                 \Magento\Core\Model\Page\Asset\MergeService::XML_PATH_MERGE_JS_FILES,
-                \Magento\Core\Model\App\State::MODE_PRODUCTION,
+                \Magento\App\State::MODE_PRODUCTION,
                 'Magento\Core\Model\Page\Asset\MergeStrategy\FileExists'
             ),
             'css production mode' => array(
                 $cssAssets,
                 \Magento\Core\Model\View\Publisher::CONTENT_TYPE_CSS,
                 \Magento\Core\Model\Page\Asset\MergeService::XML_PATH_MERGE_CSS_FILES,
-                \Magento\Core\Model\App\State::MODE_PRODUCTION,
+                \Magento\App\State::MODE_PRODUCTION,
                 'Magento\Core\Model\Page\Asset\MergeStrategy\FileExists'
             ),
             'js default mode' => array(
                 $jsAssets,
                 \Magento\Core\Model\View\Publisher::CONTENT_TYPE_JS,
                 \Magento\Core\Model\Page\Asset\MergeService::XML_PATH_MERGE_JS_FILES,
-                \Magento\Core\Model\App\State::MODE_DEFAULT,
+                \Magento\App\State::MODE_DEFAULT,
                 'Magento\Core\Model\Page\Asset\MergeStrategy\Checksum'
             ),
             'css default mode' => array(
                 $cssAssets,
                 \Magento\Core\Model\View\Publisher::CONTENT_TYPE_CSS,
                 \Magento\Core\Model\Page\Asset\MergeService::XML_PATH_MERGE_CSS_FILES,
-                \Magento\Core\Model\App\State::MODE_DEFAULT,
+                \Magento\App\State::MODE_DEFAULT,
                 'Magento\Core\Model\Page\Asset\MergeStrategy\Checksum'
             ),
             'js developer mode' => array(
                 $jsAssets,
                 \Magento\Core\Model\View\Publisher::CONTENT_TYPE_JS,
                 \Magento\Core\Model\Page\Asset\MergeService::XML_PATH_MERGE_JS_FILES,
-                \Magento\Core\Model\App\State::MODE_DEVELOPER,
+                \Magento\App\State::MODE_DEVELOPER,
                 'Magento\Core\Model\Page\Asset\MergeStrategy\Checksum'
             ),
             'css developer mode' => array(
                 $cssAssets,
                 \Magento\Core\Model\View\Publisher::CONTENT_TYPE_CSS,
                 \Magento\Core\Model\Page\Asset\MergeService::XML_PATH_MERGE_CSS_FILES,
-                \Magento\Core\Model\App\State::MODE_DEVELOPER,
+                \Magento\App\State::MODE_DEVELOPER,
                 'Magento\Core\Model\Page\Asset\MergeStrategy\Checksum'
             ),
         );
@@ -188,7 +188,7 @@ class MergeServiceTest extends \PHPUnit_Framework_TestCase
     {
         $this->_dirs->expects($this->once())
             ->method('getDir')
-            ->with(\Magento\Core\Model\Dir::PUB_VIEW_CACHE)
+            ->with(\Magento\App\Dir::PUB_VIEW_CACHE)
             ->will($this->returnValue('/pub/cache'));
 
         $mergedDir = '/pub/cache/' . \Magento\Core\Model\Page\Asset\Merged::PUBLIC_MERGE_DIR;
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MergeStrategy/DirectTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MergeStrategy/DirectTest.php
index e737af48313a0efca8b7b7f6301111e5bf60b736..5f235dd9b3bae9aa522af867dc1fbe7556c6dadd 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MergeStrategy/DirectTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MergeStrategy/DirectTest.php
@@ -50,7 +50,7 @@ class DirectTest extends \PHPUnit_Framework_TestCase
     {
         $this->_cssHelper = $this->getMock('Magento\Core\Helper\Css', array(), array(), '', false);
         $this->_filesystem = $this->getMock('Magento\Filesystem', array(), array(), '', false);
-        $this->_dirs = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $this->_dirs = $this->getMock('Magento\App\Dir', array(), array(), '', false);
 
         $this->_object = new \Magento\Core\Model\Page\Asset\MergeStrategy\Direct(
             $this->_filesystem, $this->_dirs, $this->_cssHelper
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MergedTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MergedTest.php
index 6103e27a413c5e272f8b906c99ce9132f117395e..fe4dd87fa6a957420df89fbac08871113dc6cc36 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MergedTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MergedTest.php
@@ -75,7 +75,7 @@ class MergedTest extends \PHPUnit_Framework_TestCase
 
         $this->_logger = $this->getMock('Magento\Core\Model\Logger', array('logException'), array(), '', false);
 
-        $this->_dirs = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $this->_dirs = $this->getMock('Magento\App\Dir', array(), array(), '', false);
 
         $this->_mergeStrategy = $this->getMock('Magento\Core\Model\Page\Asset\MergeStrategyInterface');
 
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MinifyServiceTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MinifyServiceTest.php
index e5de04492d46edee68ca4d786ca7d98181d45047..dc5eae08819e7bc0f9c9e80e23e3c338f58acf1a 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MinifyServiceTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Page/Asset/MinifyServiceTest.php
@@ -42,16 +42,16 @@ class MinifyServiceTest extends \PHPUnit_Framework_TestCase
     protected $_model;
 
     /**
-     * @var \Magento\Core\Model\App\State|\PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\State|\PHPUnit_Framework_MockObject_MockObject
      */
     protected $_appState;
 
     protected function setUp()
     {
         $this->_storeConfig = $this->getMock('Magento\Core\Model\Store\Config', array(), array(), '', false);
-        $dirs = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $dirs = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $this->_objectManager = $this->getMock('Magento\ObjectManager');
-        $this->_appState = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false);
+        $this->_appState = $this->getMock('Magento\App\State', array(), array(), '', false);
 
         $this->_model = new \Magento\Core\Model\Page\Asset\MinifyService($this->_storeConfig, $this->_objectManager,
             $dirs, $this->_appState);
@@ -168,15 +168,15 @@ class MinifyServiceTest extends \PHPUnit_Framework_TestCase
     {
         return array(
             'production' => array(
-                \Magento\Core\Model\App\State::MODE_PRODUCTION,
+                \Magento\App\State::MODE_PRODUCTION,
                 'Magento\Code\Minifier\Strategy\Lite'
             ),
             'default'    => array(
-                \Magento\Core\Model\App\State::MODE_DEFAULT,
+                \Magento\App\State::MODE_DEFAULT,
                 'Magento\Code\Minifier\Strategy\Generate'
             ),
             'developer'  => array(
-                \Magento\Core\Model\App\State::MODE_DEVELOPER,
+                \Magento\App\State::MODE_DEVELOPER,
                 'Magento\Code\Minifier\Strategy\Generate'
             ),
         );
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Db/AbstractTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Db/AbstractTest.php
index 97205e9c83c0aed538c2a905acfea2404ab27f85..4cf96e755744042f53a52b59162fbf3d5a20ea0c 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Db/AbstractTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Db/AbstractTest.php
@@ -75,7 +75,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetConnectionInMemoryCaching()
     {
-        $dir = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $dir = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $connection = new \Magento\DB\Adapter\Pdo\Mysql($dir, array(
             'dbname'   => 'test_dbname',
             'username' => 'test_username',
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Layout/Link/CollectionTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Layout/Link/CollectionTest.php
index 28875a5a2b610a8814c7d25afd27c0744d78e747..7325f6ec32a3c1080fa58dc664c1c52e62d7e875 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Layout/Link/CollectionTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Layout/Link/CollectionTest.php
@@ -47,7 +47,7 @@ class CollectionTest extends \Magento\Core\Model\Resource\Layout\AbstractTestCas
      */
     protected function _getCollection(\Zend_Db_Select $select)
     {
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
 
         return new \Magento\Core\Model\Resource\Layout\Link\Collection(
             $eventManager,
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Layout/Update/CollectionTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Layout/Update/CollectionTest.php
index 05c11bfca4e6d49915102cafcb1814451ab364a4..5207f571fb812d58522075688cf6955909aea7ed 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Layout/Update/CollectionTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Layout/Update/CollectionTest.php
@@ -38,7 +38,7 @@ class CollectionTest
      */
     protected function _getCollection(\Zend_Db_Select $select)
     {
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
 
         return new \Magento\Core\Model\Resource\Layout\Update\Collection(
             $eventManager,
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Resource/SessionTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Resource/SessionTest.php
index 2585be40d2157c5f42cc8dcbd79ca67723cd49da..4126cb942bbcba6ab8b48bb0ba19dd6c2e0c9adc 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Resource/SessionTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Resource/SessionTest.php
@@ -108,7 +108,7 @@ class SessionTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue($connection));
 
         $this->_model = new \Magento\Core\Model\Resource\Session(
-            $resource, $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false, false)
+            $resource, $this->getMock('Magento\App\Dir', array(), array(), '', false, false)
         );
     }
 
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Setup/MigrationTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Setup/MigrationTest.php
index f5c467a82716adbc46b321475246a3f3016b63c5..71fa50d2e0532fc64e2b266ac839b39ef7506b3e 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Setup/MigrationTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Resource/Setup/MigrationTest.php
@@ -151,7 +151,7 @@ class MigrationTest extends \PHPUnit_Framework_TestCase
      */
     public function testAppendClassAliasReplace()
     {
-        $moduleListMock = $this->getMock('Magento\Core\Model\ModuleListInterface');
+        $moduleListMock = $this->getMock('Magento\App\ModuleListInterface');
         $moduleListMock->expects($this->once())
             ->method('getModule')
             ->will($this->returnValue(array()));
@@ -160,7 +160,7 @@ class MigrationTest extends \PHPUnit_Framework_TestCase
 
         $contextMock->expects($this->once())
             ->method('getEventManager')
-            ->will($this->returnValue($this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false)));
+            ->will($this->returnValue($this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false)));
         $contextMock->expects($this->once())
             ->method('getResourceModel')
             ->will($this->returnValue($this->getMock('Magento\Core\Model\Resource', array(), array(), '', false)));
@@ -180,7 +180,7 @@ class MigrationTest extends \PHPUnit_Framework_TestCase
             $contextMock,
             $this->getMock('Magento\Filesystem', array(), array(), '', false),
             $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false),
-            $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false),
+            $this->getMock('Magento\App\Dir', array(), array(), '', false),
             'core_setup',
             ''
         );
@@ -236,11 +236,11 @@ class MigrationTest extends \PHPUnit_Framework_TestCase
             $this->getMock('Magento\Core\Model\Resource', array(), array(), '', false, false),
             $this->getMock('Magento\Filesystem', array(), array(), '', false),
             $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false),
-            $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false),
+            $this->getMock('Magento\App\Dir', array(), array(), '', false),
             $this->getMock('Magento\Core\Model\Logger', array(), array(), '', false),
-            $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false),
+            $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false),
             $this->getMock('Magento\Core\Model\Config', array(), array(), '', false, false),
-            $this->getMock('Magento\Core\Model\ModuleListInterface'),
+            $this->getMock('Magento\App\ModuleListInterface'),
             $this->getMock('Magento\Core\Model\Config\Modules\Reader', array(), array(), '', false, false),
             $this->getMock('Magento\Core\Model\Resource\Resource', array(), array(), '', false),
             $this->getMock('Magento\Core\Model\Resource\Theme\CollectionFactory', array(), array(), '', false),
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/RouterListTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/RouterListTest.php
index 2dfa97ead83b572d14647c37247356ddeb51eed0..947dc27b876dd4e9b5ccf42b339e5ced7307548e 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/RouterListTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/RouterListTest.php
@@ -28,7 +28,7 @@ namespace Magento\Core\Model;
 class RouterListTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\RouterList
+     * @var \Magento\App\RouterList
      */
     protected $_model;
 
@@ -63,7 +63,7 @@ class RouterListTest extends \PHPUnit_Framework_TestCase
         );
 
         $this->_objectManagerMock = $this->getMock('Magento\ObjectManager');
-        $this->_model = new \Magento\Core\Model\RouterList($this->_objectManagerMock, $this->_routerList);
+        $this->_model = new \Magento\App\RouterList($this->_objectManagerMock, $this->_routerList);
     }
 
     public function testGetRoutes()
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Store/StorageFactoryTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Store/StorageFactoryTest.php
index 20ccb6447bb1ecb22650993099957de0daa1c0af..02115dd140cdd5cd58de81971a6d69d6c8facbf7 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Store/StorageFactoryTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Store/StorageFactoryTest.php
@@ -90,11 +90,12 @@ class StorageFactoryTest extends \PHPUnit_Framework_TestCase
     {
         $this->_arguments = array('test' => 'argument');
         $this->_objectManagerMock = $this->getMock('Magento\ObjectManager');
-        $this->_eventManagerMock = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $this->_eventManagerMock = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $this->_logMock = $this->getMock('Magento\Core\Model\Logger', array(), array(), '', false);
         $this->_configMock = $this->getMock('Magento\Core\Model\ConfigInterface', array(), array(), '', false);
-        $this->_appMock = $this->getMock('Magento\Core\Model\App\Proxy', array(), array(), '', false);
-        $this->_appStateMock = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false);
+        $this->_appMock
+            = $this->getMock('Magento\Core\Model\App\Proxy', array('setUseSessionInUrl'), array(), '', false);
+        $this->_appStateMock = $this->getMock('Magento\App\State', array(), array(), '', false);
         $this->_storage = $this->getMock('Magento\Core\Model\Store\StorageInterface');
 
         $this->_model = new \Magento\Core\Model\Store\StorageFactory(
@@ -159,7 +160,8 @@ class StorageFactoryTest extends \PHPUnit_Framework_TestCase
             ->method('initForStore')
             ->with($store, $this->_configMock);
 
-        $this->_appMock->expects($this->once())->method('setUseSessionInUrl')->with(true);
+        $this->_appMock->expects($this->once())
+            ->method('setUseSessionInUrl')->with(true);
 
         /** test create instance */
         $this->assertEquals($this->_storage, $this->_model->get($this->_arguments));
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/StoreManagerTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/StoreManagerTest.php
index a6138f487d3158d673d5b191569c64dc959eed21..d1098d22c59b67e34ff12c4ad7fed11872b20dbc 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/StoreManagerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/StoreManagerTest.php
@@ -59,7 +59,7 @@ class StoreManagerTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_factoryMock = $this->getMock('Magento\Core\Model\Store\StorageFactory', array(), array(), '', false);
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\RequestInterface', array(), array(), '', false);
         $this->_helperFactoryMock = $this->getMock('Magento\Core\Model\Factory\Helper', array(), array(), '', false);
         $this->_storage = $this->getMock('Magento\Core\Model\Store\StorageInterface');
 
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Decorator/DebugHintsTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Decorator/DebugHintsTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..b0db664d169c91610664c342f7ba8da0be329d4a
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Decorator/DebugHintsTest.php
@@ -0,0 +1,57 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+
+namespace Magento\Core\Model\TemplateEngine\Decorator;
+
+class DebugHintsTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @param bool $showBlockHints
+     * @dataProvider renderDataProvider
+     */
+    public function testRender($showBlockHints)
+    {
+        $subject = $this->getMock('Magento\Core\Model\TemplateEngine\EngineInterface');
+        $block = $this->getMock('Magento\Core\Block\Template', array(), array(), 'TestBlock', false);
+        $subject
+            ->expects($this->once())
+            ->method('render')
+            ->with($this->identicalTo($block), 'template.phtml', array('var' => 'val'))
+            ->will($this->returnValue('<div id="fixture"/>'))
+        ;
+        $model = new DebugHints($subject, $showBlockHints);
+        $actualResult = $model->render($block, 'template.phtml', array('var' => 'val'));
+        $this->assertSelectEquals('div > div[title="template.phtml"]', 'template.phtml', 1, $actualResult);
+        $this->assertSelectCount('div > div#fixture', 1, $actualResult);
+        $this->assertSelectEquals('div > div[title="TestBlock"]', 'TestBlock', (int)$showBlockHints, $actualResult);
+    }
+
+    public function renderDataProvider()
+    {
+        return array(
+            'block hints disabled'  => array(false),
+            'block hints enabled'   => array(true),
+        );
+    }
+}
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/FactoryTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/FactoryTest.php
index 0fa29dcd46f5abbf30f072d8efd13a82f0dfc2bd..6bdf3d4a83f0c5aa0a4279384ee9b645c1b4d211 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/FactoryTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/FactoryTest.php
@@ -26,78 +26,58 @@ namespace Magento\Core\Model\TemplateEngine;
 
 class FactoryTest extends \PHPUnit_Framework_TestCase
 {
-
-    /** @var \PHPUnit_Framework_MockObject_MockObject */
-    protected $_objectManagerMock;
-
-    /** @var  \Magento\Core\Model\TemplateEngine\Factory */
-    protected $_factory;
-
     /**
-     * Setup a factory to test with an mocked object manager.
+     * @var Factory
      */
-    protected function setUp()
-    {
-        $this->_objectManagerMock = $this->getMock('Magento\ObjectManager');
-        $this->_factory = new \Magento\Core\Model\TemplateEngine\Factory($this->_objectManagerMock);
-    }
+    protected $_model;
 
     /**
-     * Test getting a phtml engine
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
-    public function testGetPhtmlEngine()
+    protected $_objectManager;
+
+    protected function setUp()
     {
-        $phtmlEngineMock = $this->getMock('Magento\Core\Model\TemplateEngine\Php');
-        $this->_objectManagerMock->expects($this->once())
-            ->method('get')
-            ->with($this->equalTo('Magento\Core\Model\TemplateEngine\Php'))
-            ->will($this->returnValue($phtmlEngineMock));
-        $actual = $this->_factory->get(\Magento\Core\Model\TemplateEngine\Factory::ENGINE_PHTML);
-        $this->assertSame($phtmlEngineMock, $actual, 'phtml engine not returned');
+        $this->_objectManager = $this->getMock('Magento\ObjectManager');
+        $this->_model = new Factory($this->_objectManager, array(
+            'test' => 'Fixture\Module\Model\TemplateEngine',
+        ));
     }
 
-    /**
-     * Test getting a Twig engine
-     */
-    public function testGetTwigEngine()
+    public function testCreateKnownEngine()
     {
-        $twigEngineMock = $this->getMockBuilder('Magento\Core\Model\TemplateEngine\Twig')
-            ->disableOriginalConstructor()->getMock();
-        $this->_objectManagerMock->expects($this->once())
-            ->method('get')
-            ->with($this->equalTo('Magento\Core\Model\TemplateEngine\Twig'))
-            ->will($this->returnValue($twigEngineMock));
-        $actual = $this->_factory->get(\Magento\Core\Model\TemplateEngine\Factory::ENGINE_TWIG);
-        $this->assertSame($twigEngineMock, $actual, 'phtml engine not returned');
+        $engine = $this->getMock('Magento\Core\Model\TemplateEngine\EngineInterface');
+        $this->_objectManager
+            ->expects($this->once())
+            ->method('create')
+            ->with('Fixture\Module\Model\TemplateEngine')
+            ->will($this->returnValue($engine))
+        ;
+        $this->assertSame($engine, $this->_model->create('test'));
     }
 
     /**
-     * Test attempting to get an engine the factory does not know about (neither Twig nor Phtml.)
-     *
-     * Should throw an exception
-     *
      * @expectedException \InvalidArgumentException
-     * @expectedExceptionMessage Unknown template engine type: NotAnEngineName
+     * @expectedExceptionMessage Unknown template engine 'non_existing'
      */
-    public function testGetBadEngine()
+    public function testCreateUnknownEngine()
     {
-        $this->_objectManagerMock->expects($this->never())
-            ->method('get');
-        $this->_factory->get('NotAnEngineName');
+        $this->_objectManager->expects($this->never())->method('create');
+        $this->_model->create('non_existing');
     }
 
     /**
-     * Test attempting to get an engine passing in null as the engine type.
-     *
-     * Should throw an exception
-     *
-     * @expectedException \InvalidArgumentException
-     * @expectedExceptionMessage Unknown template engine type:
+     * @expectedException \UnexpectedValueException
+     * @expectedExceptionMessage Fixture\Module\Model\TemplateEngine has to implement the template engine interface
      */
-    public function testGetNullEngine()
+    public function testCreateInvalidEngine()
     {
-        $this->_objectManagerMock->expects($this->never())
-            ->method('get');
-        $this->_factory->get(NULL);
+        $this->_objectManager
+            ->expects($this->once())
+            ->method('create')
+            ->with('Fixture\Module\Model\TemplateEngine')
+            ->will($this->returnValue(new \stdClass()))
+        ;
+        $this->_model->create('test');
     }
 }
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Plugin/DebugHintsTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Plugin/DebugHintsTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..5e78237ce6f2f1285599c6c638cd5be0fc9d2db0
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Plugin/DebugHintsTest.php
@@ -0,0 +1,123 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+
+namespace Magento\Core\Model\TemplateEngine\Plugin;
+
+class DebugHintsTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var DebugHints
+     */
+    protected $_model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_objectManager;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_storeConfig;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_coreData;
+
+    protected function setUp()
+    {
+        $this->_objectManager = $this->getMock('Magento\ObjectManager');
+        $this->_storeConfig = $this->getMock('Magento\Core\Model\Store\Config', array(), array(), '', false);
+        $this->_coreData = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
+        $this->_model = new DebugHints($this->_objectManager, $this->_storeConfig, $this->_coreData);
+    }
+
+    /**
+     * @param bool $showBlockHints
+     * @dataProvider afterCreateActiveDataProvider
+     */
+    public function testAfterCreateActive($showBlockHints)
+    {
+        $this->_coreData->expects($this->once())->method('isDevAllowed')->will($this->returnValue(true));
+        $this->_setupConfigFixture(true, $showBlockHints);
+        $engine = $this->getMock('Magento\Core\Model\TemplateEngine\EngineInterface');
+        $engineDecorated = $this->getMock('Magento\Core\Model\TemplateEngine\EngineInterface');
+        $this->_objectManager
+            ->expects($this->once())
+            ->method('create')
+            ->with(
+                'Magento\Core\Model\TemplateEngine\Decorator\DebugHints',
+                $this->identicalTo(array('subject' => $engine, 'showBlockHints' => $showBlockHints))
+            )
+            ->will($this->returnValue($engineDecorated))
+        ;
+        $this->assertEquals($engineDecorated, $this->_model->afterCreate($engine));
+    }
+
+    public function afterCreateActiveDataProvider()
+    {
+        return array(
+            'block hints disabled'  => array(false),
+            'block hints enabled'   => array(true),
+        );
+    }
+
+    /**
+     * @param bool $isDevAllowed
+     * @param bool $showTemplateHints
+     * @dataProvider afterCreateInactiveDataProvider
+     */
+    public function testAfterCreateInactive($isDevAllowed, $showTemplateHints)
+    {
+        $this->_coreData->expects($this->any())->method('isDevAllowed')->will($this->returnValue($isDevAllowed));
+        $this->_setupConfigFixture($showTemplateHints, true);
+        $this->_objectManager->expects($this->never())->method('create');
+        $engine = $this->getMock('Magento\Core\Model\TemplateEngine\EngineInterface');
+        $this->assertSame($engine, $this->_model->afterCreate($engine));
+    }
+
+    public function afterCreateInactiveDataProvider()
+    {
+        return array(
+            'dev disabled, template hints disabled' => array(false, false),
+            'dev disabled, template hints enabled'  => array(false, true),
+            'dev enabled, template hints disabled'  => array(true, false),
+        );
+    }
+
+    /**
+     * Setup fixture values for store config
+     *
+     * @param bool $showTemplateHints
+     * @param bool $showBlockHints
+     */
+    protected function _setupConfigFixture($showTemplateHints, $showBlockHints)
+    {
+        $this->_storeConfig->expects($this->atLeastOnce())->method('getConfig')->will($this->returnValueMap(array(
+            array(DebugHints::XML_PATH_DEBUG_TEMPLATE_HINTS, null, $showTemplateHints),
+            array(DebugHints::XML_PATH_DEBUG_TEMPLATE_HINTS_BLOCKS, null, $showBlockHints),
+        )));
+    }
+}
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/PoolTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/PoolTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..4c2bb471b901df986aa66ef9246501a08f25041e
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/PoolTest.php
@@ -0,0 +1,58 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+
+namespace Magento\Core\Model\TemplateEngine;
+
+class PoolTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var Pool
+     */
+    protected $_model;
+
+    /**
+     * @var\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_factory;
+
+    protected function setUp()
+    {
+        $this->_factory = $this->getMock('Magento\Core\Model\TemplateEngine\Factory', array(), array(), '', false);
+        $this->_model = new Pool($this->_factory);
+    }
+
+    public function testGet()
+    {
+        $engine = $this->getMock('Magento\Core\Model\TemplateEngine\EngineInterface');
+        $this->_factory
+            ->expects($this->once())
+            ->method('create')
+            ->with('test')
+            ->will($this->returnValue($engine))
+        ;
+        $this->assertSame($engine, $this->_model->get('test'));
+        // Make sure factory is invoked only once and the same instance is returned afterwards
+        $this->assertSame($engine, $this->_model->get('test'));
+    }
+}
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/CommonFunctionsTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/CommonFunctionsTest.php
deleted file mode 100644
index 06bdb9c4cfe3836f2b9d62fc6f8d09a5cf1ac6d2..0000000000000000000000000000000000000000
--- a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/CommonFunctionsTest.php
+++ /dev/null
@@ -1,220 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\TemplateEngine\Twig;
-
-class CommonFunctionsTest extends \PHPUnit_Framework_TestCase
-{
-    /** @var \Magento\Core\Model\TemplateEngine\Twig\CommonFunctions */
-    protected $_commonFunctions;
-
-    /** @var \PHPUnit_Framework_MockObject_MockObject */
-    protected $_urlBuilderMock;
-
-    /** @var \PHPUnit_Framework_MockObject_MockObject */
-    protected $_urlHelperMock;
-
-    /** @var \PHPUnit_Framework_MockObject_MockObject */
-    protected $_dataHelperMock;
-
-    /** @var \PHPUnit_Framework_MockObject_MockObject */
-    protected $_storeManagerMock;
-
-    /** @var \Magento\Core\Model\View\Url  */
-    protected $_viewUrl;
-
-    /** @var \Magento\Core\Model\View\Config   */
-    protected $_viewConfig;
-
-    /** @var \PHPUnit_Framework_MockObject_MockObject */
-    protected $_helperImageMock;
-
-    /** @var \PHPUnit_Framework_MockObject_MockObject */
-    protected $_loggerMock;
-
-    /** @var \Magento\Core\Model\LocaleInterface  */
-    protected $_localeMock;
-
-    protected function setUp()
-    {
-        $this->_urlBuilderMock = $this->getMock('Magento\Core\Model\UrlInterface');
-        $this->_urlHelperMock = $this->getMockBuilder('Magento\Core\Helper\Url')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $this->_dataHelperMock = $this->getMockBuilder('Magento\Core\Helper\Data')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $this->_storeManagerMock = $this->getMockBuilder('Magento\Core\Model\StoreManager')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $this->_viewUrl = $this->getMockBuilder('Magento\Core\Model\View\Url')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $this->_viewConfig = $this->getMockBuilder('Magento\Core\Model\View\Config')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $this->_helperImageMock = $this->getMockBuilder('Magento\Catalog\Helper\Image')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $this->_loggerMock = $this->getMockBuilder('Magento\Core\Model\Logger')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $this->_localeMock = $this->getMockBuilder('Magento\Core\Model\LocaleInterface')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $this->_commonFunctions = new \Magento\Core\Model\TemplateEngine\Twig\CommonFunctions(
-            $this->_urlBuilderMock,
-            $this->_urlHelperMock,
-            $this->_dataHelperMock,
-            $this->_storeManagerMock,
-            $this->_viewUrl,
-            $this->_viewConfig,
-            $this->_helperImageMock,
-            $this->_loggerMock,
-            $this->_localeMock
-        );
-    }
-
-    /**
-     * Test that the getFunctions return arrays of appropriate types
-     */
-    public function testGetFunctions()
-    {
-        /** @var array $functions */
-        $functions = $this->_commonFunctions->getFunctions();
-
-        $this->assertInternalType('array', $functions);
-        $this->assertTrue(count($functions) >= 1, 'Functions array does not contain any elements');
-        $this->assertContainsOnly('Twig_SimpleFunction', $functions, false,
-            'Contains something that is not a Twig function.');
-
-    }
-
-    /**
-     * Test getViewFileUrl happy path.
-     */
-    public function testGetViewFileUrl()
-    {
-        $themesUrl = "http://www.example.com/themes";
-
-        $this->_viewUrl->expects($this->once())
-            ->method('getViewFileUrl')
-            ->will($this->returnValue($themesUrl));
-
-        $actual = $this->_commonFunctions->getViewFileUrl('file');
-        $this->assertEquals($themesUrl, $actual, 'Themes url returned from getViewFileUrl did not match expected');
-    }
-
-    /**
-     * Test getViewFileUrl when model throws an exception
-     */
-    public function testGetViewFileUrlException()
-    {
-        $magentoException = new \Magento\Exception('test exception');
-        $notFoundUrl = 'not found';
-
-        $this->_viewUrl->expects($this->once())
-            ->method('getViewFileUrl')
-            ->will($this->throwException($magentoException));
-        $this->_loggerMock->expects($this->once())
-            ->method('logException')
-            ->with($this->equalTo($magentoException));
-        $this->_urlBuilderMock->expects($this->once())
-            ->method('getUrl')
-            ->will($this->returnValue($notFoundUrl));
-
-        $actual = $this->_commonFunctions->getViewFileUrl('file');
-        $this->assertEquals($notFoundUrl, $actual, 'Not Found url returned from getViewFileUrl did not match');
-    }
-
-    /**
-     * Data provider for testGetSelectFromToHtml.
-     *
-     * Provide varying ranges of 'from' and 'to' indexes along with the
-     * expected output array.
-     *
-     * @return array
-     */
-    public function getSelectFromToHtmlDataProvider()
-    {
-        return array(
-            array( 1, 2, array(
-                array('value' => '', 'label' => '-'),
-                array('value' => '1', 'label' => '01'),
-                array('value' => '2', 'label' => '02'))
-            ),
-            array( 8, 11, array(
-                array('value' => '', 'label' => '-'),
-                array('value' => '8', 'label' => '08'),
-                array('value' => '9', 'label' => '09'),
-                array('value' => '10', 'label' => '10'),
-                array('value' => '11', 'label' => '11'))
-            ),
-            array( 99, 101, array(
-                array('value' => '', 'label' => '-'),
-                array('value' => '99', 'label' => '99'),
-                array('value' => '100', 'label' => '100'),
-                array('value' => '101', 'label' => '101'))
-            )
-        );
-    }
-
-    /**
-     * @dataProvider getSelectFromToHtmlDataProvider
-     */
-    public function testGetSelectFromToHtml($fromNumber, $toNumber, $expectedOptions)
-    {
-        $selectBlockMock = $this->getMockBuilder('Magento\Core\Block\Html\Select')
-            ->disableOriginalConstructor()
-            ->getMock();;
-
-        $selectBlockMock->expects($this->once())
-            ->method('setOptions')
-            ->with($this->equalTo($expectedOptions))
-            ->will($this->returnValue($selectBlockMock));
-
-        $name = 'name';
-        $nameOptionsById = array('aliasA' => 'blockA');
-        $optionsId = 'options_id';
-        $this->_commonFunctions->getSelectFromToHtml($selectBlockMock,
-            $name, $fromNumber, $toNumber, $nameOptionsById, $optionsId );
-    }
-
-    public function testGetSelectHtml()
-    {
-        $selectBlockMock = $this->getMockBuilder('Magento\Core\Block\Html\Select')
-            ->disableOriginalConstructor()
-            ->getMock();;
-
-        $selectBlockMock->expects($this->once())
-            ->method('setOptions')
-            ->will($this->returnValue($selectBlockMock));
-
-        $optionId = 'anId';
-        $name = 'name';
-        $nameOptionsById = array('aliasA' => 'blockA');;
-        $this->_commonFunctions->getSelectHtml($selectBlockMock, $optionId, $name, $nameOptionsById );
-
-    }
-}
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/EnvironmentFactoryTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/EnvironmentFactoryTest.php
deleted file mode 100644
index c3b9bd65557bc5ec49d55ae53d4e510ff73a84f0..0000000000000000000000000000000000000000
--- a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/EnvironmentFactoryTest.php
+++ /dev/null
@@ -1,115 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\TemplateEngine\Twig;
-
-class EnvironmentFactoryTest extends \PHPUnit_Framework_TestCase
-{
-    /** @var \PHPUnit_Framework_MockObject_MockObject */
-    protected $_dirMock;
-
-    /** @var \PHPUnit_Framework_MockObject_MockObject */
-    private $_extension;
-    
-    /** @var \PHPUnit_Framework_MockObject_MockObject \Magento\Core\Model\TemplateEngine\Twig\FullFileName */
-    private $_loaderMock;
-
-    /** @var \PHPUnit_Framework_MockObject_MockObject \Magento\Filesystem */
-    private $_filesystem;
-    
-    /** @var \PHPUnit_Framework_MockObject_MockObject \Magento\Core\Model\Logger */
-    private $_loggerMock;
-    
-    /**
-     * Validate \Twig_Environment returned on call
-     */
-    public function testCreatePositive()
-    {
-        $this->_filesystem->expects($this->any())
-            ->method('createDirectory')
-            ->will($this->returnValue(null));
-        
-        $inst = new \Magento\Core\Model\TemplateEngine\Twig\EnvironmentFactory(
-            $this->_filesystem,
-            $this->_extension,
-            $this->_dirMock,
-            $this->_loggerMock,
-            $this->_loaderMock
-        );
-        /**
-         * @var \Twig_Environment $factoryInst
-         */
-        $factoryInst = $inst->create();
-        $this->assertInstanceOf('Twig_Environment', $factoryInst);
-    }
-
-    /**
-     * Validate \Twig_Environment returned on call even though directory not created
-     */
-    public function testCreateNegative()
-    {
-        $this->_filesystem->expects($this->any())
-            ->method('createDirectory')
-            ->will($this->throwException(new \Magento\Filesystem\FilesystemException()));
-    
-        $inst = new \Magento\Core\Model\TemplateEngine\Twig\EnvironmentFactory(
-            $this->_filesystem,
-            $this->_extension,
-            $this->_dirMock,
-            $this->_loggerMock,
-            $this->_loaderMock
-        );
-        /**
-         * @var \Twig_Environment $factoryInst
-        */
-        $factoryInst = $inst->create();
-        $this->assertInstanceOf('Twig_Environment', $factoryInst);
-    }
-    
-    protected function setUp()
-    {
-        $this->_filesystem = $this->getMockBuilder('Magento\Filesystem')
-            ->disableOriginalConstructor()
-            ->getMock();
-                
-        $this->_dirMock = $this->getMockBuilder('Magento\Core\Model\Dir')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $this->_loaderMock = $this->getMockBuilder('Magento\Core\Model\TemplateEngine\Twig\FullFileName')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $this->_extensionFactory = $this->getMockBuilder('Magento\Core\Model\TemplateEngine\Twig\ExtensionFactory')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $this->_extension = $this->getMockBuilder('Magento\Core\Model\TemplateEngine\Twig\Extension')
-            ->disableOriginalConstructor()
-            ->getMock();
-        
-        $this->_loggerMock = $this->getMockBuilder('Magento\Core\Model\Logger')
-            ->disableOriginalConstructor()
-            ->getMock();
-    }
-}
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/ExtensionTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/ExtensionTest.php
deleted file mode 100644
index 146e894dd59d10c4caa32590ad931981cad5fafb..0000000000000000000000000000000000000000
--- a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/ExtensionTest.php
+++ /dev/null
@@ -1,113 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\TemplateEngine\Twig;
-
-class ExtensionTest extends \PHPUnit_Framework_TestCase
-{
-    /** @var \Magento\Core\Model\TemplateEngine\Twig\Extension */
-    protected $_extension;
-
-    /** @var \PHPUnit_Framework_MockObject_MockObject  */
-    protected $_commonFunctionsMock;
-
-    /** @var  \PHPUnit_Framework_MockObject_MockObject */
-    protected $_layoutFunctionsMock;
-
-    /** @var  \PHPUnit_Framework_MockObject_MockObject */
-    protected $_blockTrackerMock;
-
-    protected function setUp()
-    {
-        $this->_blockTrackerMock = $this->getMockBuilder('Magento\Core\Model\TemplateEngine\BlockTrackerInterface')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $this->_commonFunctionsMock = $this->getMockBuilder('Magento\Core\Model\TemplateEngine\Twig\CommonFunctions')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $this->_layoutFunctionsMock = $this->getMockBuilder('Magento\Core\Model\TemplateEngine\Twig\LayoutFunctions')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $this->_extension = new \Magento\Core\Model\TemplateEngine\Twig\Extension(
-            $this->_commonFunctionsMock,
-            $this->_layoutFunctionsMock
-        );
-        $this->_extension->setBlockTracker($this->_blockTrackerMock);
-    }
-
-    /**
-     * Verify getName always returns 'Magento'
-     */
-    public function testGetName()
-    {
-        $this->assertSame('Magento', $this->_extension->getName(), 'Name should be Magento');
-    }
-
-    /**
-     * Test that the getFunctions and getFilters return arrays of appropriate types
-     */
-    public function testGetFunctionsAndFilters()
-    {
-        $layoutFunc = array($this->getMockBuilder('Twig_SimpleFunction')->disableOriginalConstructor()->getMock());
-        $commonFunc = array($this->getMockBuilder('Twig_SimpleFunction')->disableOriginalConstructor()->getMock());
-        $expectedFunctions = array_merge($commonFunc, $layoutFunc);
-
-        $this->_layoutFunctionsMock->expects($this->once())
-            ->method('getFunctions')
-            ->will($this->returnValue($layoutFunc));
-        $this->_commonFunctionsMock->expects($this->once())
-            ->method('getFunctions')
-            ->will($this->returnValue($commonFunc));
-
-        /** @var array $functions */
-        $functions = $this->_extension->getFunctions();
-
-        $this->assertInternalType('array', $functions);
-        $this->assertTrue(count($functions) >= 1, 'Functions array does not contain any elements');
-        $this->assertContainsOnly('Twig_SimpleFunction', $functions, false,
-            'Contains something that is not a Twig function.');
-        $this->assertEquals($expectedFunctions, $functions);
-
-        /** @var array $filters */
-        $filters = $this->_extension->getFilters();
-
-        $this->assertInternalType('array', $filters);
-        $this->assertTrue(count($filters) >= 1, 'Filters array does not contain any elements');
-        $this->assertContainsOnly('Twig_SimpleFilter', $filters, false,
-            'Contains something that is not a Twig filter.');
-    }
-
-    /**
-     * Test __ (translate) function
-     */
-    public function testTranslate()
-    {
-        $translated = 'Good day';
-
-        $actual = $this->_extension->translate('Good day');
-        $this->assertEquals($translated, (string)$actual, 'Translation did not work');
-    }
-}
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/FullFileNameTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/FullFileNameTest.php
deleted file mode 100644
index b498417516bcf6f26cbf4c28727644981d4b7ab7..0000000000000000000000000000000000000000
--- a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/FullFileNameTest.php
+++ /dev/null
@@ -1,151 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\TemplateEngine\Twig;
-
-class FullFileNameTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var int
-     */
-    private $_prevErrorLevel;
-
-    /**
-     * @var bool
-     */
-    private $_prevFrameworkWarningEnabled;
-
-    /**
-     * @var bool
-     */
-    private $_prevFrameworkNoticeEnabled;
-
-    /** 
-     * @var \PHPUnit_Framework_MockObject_MockObject \Magento\Core\Model\App\State
-     */
-    private $_appStateMock;
-
-    protected function setUp()
-    {
-        // prevent PHPUnit from converting real code exceptions
-        $this->_prevErrorLevel = error_reporting();
-        error_reporting(0);
-        $this->_prevFrameworkNoticeEnabled = \PHPUnit_Framework_Error_Notice::$enabled;
-        \PHPUnit_Framework_Error_Notice::$enabled = false;
-        $this->_prevFrameworkWarningEnabled = \PHPUnit_Framework_Error_Warning::$enabled;
-        \PHPUnit_Framework_Error_Warning::$enabled = false;
-        
-        $this->_appStateMock = $this->getMockBuilder('Magento\Core\Model\App\State')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        // set to return developer mode by default
-        $this->_appStateMock
-            ->expects($this->any())
-            ->method('getMode')
-            ->will($this->returnValue(\Magento\Core\Model\App\State::MODE_DEVELOPER));
-    }
-
-    protected function tearDown()
-    {
-        error_reporting($this->_prevErrorLevel);
-        \PHPUnit_Framework_Error_Warning::$enabled = $this->_prevFrameworkWarningEnabled;
-        \PHPUnit_Framework_Error_Notice::$enabled = $this->_prevFrameworkNoticeEnabled;
-    }
-
-    public function testFileExistencePositive()
-    {
-        $loader = new \Magento\Core\Model\TemplateEngine\Twig\FullFileName($this->_appStateMock);
-        
-        $this->assertNotNull($loader->getSource(__FILE__));
-    }
-
-    /**
-     * @expectedException \Twig_Error_Loader
-     */
-    public function testFileExistenceNegative()
-    {
-        $loader = new \Magento\Core\Model\TemplateEngine\Twig\FullFileName($this->_appStateMock);
-        $loader->getSource(__FILE__ . 'jnk');
-    }
-
-    public function testGetCacheKey()
-    {
-        $loader = new \Magento\Core\Model\TemplateEngine\Twig\FullFileName($this->_appStateMock);
-
-        $keyActual = "SomeKey";
-        $keyExpected = $loader->getCacheKey($keyActual);
-
-        $this->assertEquals($keyActual, $keyExpected);
-    }
-
-    public function testExists()
-    {
-        $loader = new \Magento\Core\Model\TemplateEngine\Twig\FullFileName($this->_appStateMock);
-
-        $exists = $loader->exists(__FILE__);
-        $this->assertEquals($exists, true);
-    }
-
-    public function testExistsBadFile()
-    {
-        $loader = new \Magento\Core\Model\TemplateEngine\Twig\FullFileName($this->_appStateMock);
-
-        $name = 'bad-file';
-        $exists = $loader->exists($name);
-        $this->assertEquals($exists, false);
-    }
-
-    public function testIsFreshPositive()
-    {
-        $loader = new \Magento\Core\Model\TemplateEngine\Twig\FullFileName($this->_appStateMock);
-
-        $this->assertEquals(true, $loader->isFresh(__FILE__, PHP_INT_MAX));
-        $this->assertEquals(false, $loader->isFresh(__FILE__, 0));
-    }
-
-    /**
-     * @expectedException \Twig_Error_Loader
-     */
-    public function testIsFreshNegative()
-    {
-        $loader = new \Magento\Core\Model\TemplateEngine\Twig\FullFileName($this->_appStateMock);
-
-        $this->assertEquals(false, $loader->isFresh('bad-file', 0));
-    }
-
-    public function testIsFreshAppModes() 
-    {
-        // set to return production mode
-        $productionStateMock = $this->getMockBuilder('Magento\Core\Model\App\State')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $productionStateMock->expects($this->any())
-            ->method('getMode')
-            ->will($this->returnValue(\Magento\Core\Model\App\State::MODE_PRODUCTION));
-        $loader = new \Magento\Core\Model\TemplateEngine\Twig\FullFileName($productionStateMock);
-
-        // in production mode, even a bad file will return as fresh
-        $this->assertEquals(true, $loader->isFresh('bad-file', 0));
-    }
-}
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/LayoutFunctionsTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/LayoutFunctionsTest.php
deleted file mode 100644
index 5c2e25ffc2ce030c7076391eb20fce6c05f347ac..0000000000000000000000000000000000000000
--- a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/LayoutFunctionsTest.php
+++ /dev/null
@@ -1,214 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\TemplateEngine\Twig;
-
-class LayoutFunctionsTest extends \PHPUnit_Framework_TestCase
-{
-    /** @var \Magento\Core\Model\TemplateEngine\Twig\LayoutFunctions */
-    protected $_layoutFunctions;
-
-    /** @var \PHPUnit_Framework_MockObject_MockObject */
-    protected $_layoutMock;
-
-    /** @var \PHPUnit_Framework_MockObject_MockObject  */
-    protected $_blockTrackerMock;
-
-    protected function setUp()
-    {
-        $this->_layoutMock = $this->getMockBuilder('Magento\Core\Model\Layout')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $this->_blockTrackerMock = $this->getMockBuilder('Magento\Core\Model\TemplateEngine\BlockTrackerInterface')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $this->_layoutFunctions = new \Magento\Core\Model\TemplateEngine\Twig\LayoutFunctions(
-            $this->_layoutMock
-        );
-        $this->_layoutFunctions->setBlockTracker($this->_blockTrackerMock);
-    }
-
-    /**
-     * Test that the getFunctions return arrays of appropriate types
-     */
-    public function testGetFunctions()
-    {
-        /** @var array $functions */
-        $functions = $this->_layoutFunctions->getFunctions();
-
-        $this->assertInternalType('array', $functions);
-        $this->assertTrue(count($functions) >= 1, 'Functions array does not contain any elements');
-        $this->assertContainsOnly('Twig_SimpleFunction', $functions, false,
-            'Contains something that is not a Twig function.');
-    }
-
-    /**
-     * Tests getChildHtml
-     *
-     * Sets childBlock to be a child of parentBlock.
-     * Sets parentBlock to be the current block.
-     * Then when getChildHtml is returned it should return html from childBlock
-     */
-    public function testGetChildHtml()
-    {
-        $childBlockHtml = '<p>block mock B</p>';
-
-        $parentBlockMock = $this->getMockBuilder('Magento\Core\Block\Template')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $parentBlockMock->expects($this->any())
-            ->method('getNameInLayout')
-            ->will($this->returnValue('parentBlockMock'));
-
-        $this->_layoutMock->expects($this->once())
-            ->method('getChildNames')->with($this->equalTo('parentBlockMock'))
-            ->will($this->returnValue(array('childBlockMock')));
-
-        $this->_layoutMock->expects($this->once())
-            ->method('renderElement')
-            ->with($this->equalTo('childBlockMock'), $this->equalTo(true))
-            ->will($this->returnValue($childBlockHtml));
-
-        // Set the current block to blockA and get the child's html
-        $this->_blockTrackerMock->expects($this->once())
-            ->method('getCurrentBlock')
-            ->will($this->returnValue($parentBlockMock));
-
-        $actual = $this->_layoutFunctions->getChildHtml();
-
-        $this->assertEquals($childBlockHtml, $actual, 'actual child html did not match expected');
-    }
-
-    /**
-     * Tests setCurrentBlock, and getChildHtml.
-     *
-     * Sets childBock to be a child of parentBlock.
-     * Sets parentBlock to be the current block.
-     * Then when getChildHtml is returned it should return html from childBlock
-     */
-    public function testRenderBlockWithAlias()
-    {
-        $childBlockHtml = '<p>child block mock</p>';
-
-        $parentBlockMock = $this->getMockBuilder('Magento\Core\Block\Template')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $parentBlockMock->expects($this->any())
-            ->method('getNameInLayout')
-            ->will($this->returnValue('parentBlockMock'));
-
-        $this->_layoutMock->expects($this->once())
-            ->method('getChildName')
-            ->with($this->equalTo('parentBlockMock'), $this->equalTo('anAlias'))
-            ->will($this->returnValue('childBlockMock'));
-
-        $this->_layoutMock->expects($this->once())
-            ->method('renderElement')
-            ->with($this->equalTo('childBlockMock'), $this->equalTo(true))
-            ->will($this->returnValue($childBlockHtml));
-
-        $actual = $this->_layoutFunctions->renderBlock('parentBlockMock', 'anAlias');
-
-        $this->assertEquals($childBlockHtml, $actual, 'actual child html did not match expected');
-    }
-
-    /**
-     * test getBlockData with and without the block in the layout
-     */
-    public function testGetBlockData()
-    {
-        $key = 'aKey';
-        $someData = 'this is some data';
-
-        $blockMock = $this->getMockBuilder('Magento\Core\Block\Template')
-            ->disableOriginalConstructor()
-            ->getMock();;
-        $blockMock->expects($this->any())
-            ->method('getData')
-            ->with($this->equalTo($key))
-            ->will($this->returnValue($someData));
-
-        $map = array(
-            array('datalessBlock', NULL),
-            array('dataBlock', $blockMock)
-        );
-
-        $this->_layoutMock->expects($this->any())
-            ->method('getBlock')
-            ->will($this->returnValueMap($map));
-
-        $actual = $this->_layoutFunctions->getBlockData('datalessBlock');
-        $this->assertNull($actual, 'datalessBlock should have returned null');
-        $actual = $this->_layoutFunctions->getBlockData('dataBlock', $key);
-        $this->assertEquals($someData, $actual, 'dataBlock did not return expected data');
-    }
-
-    /**
-     * Test getBlockNameByAlias
-     *
-     * Do with mock layout returning a valid name and without
-     */
-    public function testGetBlockNameByAlias()
-    {
-        $parentName = 'ParentName';
-        $goodAlias = 'anAlias';
-        $badAlias = 'hasNoName';
-        $name = 'aName';
-
-        $this->_layoutMock->expects($this->at(0))
-            ->method('getChildName')
-            ->with($this->equalTo($parentName), $this->equalTo($goodAlias))
-            ->will($this->returnValue($name));
-
-        $this->_layoutMock->expects($this->at(1))
-            ->method('getChildName')
-            ->with($this->equalTo($parentName), $this->equalTo($badAlias))
-            ->will($this->returnValue(false));
-
-        $actual = $this->_layoutFunctions->getBlockNameByAlias($parentName, $goodAlias);
-        $this->assertEquals($name, $actual, 'dataBlock did not return expected data');
-        $actual = $this->_layoutFunctions->getBlockNameByAlias($parentName, $badAlias);
-        $this->assertEquals('', $actual, 'datalessBlock should have returned empty string');
-    }
-
-    /**
-     * Test getGroupChildNames
-     */
-    public function testGetGroupChildNames()
-    {
-        $parentName = 'ParentName';
-        $groupName = 'GroupName';
-        $aliasArray = array('aliasA' => 'blockA');
-
-        $this->_layoutMock->expects($this->once())
-            ->method('getGroupChildNames')
-            ->with($this->equalTo($parentName), $this->equalTo($groupName))
-            ->will($this->returnValue($aliasArray));
-
-        $actual = $this->_layoutFunctions->getGroupChildNames($parentName, $groupName);
-        $this->assertEquals($aliasArray, $actual, 'getGroupChildNames did not return expected aliasArray');
-    }
-
-
-}
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/_files/twig_templates/READEME.txt b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/_files/twig_templates/READEME.txt
deleted file mode 100644
index 2b6778c2f5005b02909670a39e5dd95a21960ccd..0000000000000000000000000000000000000000
--- a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/Twig/_files/twig_templates/READEME.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-This file exists for unit testing purposes.  The code uses core php directory functions which cannot be mocked.
-Thereby the twig_templates directory exists for this reason.
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/TwigTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/TwigTest.php
deleted file mode 100644
index 9b0c4e7e753fa8054b65426ede883e381d705a80..0000000000000000000000000000000000000000
--- a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateEngine/TwigTest.php
+++ /dev/null
@@ -1,100 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Core\Model\TemplateEngine;
-
-class TwigTest extends \PHPUnit_Framework_TestCase
-{
-    /** @var  \Magento\Core\Model\TemplateEngine\Twig */
-    protected $_twigEngine;
-
-    /** @var  \PHPUnit_Framework_MockObject_MockObject \Magento\Core\Model\TemplateEngine_EnvironmentFactory */
-    protected $_envFactoryMock;
-
-    /** @var \PHPUnit_Framework_MockObject_MockObject */
-    private $_extMock;
-
-    /**
-     * Create a Twig template engine to test.
-     */
-    protected function setUp()
-    {
-        // Objects that are injected into \Magento\Core\Model\TemplateEngine\Twig
-        $this->_envFactoryMock = $this->getMockBuilder('Magento\Core\Model\TemplateEngine\Twig\EnvironmentFactory')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $this->_extMock = $this->getMockBuilder('Magento\Core\Model\TemplateEngine\Twig\Extension')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $this->_twigEngine
-            = new \Magento\Core\Model\TemplateEngine\Twig($this->_envFactoryMock, $this->_extMock);
-    }
-
-    /**
-     * Test the render() function with a very simple .twig file.
-     */
-    public function testRenderPositive()
-    {
-        $renderedOutput = '<html></html>';
-        $blockMock = $this->getMockBuilder('Magento\Core\Block\Template')
-            ->disableOriginalConstructor()->getMock();
-        $environmentMock = $this->getMockBuilder('Twig_Environment')->disableOriginalConstructor()->getMock();
-        $environmentMock->expects($this->once())->method('render')->will($this->returnValue($renderedOutput));
-        $this->_envFactoryMock->expects($this->once())->method('create')->will(
-            $this->returnValue($environmentMock)
-        );
-        $actualOutput = $this->_twigEngine->render($blockMock, '');
-        $this->assertSame($renderedOutput, $actualOutput, 'Twig file did not render properly');
-    }
-
-    /**
-     * Test the render() function such that it throws an exception
-     * 
-     * @expectedException \Magento\Exception
-     */    
-    public function testRenderNegative() 
-    {
-        $blockMock = $this->getMockBuilder('Magento\Core\Block\Template')
-        ->disableOriginalConstructor()->getMock();
-        $environmentMock = $this->getMockBuilder('Twig_Environment')
-            ->disableOriginalConstructor()->getMock();
-        $environmentMock->expects($this->once())
-            ->method('render')
-            ->will($this->throwException(new \Magento\Exception()));
-        $this->_envFactoryMock->expects($this->once())->method('create')->will(
-                $this->returnValue($environmentMock)
-        );
-        $this->_twigEngine->render($blockMock, '');
-    }
-    
-    /**
-     * Test the getCurrentBlock function.
-     *
-     * Since its set/reset during render(), make sure it does not return anything when empty.
-     */
-    public function testGetCurrentBlock()
-    {
-        $block = $this->_twigEngine->getCurrentBlock();
-        $this->assertNull($block);
-    }
-}
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateTest.php
index 0f50e4f16b772e0d8d7c2e95707511eb1cb9e24d..6faa9a26385a931d67ba990aa71199b6af345f73 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/TemplateTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/TemplateTest.php
@@ -47,7 +47,7 @@ class TemplateTest extends \PHPUnit_Framework_TestCase
             $helper->getConstructArguments(
                 'Magento\Core\Model\Template',
                 array(
-                    'design' => $this->getMock('Magento\Core\Model\View\DesignInterface'),
+                    'design' => $this->getMock('Magento\View\DesignInterface'),
                     'data' => array(
                         'area' => \Magento\Core\Model\App\Area::AREA_FRONTEND,
                         'store' => 1
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Theme/CopyServiceTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Theme/CopyServiceTest.php
index 307e381026fbf1e544384cb5f5171b31aa60440d..4940b63e82352ed2705d20e489fada338ddead9f 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Theme/CopyServiceTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Theme/CopyServiceTest.php
@@ -169,7 +169,7 @@ class CopyServiceTest extends \PHPUnit_Framework_TestCase
             array('addThemeFilter', 'getIterator'), array(), '', false);
         $this->_link->expects($this->any())->method('getCollection')->will($this->returnValue($this->_linkCollection));
 
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array('dispatch'), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array('dispatch'), array(), '', false);
 
         $this->_object = new \Magento\Core\Model\Theme\CopyService(
             $this->_filesystem,
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Theme/Customization/PathTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Theme/Customization/PathTest.php
index a59ccb9d48054f93027445d81dbca74dec469cba..0daccfaaadcd0c1f888b331912a7d8914496e549 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Theme/Customization/PathTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Theme/Customization/PathTest.php
@@ -50,7 +50,7 @@ class PathTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_theme = $this->getMock('Magento\Core\Model\Theme', null, array(), '', false);
-        $this->_dir = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $this->_dir = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $this->_model = new \Magento\Core\Model\Theme\Customization\Path($this->_dir);
     }
 
@@ -67,7 +67,7 @@ class PathTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetCustomizationPath()
     {
-        $this->_dir->expects($this->once())->method('getDir')->with(\Magento\Core\Model\Dir::MEDIA)
+        $this->_dir->expects($this->once())->method('getDir')->with(\Magento\App\Dir::MEDIA)
             ->will($this->returnValue('/media_dir'));
         $expectedPath = implode(
             DIRECTORY_SEPARATOR,
@@ -83,7 +83,7 @@ class PathTest extends \PHPUnit_Framework_TestCase
     public function testGetThemeFilesPath()
     {
         $this->_theme->setArea('area51');
-        $this->_dir->expects($this->once())->method('getDir')->with(\Magento\Core\Model\Dir::THEMES)
+        $this->_dir->expects($this->once())->method('getDir')->with(\Magento\App\Dir::THEMES)
             ->will($this->returnValue('/themes_dir'));
         $expectedPath = implode(
             \Magento\Filesystem::DIRECTORY_SEPARATOR,
@@ -101,7 +101,7 @@ class PathTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetCustomViewConfigPath()
     {
-        $this->_dir->expects($this->once())->method('getDir')->with(\Magento\Core\Model\Dir::MEDIA)
+        $this->_dir->expects($this->once())->method('getDir')->with(\Magento\App\Dir::MEDIA)
             ->will($this->returnValue('/media_dir'));
         $expectedPath = implode(
             DIRECTORY_SEPARATOR,
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Theme/Domain/PhysicalTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Theme/Domain/PhysicalTest.php
index d137e9f24c5359be639058e7c9edd03aea03d84a..5f325c4074ce4c16a80a0ded4bf386d530a3f6e9 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Theme/Domain/PhysicalTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Theme/Domain/PhysicalTest.php
@@ -89,7 +89,7 @@ class PhysicalTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue(1));
 
         $domainModel = new \Magento\Core\Model\Theme\Domain\Physical(
-            $this->getMock('Magento\Core\Model\Theme', array(), array(), '', false, false),
+            $this->getMock('Magento\View\Design\ThemeInterface', array(), array(), '', false, false),
             $themeFactory,
             $copyService,
             $themeCollection
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Theme/Image/PathTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/Theme/Image/PathTest.php
index 5f32cbd88072a3c15463b2b7a1ae8a94862c502b..f1a61dca10ff5101315a5c12f7cc1c89a0c2d559 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Theme/Image/PathTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/Theme/Image/PathTest.php
@@ -54,11 +54,11 @@ class PathTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_dirMock = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $this->_dirMock = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $this->_viewUrlMock = $this->getMock('Magento\Core\Model\View\Url', array(), array(), '', false);
         $this->_storeManagerMock = $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false);
 
-        $this->_dirMock->expects($this->any())->method('getDir')->with(\Magento\Core\Model\Dir::MEDIA)
+        $this->_dirMock->expects($this->any())->method('getDir')->with(\Magento\App\Dir::MEDIA)
             ->will($this->returnValue('/media'));
 
         $this->_model = new \Magento\Core\Model\Theme\Image\Path(
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/UrlTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/UrlTest.php
index 510805f8c9208b0b4436c54c3c61a4467800da2c..6388dd0cc7bf0e4d2bb0c654d15f94651d8f25c3 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/UrlTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/UrlTest.php
@@ -37,19 +37,13 @@ class UrlTest extends \PHPUnit_Framework_TestCase
      */
     protected $_model;
 
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject
-     */
-    protected $_securityInfoMock;
-
     protected function setUp()
     {
-        $coreStoreConfig = $this->getMock('Magento\Core\Model\Store\Config', array(), array(), '', false);
-        
-        $this->_securityInfoMock = $this->getMock('Magento\Core\Model\Url\SecurityInfoInterface');
         $this->_model = new \Magento\Core\Model\Url(
-            $this->_securityInfoMock,
-            $coreStoreConfig,
+            $this->getMock('Magento\App\RouterListInterface'),
+            $this->getMock('Magento\App\Request\Http', array(), array(), '', false),
+            $this->getMock('Magento\Core\Model\Url\SecurityInfoInterface'),
+            $this->getMock('Magento\Core\Model\Store\Config', array(), array(), '', false),
             $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false, false),
             $this->getMock('Magento\Core\Model\App', array(), array(), '', false, false),
             $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false, false),
@@ -85,9 +79,8 @@ class UrlTest extends \PHPUnit_Framework_TestCase
         $controllerName = 'controllerName';
         $actionName = 'actionName';
 
-        $backendData = $this->getMock('Magento\Backend\Helper\Data', array(), array(), '', false);
-        $requestMock = $this->getMockForAbstractClass('Magento\Core\Controller\Request\Http',
-            array($backendData), '', false, false, true,
+        $requestMock = $this->getMockForAbstractClass('Magento\App\Request\Http',
+            array(), '', false, false, true,
             array('getRequestedRouteName', 'getRequestedControllerName', 'getRequestedActionName'));
 
         $requestMock->expects($this->once())->method('getRequestedRouteName')
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/View/Design/ProxyTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/View/Design/ProxyTest.php
index 61fcf4cabac1fb71b88bc6ed0c20bf4c04599401..8fdabac5f1ea9c030112451ceb2f845e3f93b90b 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/View/Design/ProxyTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/View/Design/ProxyTest.php
@@ -37,14 +37,14 @@ class ProxyTest extends \PHPUnit_Framework_TestCase
     protected $_objectManager;
 
     /**
-     * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Core\Model\View\DesignInterface
+     * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\View\DesignInterface
      */
     protected $_viewDesign;
 
     protected function setUp()
     {
         $this->_objectManager = $this->getMock('Magento\ObjectManager');
-        $this->_viewDesign = $this->getMock('Magento\Core\Model\View\DesignInterface');
+        $this->_viewDesign = $this->getMock('Magento\View\DesignInterface');
         $this->_objectManager->expects($this->once())
             ->method('get')
             ->with('Magento\Core\Model\View\Design')
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/View/FileSystemTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/View/FileSystemTest.php
index f8560b51a677a7da4b7ecf2e4aa4ac8bda2cedd6..a0b161bb7c7a850ac7e18c7ab472d3c02913e84e 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/View/FileSystemTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/View/FileSystemTest.php
@@ -64,7 +64,7 @@ class FileSystemTest extends \PHPUnit_Framework_TestCase
     {
         $params = array(
             'area'       => 'some_area',
-            'themeModel' => $this->getMock('Magento\Core\Model\Theme', array(), array(), '', false, false),
+            'themeModel' => $this->getMock('Magento\View\Design\ThemeInterface', array(), array(), '', false, false),
             'module'     => 'Some_Module'   //It should be set in \Magento\Core\Model\View\Service::extractScope
                                             // but PHPUnit has problems with passing arguments by reference
         );
@@ -95,7 +95,7 @@ class FileSystemTest extends \PHPUnit_Framework_TestCase
     {
         $params = array(
             'area' => 'some_area',
-            'themeModel' => $this->getMock('Magento\Core\Model\Theme', array(), array(), '', false, false),
+            'themeModel' => $this->getMock('Magento\View\Design\ThemeInterface', array(), array(), '', false, false),
             'locale' => 'some_locale'
         );
         $file = 'some_file.ext';
@@ -120,7 +120,7 @@ class FileSystemTest extends \PHPUnit_Framework_TestCase
     {
         $params = array(
             'area'       => 'some_area',
-            'themeModel' => $this->getMock('Magento\Core\Model\Theme', array(), array(), '', false, false),
+            'themeModel' => $this->getMock('Magento\View\Design\ThemeInterface', array(), array(), '', false, false),
             'locale'     => 'some_locale',
             'module'     => 'Some_Module'   //It should be set in \Magento\Core\Model\View\Service::extractScope
                                             // but PHPUnit has problems with passing arguments by reference
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/View/UrlTest.php b/dev/tests/unit/testsuite/Magento/Core/Model/View/UrlTest.php
index 9305be1c63519f89e1115f21c6bdfcc6aa8af24f..8d0460a6f0807fda64f700f74e41178b99c618c1 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/View/UrlTest.php
+++ b/dev/tests/unit/testsuite/Magento/Core/Model/View/UrlTest.php
@@ -30,7 +30,7 @@ namespace Magento\Core\Model\View;
 class UrlTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @param \Magento\Core\Model\Theme $themeModel
+     * @param \Magento\View\Design\ThemeInterface $themeModel
      * @dataProvider getViewFileUrlProductionModeDataProvider
      */
     public function testGetViewFileUrlProductionMode($themeModel)
@@ -54,8 +54,8 @@ class UrlTest extends \PHPUnit_Framework_TestCase
             ->method('copy');
 
         // 2. Get directories configuration
-        /** @var $dirs \Magento\Core\Model\Dir|PHPUnit_Framework_MockObject_MockObject */
-        $dirs = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        /** @var $dirs \Magento\App\Dir|PHPUnit_Framework_MockObject_MockObject */
+        $dirs = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $dirs->expects($this->any())
             ->method('getDir')
             ->will($this->returnValue('some_dir'));
@@ -125,7 +125,7 @@ class UrlTest extends \PHPUnit_Framework_TestCase
     public static function getViewFileUrlProductionModeDataProvider()
     {
         $usualTheme = \PHPUnit_Framework_MockObject_Generator::getMock(
-            'Magento\Core\Model\Theme',
+            'Magento\View\Design\ThemeInterface',
             array(),
             array(),
             '',
diff --git a/dev/tests/unit/testsuite/Magento/Cron/Model/ObserverTest.php b/dev/tests/unit/testsuite/Magento/Cron/Model/ObserverTest.php
index 68d3e116144361cb38eedb778b781384b19869dd..f4fcbf3a320ce48b3f220ee5947405d854ef50d6 100644
--- a/dev/tests/unit/testsuite/Magento/Cron/Model/ObserverTest.php
+++ b/dev/tests/unit/testsuite/Magento/Cron/Model/ObserverTest.php
@@ -75,9 +75,8 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
         $this->_coreStoreConfig = $this->getMockBuilder('Magento\Core\Model\Store\Config')
             ->disableOriginalConstructor()
             ->getMock();
-
         $this->_collection = $this->getMockBuilder('Magento\Cron\Model\Resource\Schedule\Collection')
-            ->setMethods(array('addFieldToFilter', 'load'))
+            ->setMethods(array('addFieldToFilter', 'load', '__wakeup'))
             ->disableOriginalConstructor()
             ->getMock();
         $this->_collection->expects($this->any())
@@ -134,10 +133,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
             ->method('getConfig')
             ->will($this->returnValue(0));
 
-        $schedule = $this->getMockBuilder('Magento\Cron\Model\Schedule')
-            ->setMethods(array('getJobCode'))
-            ->disableOriginalConstructor()
-            ->getMock();
+        $schedule = $this->getMock('Magento\Cron\Model\Schedule', array('getJobCode', '__wakeup'), array(), '', false);
         $schedule->expects($this->once())
             ->method('getJobCode')
             ->will($this->returnValue('not_existed_job_code'));
@@ -174,7 +170,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue(0));
 
         $schedule = $this->getMockBuilder('Magento\Cron\Model\Schedule')
-            ->setMethods(array('getJobCode', 'tryLockJob', 'getScheduledAt'))
+            ->setMethods(array('getJobCode', 'tryLockJob', 'getScheduledAt', '__wakeup'))
             ->disableOriginalConstructor()
             ->getMock();
         $schedule->expects($this->any())
@@ -222,7 +218,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
 
         $schedule = $this->getMockBuilder('Magento\Cron\Model\Schedule')
             ->setMethods(
-                array('getJobCode', 'tryLockJob', 'getScheduledAt', 'save', 'setStatus', 'setMessages')
+                array('getJobCode', 'tryLockJob', 'getScheduledAt', 'save', 'setStatus', 'setMessages', '__wakeup')
             )
             ->disableOriginalConstructor()
             ->getMock();
@@ -272,7 +268,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
 
         $schedule = $this->getMockBuilder('Magento\Cron\Model\Schedule')
             ->setMethods(
-                array('getJobCode', 'tryLockJob', 'getScheduledAt', 'save', 'setStatus', 'setMessages')
+                array('getJobCode', 'tryLockJob', 'getScheduledAt', 'save', 'setStatus', 'setMessages', '__wakeup')
             )
             ->disableOriginalConstructor()
             ->getMock();
@@ -337,7 +333,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
 
         $schedule = $this->getMockBuilder('Magento\Cron\Model\Schedule')
             ->setMethods(
-                array('getJobCode', 'tryLockJob', 'getScheduledAt', 'save', 'setStatus', 'setMessages')
+                array('getJobCode', 'tryLockJob', 'getScheduledAt', 'save', 'setStatus', 'setMessages', '__wakeup')
             )
             ->disableOriginalConstructor()
             ->getMock();
@@ -413,7 +409,8 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
             'setStatus',
             'setMessages',
             'setExecutedAt',
-            'setFinishedAt'
+            'setFinishedAt',
+            '__wakeup',
         );
         $schedule = $this->getMockBuilder('Magento\Cron\Model\Schedule')
             ->setMethods($scheduleMethods)
@@ -507,7 +504,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue(0));
 
         $schedule = $this->getMockBuilder('Magento\Cron\Model\Schedule')
-            ->setMethods(array('getJobCode', 'getScheduledAt'))
+            ->setMethods(array('getJobCode', 'getScheduledAt', '__wakeup'))
             ->disableOriginalConstructor()
             ->getMock();
         $schedule->expects($this->any())
@@ -578,7 +575,8 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
             'setStatus',
             'trySchedule',
             'unsScheduleId',
-            'save'
+            'save',
+            '__wakeup'
         );
         $schedule = $this->getMockBuilder('Magento\Cron\Model\Schedule')
             ->setMethods($scheduleMethods)
@@ -604,7 +602,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
 
         $scheduleMock = $this->getMockBuilder('Magento\Cron\Model\Schedule')
             ->disableOriginalConstructor()
-            ->setMethods(array('getCollection'))
+            ->setMethods(array('getCollection', '__wakeup'))
             ->getMock();
         $scheduleMock->expects($this->any())->method('getCollection')->will($this->returnValue($this->_collection));
         $this->_objectManager->expects($this->any())
@@ -622,7 +620,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
     {
         $schedule = $this->getMockBuilder('Magento\Cron\Model\Schedule')
             ->disableOriginalConstructor()
-            ->setMethods(array('getExecutedAt', 'getStatus', 'delete'))
+            ->setMethods(array('getExecutedAt', 'getStatus', 'delete', '__wakeup'))
             ->getMock();
         $schedule->expects($this->any())->method('getExecutedAt')->will($this->returnValue('-1 day'));
         $schedule->expects($this->any())->method('getStatus')->will($this->returnValue('success'));
@@ -654,7 +652,7 @@ class ObserverTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue($scheduleMock));
 
         $collection = $this->getMockBuilder('Magento\Cron\Model\Resource\Schedule\Collection')
-            ->setMethods(array('addFieldToFilter', 'load'))
+            ->setMethods(array('addFieldToFilter', 'load', '__wakeup'))
             ->disableOriginalConstructor()
             ->getMock();
         $collection->expects($this->any())
diff --git a/dev/tests/unit/testsuite/Magento/Customer/Model/CustomerTest.php b/dev/tests/unit/testsuite/Magento/Customer/Model/CustomerTest.php
index 22b5b0f45d445d6ead645b0bd9761debabfa25a4..36493d26c95967a2c00c9ed6e59da3c413cd8f18 100644
--- a/dev/tests/unit/testsuite/Magento/Customer/Model/CustomerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Customer/Model/CustomerTest.php
@@ -79,7 +79,7 @@ class CustomerTest extends \PHPUnit_Framework_TestCase
             ->getMock();
         $this->_website = $this->getMockBuilder('Magento\Core\Model\Website')
             ->disableOriginalConstructor()
-            ->setMethods(array('getStoreIds'))
+            ->setMethods(array('getStoreIds', '__wakeup'))
             ->getMock();
         $this->_senderMock = $this->getMockBuilder('Magento\Core\Model\Sender')
             ->disableOriginalConstructor()
@@ -91,7 +91,7 @@ class CustomerTest extends \PHPUnit_Framework_TestCase
             ->getMock();
         $this->_attribute = $this->getMockBuilder('Magento\Eav\Model\Attribute')
             ->disableOriginalConstructor()
-            ->setMethods(array('getIsVisible'))
+            ->setMethods(array('getIsVisible', '__wakeup'))
             ->getMock();
         $this->_resourceMock = $this->getMockBuilder('Magento\Customer\Model\Resource\Customer')
             ->disableOriginalConstructor()
@@ -116,7 +116,7 @@ class CustomerTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue($this->_storeManager));
 
         $this->_model = new \Magento\Customer\Model\Customer(
-            $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false),
+            $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false),
             $this->_customerData,
             $this->_coreData,
             $this->_contextMock,
diff --git a/dev/tests/unit/testsuite/Magento/Customer/Service/CustomerTest.php b/dev/tests/unit/testsuite/Magento/Customer/Service/CustomerTest.php
index d84a8d5c9e47d776de4f3625f8709117748362b4..e626c4cea16ed9e6f5ec9a2a76a1b7ddbd296da3 100644
--- a/dev/tests/unit/testsuite/Magento/Customer/Service/CustomerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Customer/Service/CustomerTest.php
@@ -75,7 +75,7 @@ class CustomerTest extends \PHPUnit_Framework_TestCase
             ->setMethods(array('save', 'generatePassword', 'getOrigData', 'sendNewAccountEmail', 'getConfirmation',
                 'getPrimaryAddress', 'getAddresses', 'getAdditionalAddresses', 'load', 'getId', 'changePassword',
                 'sendPasswordReminderEmail', 'addAddress', 'getAddressItemById', 'getAddressesCollection',
-                'hashPassword', 'changeResetPasswordLinkToken')
+                'hashPassword', 'changeResetPasswordLinkToken', '__wakeup')
             )
             ->disableOriginalConstructor()
             ->getMock();
diff --git a/dev/tests/unit/testsuite/Magento/DesignEditor/Block/Adminhtml/Editor/ContainerTest.php b/dev/tests/unit/testsuite/Magento/DesignEditor/Block/Adminhtml/Editor/ContainerTest.php
index 6d89e842c2d979e26bf9d4f994773137d897205a..3334222ce77c639b210e57915538d3ccd0896a80 100644
--- a/dev/tests/unit/testsuite/Magento/DesignEditor/Block/Adminhtml/Editor/ContainerTest.php
+++ b/dev/tests/unit/testsuite/Magento/DesignEditor/Block/Adminhtml/Editor/ContainerTest.php
@@ -86,7 +86,7 @@ class ContainerTest extends \PHPUnit_Framework_TestCase
     public function testPrepareLayout()
     {
         $buttonTitle = 'Back';
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $arguments = $this->_getBlockArguments();
         $arguments['eventManager'] = $eventManager;
 
diff --git a/dev/tests/unit/testsuite/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Files/ContentTest.php b/dev/tests/unit/testsuite/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Files/ContentTest.php
index b04606f6d5da82d5e570227658836784c7cb9f37..5321102c2aa5f4a0eb61ef85ebd8ae632fde03a6 100644
--- a/dev/tests/unit/testsuite/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Files/ContentTest.php
+++ b/dev/tests/unit/testsuite/Magento/DesignEditor/Block/Adminhtml/Editor/Tools/Files/ContentTest.php
@@ -44,7 +44,7 @@ class ContentTest extends \PHPUnit_Framework_TestCase
     protected $_filesContent;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http|PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\RequestInterface|PHPUnit_Framework_MockObject_MockObject
      */
     protected $_request;
 
@@ -52,7 +52,7 @@ class ContentTest extends \PHPUnit_Framework_TestCase
     {
         $this->_helperStorage = $this->getMock('Magento\Theme\Helper\Storage', array(), array(), '', false);
         $this->_urlBuilder = $this->getMock('Magento\Backend\Model\Url', array(), array(), '', false);
-        $this->_request = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $this->_request = $this->getMock('Magento\App\RequestInterface', array(), array(), '', false);
 
         $objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
         $constructArguments =  $objectManagerHelper->getConstructArguments(
diff --git a/dev/tests/unit/testsuite/Magento/DesignEditor/Controller/Adminhtml/System/Design/EditorTest.php b/dev/tests/unit/testsuite/Magento/DesignEditor/Controller/Adminhtml/System/Design/EditorTest.php
index df942f037b0be5cbbe50bef73a0c25ad392b53b8..2c484716f7fa0b887cee870054b5091e7a8ddfca 100644
--- a/dev/tests/unit/testsuite/Magento/DesignEditor/Controller/Adminhtml/System/Design/EditorTest.php
+++ b/dev/tests/unit/testsuite/Magento/DesignEditor/Controller/Adminhtml/System/Design/EditorTest.php
@@ -46,9 +46,7 @@ class EditorTest extends \PHPUnit_Framework_TestCase
     {
         $this->_objectManagerMock = $this->getMock('Magento\ObjectManager');
 
-        $backendData = $this->getMock('Magento\Backend\Helper\Data', array(), array(), '', false);
-        $request = $this->getMockForAbstractClass('Magento\Core\Controller\Request\Http',
-            array($backendData), '', false, false, true, array('setActionName'));
+        $request = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
         $request->expects($this->any())->method('setActionName')->will($this->returnSelf());
 
         $objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
@@ -190,7 +188,7 @@ class EditorTest extends \PHPUnit_Framework_TestCase
         $storeManager->expects($this->any())->method('getStore')
             ->will($this->returnSelf());
 
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $configMock = $this->getMock('Magento\Core\Model\Config', array(), array(), '', false);
         $authMock = $this->getMock('Magento\AuthorizationInterface');
         $authMock->expects($this->any())->method('filterAclNodes')->will($this->returnSelf());
@@ -210,7 +208,7 @@ class EditorTest extends \PHPUnit_Framework_TestCase
             ),
             array('Magento\Core\Model\Translate', $translate),
             array('Magento\Core\Model\Config', $configMock),
-            array('Magento\Core\Model\Event\Manager', $eventManager),
+            array('Magento\Event\ManagerInterface', $eventManager),
             array('Magento\Core\Model\StoreManager', $storeManager),
             array('Magento\AuthorizationInterface', $authMock),
             array('Magento\Backend\Model\Session', $backendSession),
diff --git a/dev/tests/unit/testsuite/Magento/DesignEditor/Controller/Varien/Router/StandardTest.php b/dev/tests/unit/testsuite/Magento/DesignEditor/Controller/Varien/Router/StandardTest.php
index 717389893d37450eb6d79faec1609507a13b3083..10837f626e8a1481587e3a303486f33e073cb5c1 100644
--- a/dev/tests/unit/testsuite/Magento/DesignEditor/Controller/Varien/Router/StandardTest.php
+++ b/dev/tests/unit/testsuite/Magento/DesignEditor/Controller/Varien/Router/StandardTest.php
@@ -44,12 +44,11 @@ class StandardTest extends \PHPUnit_Framework_TestCase
      */
     const VDE_CONFIGURATION_DATA = 'vde_config_data';
 
-    /**#@+
+    /**
      * Test path and host
      */
     const TEST_PATH = '/customer/account';
     const TEST_HOST = 'http://test.domain';
-    /**#@-*/
 
     /**
      * @var \Magento\DesignEditor\Controller\Varien\Router\Standard
@@ -57,7 +56,7 @@ class StandardTest extends \PHPUnit_Framework_TestCase
     protected $_model;
 
     /**
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param bool $isVde
      * @param bool $isLoggedIn
      * @param bool $isConfiguration
@@ -67,7 +66,7 @@ class StandardTest extends \PHPUnit_Framework_TestCase
      * @dataProvider matchDataProvider
      */
     public function testMatch(
-        \Magento\Core\Controller\Request\Http $request,
+        \Magento\App\RequestInterface $request,
         $isVde,
         $isLoggedIn,
         $isConfiguration,
@@ -92,27 +91,25 @@ class StandardTest extends \PHPUnit_Framework_TestCase
         $vdeUrl    = self::TEST_HOST . '/' . self::VDE_FRONT_NAME . self::TEST_PATH;
         $notVdeUrl = self::TEST_HOST . self::TEST_PATH;
 
-        $silencedMethods = array('_isFrontArea');
         $excludedRouters = array(
             'admin' => 'admin router',
             'vde'   => 'vde router',
         );
 
+        $routerListMock = $this->getMock('Magento\App\RouterListInterface');
+
         // test data to verify routers match logic
-        $storeManager = $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false);
-        $helperMock = $this->getMock('Magento\Backend\Helper\DataProxy', array(), array(), '', false);
-        $matchedRequest = $this->getMock('Magento\Core\Controller\Request\Http',
-            $silencedMethods,
-            array($storeManager, $helperMock, $vdeUrl)
+        $matchedRequest = $this->getMock('Magento\App\Request\Http',
+            array('_isFrontArea'),
+            array($routerListMock, $vdeUrl)
         );
-        $routerMockedMethods = array('match');
 
         $matchedController = $this->getMockForAbstractClass(
-            'Magento\Core\Controller\Varien\AbstractAction', array(), '', false);
+            'Magento\App\Action\AbstractAction', array(), '', false);
 
         // method "match" will be invoked for this router because it's first in the list
         $matchedRouter = $this->getMock(
-            'Magento\Core\Controller\Varien\Router\Base', $routerMockedMethods, array(), '', false
+            'Magento\Core\Controller\Varien\Router\Base', array(), array(), '', false
         );
         $matchedRouter->expects($this->once())
             ->method('match')
@@ -121,7 +118,7 @@ class StandardTest extends \PHPUnit_Framework_TestCase
 
         // method "match" will not be invoked for this router because controller will be found by first router
         $notMatchedRouter = $this->getMock(
-            'Magento\Core\Controller\Varien\Router\Base', $routerMockedMethods, array(), '', false
+            'Magento\Core\Controller\Varien\Router\Base', array(), array(), '', false
         );
         $notMatchedRouter->expects($this->never())
             ->method('match');
@@ -133,8 +130,8 @@ class StandardTest extends \PHPUnit_Framework_TestCase
         return array(
             'not vde request' => array(
                 '$request' => $this->getMock(
-                    'Magento\Core\Controller\Request\Http', $silencedMethods, array(
-                        $storeManager, $helperMock, $notVdeUrl
+                    'Magento\App\Request\Http', array('_isFrontArea'), array(
+                        $routerListMock, $notVdeUrl
                     )
                 ),
                 '$isVde'           => false,
@@ -143,7 +140,7 @@ class StandardTest extends \PHPUnit_Framework_TestCase
             ),
             'not logged as admin' => array(
                 '$request' => $this->getMock(
-                    'Magento\Core\Controller\Request\Http', $silencedMethods, array($storeManager, $helperMock, $vdeUrl)
+                    'Magento\App\Request\Http', array('_isFrontArea'), array($routerListMock, $vdeUrl)
                 ),
                 '$isVde'           => true,
                 '$isLoggedIn'      => false,
@@ -151,7 +148,7 @@ class StandardTest extends \PHPUnit_Framework_TestCase
             ),
             'no matched routers' => array(
                 '$request' => $this->getMock(
-                    'Magento\Core\Controller\Request\Http', $silencedMethods, array($storeManager, $helperMock, $vdeUrl)
+                    'Magento\App\Request\Http', array('_isFrontArea'), array($routerListMock, $vdeUrl)
                 ),
                 '$isVde'           => true,
                 '$isLoggedIn'      => true,
@@ -170,7 +167,7 @@ class StandardTest extends \PHPUnit_Framework_TestCase
     }
 
     /**
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @param bool $isVde
      * @param bool $isLoggedIn
      * @param bool $isConfiguration
@@ -178,71 +175,70 @@ class StandardTest extends \PHPUnit_Framework_TestCase
      * @return \Magento\DesignEditor\Controller\Varien\Router\Standard
      */
     protected function _prepareMocksForTestMatch(
-        \Magento\Core\Controller\Request\Http $request,
+        \Magento\App\RequestInterface $request,
         $isVde,
         $isLoggedIn,
         $isConfiguration,
         array $routers
     ) {
         // default mocks - not affected on method functionality
-        $controllerFactory  = $this->getMock(
-            'Magento\Core\Controller\Varien\Action\Factory', array(), array(), '', false);
         $objectManager      = $this->getMock('Magento\ObjectManager');
-        $filesystem         = $this->getMockBuilder('Magento\Filesystem')->disableOriginalConstructor()->getMock();
-
-        $helper         = $this->_getHelperMock($isVde);
-        $backendSession = $this->_getBackendSessionMock($isVde, $isLoggedIn);
-        $stateModel     = $this->_getStateModelMock($routers);
-        $configuration  = $this->_getConfigurationMock($isVde, $isLoggedIn, $isConfiguration);
-        $app            = $this->getMock('Magento\Core\Model\App', array(), array(), '', false);
-        $callback = function ($name) use ($helper, $backendSession, $stateModel, $configuration) {
+        $helperMock         = $this->_getHelperMock($isVde);
+        $backendSessionMock = $this->_getBackendSessionMock($isVde, $isLoggedIn);
+        $stateMock          = $this->_getStateModelMock($routers);
+        $configurationMock  = $this->_getConfigurationMock($isVde, $isLoggedIn, $isConfiguration);
+
+        $callback = function ($name) use ($helperMock, $backendSessionMock, $stateMock, $configurationMock) {
             switch ($name) {
                 case 'Magento\DesignEditor\Helper\Data':
-                    return $helper;
+                    return $helperMock;
                 case 'Magento\Backend\Model\Auth\Session':
-                    return $backendSession;
+                    return $backendSessionMock;
                 case 'Magento\DesignEditor\Model\State':
-                    return $stateModel;
+                    return $stateMock;
                 case 'Magento\Core\Model\Config':
-                    return $configuration;
+                    return $configurationMock;
                 default:
                     return null;
             }
         };
+
         $objectManager->expects($this->any())
             ->method('get')
             ->will($this->returnCallback($callback));
 
-        $frontController = $this->getMock('Magento\Core\Controller\Varien\Front',
-            array('applyRewrites', 'getRouters'), array(), '', false
-        );
+        $frontControllerMock = $this->getMock('Magento\App\FrontController', array(), array(), '', false);
+        $rewriteServiceMock = $this->getMock('Magento\Core\App\Request\RewriteService', array(), array(), '', false);
+        $routerListMock = $this->getMock('Magento\App\RouterListInterface');
+
         if ($isVde && $isLoggedIn) {
-            $frontController->expects($this->once())
+            $rewriteServiceMock->expects($this->once())
                 ->method('applyRewrites')
                 ->with($request);
-            $frontController->expects($this->once())
+            $routerListMock->expects($this->once())
                 ->method('getRouters')
                 ->will($this->returnValue($routers));
         }
 
         $router = new \Magento\DesignEditor\Controller\Varien\Router\Standard(
-            $controllerFactory,
+            $routerListMock,
+            $this->getMock('Magento\App\ActionFactory', array(), array(), '', false),
             $objectManager,
-            $filesystem,
-            $app,
-            $this->getMock('Magento\Core\Model\Config\Scope', array(), array(), '', false),
+            $this->getMock('Magento\Filesystem', array(), array(), '', false),
+            $this->getMock('Magento\Core\Model\App', array(), array(), '', false),
             $this->getMock('Magento\Core\Model\Route\Config', array(), array(), '', false),
             $this->getMock('Magento\Core\Model\Url\SecurityInfoInterface'),
             $this->getMock('Magento\Core\Model\Store\Config', array(), array(), '', false),
             $this->getMock('Magento\Core\Model\Config', array(), array(), '', false),
             $this->getMock('Magento\Core\Model\Url', array(), array(), '', false),
             $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false),
-            $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false),
+            $this->getMock('Magento\App\State', array(), array(), '', false),
+            $rewriteServiceMock,
             'frontend',
             'Magento\Core\Controller\Varien\Action',
             'vde'
         );
-        $router->setFront($frontController);
+        $router->setFront($frontControllerMock);
         return $router;
     }
 
@@ -266,10 +262,11 @@ class StandardTest extends \PHPUnit_Framework_TestCase
      */
     protected function _getBackendSessionMock($isVde, $isLoggedIn)
     {
-        $backendSession = $this->getMock('Magento\Backend\Model\Auth\Session', array('isLoggedIn'), array(), '', false);
+        $backendSession = $this->getMock('Magento\Backend\Model\Auth\Session', array(), array(), '', false);
         $backendSession->expects($isVde ? $this->once() : $this->never())
             ->method('isLoggedIn')
             ->will($this->returnValue($isLoggedIn));
+
         return $backendSession;
     }
 
@@ -279,13 +276,14 @@ class StandardTest extends \PHPUnit_Framework_TestCase
      */
     protected function _getStateModelMock(array $routers)
     {
-        $stateModel = $this->getMock('Magento\DesignEditor\Model\State', array('update'), array(), '', false);
+        $stateModel = $this->getMock('Magento\DesignEditor\Model\State', array(), array(), '', false);
+
         if (array_key_exists('matched', $routers)) {
             $stateModel->expects($this->once())
                 ->method('update')
                 ->with(self::AREA_CODE);
-            return $stateModel;
         }
+
         return $stateModel;
     }
 
@@ -297,7 +295,8 @@ class StandardTest extends \PHPUnit_Framework_TestCase
      */
     protected function _getConfigurationMock($isVde, $isLoggedIn, $isConfiguration)
     {
-        $configuration = $this->getMock('Magento\Core\Model\Config', array('getNode'), array(), '', false);
+        $configuration = $this->getMock('Magento\Core\Model\Config', array(), array(), '', false);
+
         if ($isVde && $isLoggedIn) {
             $configurationData = null;
             if ($isConfiguration) {
diff --git a/dev/tests/unit/testsuite/Magento/DesignEditor/Helper/DataTest.php b/dev/tests/unit/testsuite/Magento/DesignEditor/Helper/DataTest.php
index 559adab82dbfc3518578204a4cfee6c9fdd0bca9..2fb06c8c9bceaa76c2748a1914db5856fa7d1fe3 100644
--- a/dev/tests/unit/testsuite/Magento/DesignEditor/Helper/DataTest.php
+++ b/dev/tests/unit/testsuite/Magento/DesignEditor/Helper/DataTest.php
@@ -82,8 +82,7 @@ class DataTest extends \PHPUnit_Framework_TestCase
     public function testIsVdeRequest($path, $expected)
     {
         $this->_model = new \Magento\DesignEditor\Helper\Data($this->_context, self::TEST_FRONT_NAME);
-        $requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array('getOriginalPathInfo'),
-            array(), '', false);
+        $requestMock = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
         $requestMock->expects($this->once())
             ->method('getOriginalPathInfo')
             ->will($this->returnValue($path));
diff --git a/dev/tests/unit/testsuite/Magento/DesignEditor/Model/StateTest.php b/dev/tests/unit/testsuite/Magento/DesignEditor/Model/StateTest.php
index c8dc8bba3050da4a7cd2b46dda99b9876d35e2fa..5392e502d01ee486cb423dcbe62e102dd56ad0c4 100644
--- a/dev/tests/unit/testsuite/Magento/DesignEditor/Model/StateTest.php
+++ b/dev/tests/unit/testsuite/Magento/DesignEditor/Model/StateTest.php
@@ -235,7 +235,7 @@ class StateTest extends \PHPUnit_Framework_TestCase
     public function testUpdateNavigationMode()
     {
         $this->_setAdditionalExpectations();
-        $request = $this->getMock('Magento\Core\Controller\Request\Http', array('getPathInfo'), array(), '', false);
+        $request = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
 
         $request->expects($this->once())
             ->method('getPathInfo')
diff --git a/dev/tests/unit/testsuite/Magento/DesignEditor/Model/Theme/ContextTest.php b/dev/tests/unit/testsuite/Magento/DesignEditor/Model/Theme/ContextTest.php
index cacae1100a8a3a12e408462f934d883d78d5a4af..fd839b93ef8f4fc1a7fd3bac88c156d73c477b18 100644
--- a/dev/tests/unit/testsuite/Magento/DesignEditor/Model/Theme/ContextTest.php
+++ b/dev/tests/unit/testsuite/Magento/DesignEditor/Model/Theme/ContextTest.php
@@ -245,7 +245,7 @@ class ContextTest extends \PHPUnit_Framework_TestCase
     {
         $writersProperty = new \ReflectionProperty($this->_model, '_stagingTheme');
         $writersProperty->setAccessible(true);
-        $themeObject = $this->getMock('Magento\Core\Model\Theme', array(), array(), '', false);
+        $themeObject = $this->getMock('Magento\View\Design\ThemeInterface', array(), array(), '', false);
         $writersProperty->setValue($this->_model, $themeObject);
         return $themeObject;
     }
diff --git a/dev/tests/unit/testsuite/Magento/DesignEditor/Model/Url/NavigationModeTest.php b/dev/tests/unit/testsuite/Magento/DesignEditor/Model/Url/NavigationModeTest.php
index ca652ac5f2c3b66280e97f59ac6669abc36f0b57..2a287d2d1e073c33956697f090009fde39bd6523 100644
--- a/dev/tests/unit/testsuite/Magento/DesignEditor/Model/Url/NavigationModeTest.php
+++ b/dev/tests/unit/testsuite/Magento/DesignEditor/Model/Url/NavigationModeTest.php
@@ -29,13 +29,12 @@ namespace Magento\DesignEditor\Model\Url;
 
 class NavigationModeTest extends \PHPUnit_Framework_TestCase
 {
-    /**#@+
+    /**
      * Test route params
      */
     const FRONT_NAME = 'vde';
     const ROUTE_PATH = 'some-rout-url/page.html';
     const BASE_URL   = 'http://test.com';
-    /**#@-*/
 
     /**
      * @var \Magento\DesignEditor\Model\Url\NavigationMode
@@ -43,14 +42,49 @@ class NavigationModeTest extends \PHPUnit_Framework_TestCase
     protected $_model;
 
     /**
-     * @var \Magento\DesignEditor\Helper\Data|\PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_designHelperMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_coreHelperMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_requestMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_storeConfigMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_appMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_storeManagerMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_sessionMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
-    protected $_helper;
+    protected $_routerListMock;
 
     /**
-     * @var \Magento\Core\Helper\Data|\PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
-    protected $_coreData;
+    protected $_securityInfoMock;
 
     /**
      * @var array
@@ -59,41 +93,46 @@ class NavigationModeTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_helper = $this->getMock('Magento\DesignEditor\Helper\Data', array('getFrontName'),
-            array(), '', false);
-        $this->_coreData = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
-        $requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array('getAlias'), array(), '', false);
-        $requestMock->expects($this->any())->method('getAlias')->will($this->returnValueMap(array(
-             array('editorMode', 'navigation'),
-             array('themeId', 1)
-        )));
-        $coreStoreConfig = $this->getMock('Magento\Core\Model\Store\Config', array(), array(), '', false);
-        $app = $this->getMock('Magento\Core\Model\App', array(), array(), '', false);
-        $storeManager = $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false);
-        $session = $this->getMock('Magento\Core\Model\Session', array(), array(), '', false);
+        $this->_designHelperMock = $this->getMock('Magento\DesignEditor\Helper\Data', array(), array(), '', false);
+        $this->_coreHelperMock = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
+        $this->_storeConfigMock = $this->getMock('Magento\Core\Model\Store\Config', array(), array(), '', false);
+        $this->_appMock = $this->getMock('Magento\Core\Model\App', array(), array(), '', false);
+        $this->_storeManagerMock = $this->getMock('Magento\Core\Model\StoreManager', array(), array(), '', false);
+        $this->_sessionMock = $this->getMock('Magento\Core\Model\Session', array(), array(), '', false);
+        $this->_routerListMock = $this->getMock('\Magento\App\RouterListInterface');
+        $this->_securityInfoMock = $this->getMock('Magento\Core\Model\Url\SecurityInfoInterface');
+
+        $this->_requestMock->expects($this->any())
+            ->method('getAlias')
+            ->will($this->returnValueMap(array(
+                array('editorMode', 'navigation'),
+                array('themeId', 1))));
 
         $this->_model = new \Magento\DesignEditor\Model\Url\NavigationMode(
-            $this->getMock('Magento\Core\Model\Url\SecurityInfoInterface'),
-            $this->_helper,
-            $coreStoreConfig,
-            $this->_coreData,
-            $app,
-            $storeManager,
-            $session,
+            $this->_routerListMock,
+            $this->_requestMock,
+            $this->_securityInfoMock,
+            $this->_designHelperMock,
+            $this->_storeConfigMock,
+            $this->_coreHelperMock,
+            $this->_appMock,
+            $this->_storeManagerMock,
+            $this->_sessionMock,
             $this->_testData
         );
-        $this->_model->setRequest($requestMock);
+        $this->_model->setRequest($this->_requestMock);
     }
 
     public function testConstruct()
     {
-        $this->assertAttributeEquals($this->_helper, '_helper', $this->_model);
+        $this->assertAttributeEquals($this->_designHelperMock, '_helper', $this->_model);
         $this->assertAttributeEquals($this->_testData, '_data', $this->_model);
     }
 
     public function testGetRouteUrl()
     {
-        $this->_helper->expects($this->any())
+        $this->_designHelperMock->expects($this->any())
             ->method('getFrontName')
             ->will($this->returnValue(self::FRONT_NAME));
 
diff --git a/dev/tests/unit/testsuite/Magento/Directory/Model/Currency/DefaultLocatorTest.php b/dev/tests/unit/testsuite/Magento/Directory/Model/Currency/DefaultLocatorTest.php
index 42d4b61341741c0f46795941ce77d35394b959e7..3f2f0452a9dd525037e57da7e391f4954dcb4b75 100644
--- a/dev/tests/unit/testsuite/Magento/Directory/Model/Currency/DefaultLocatorTest.php
+++ b/dev/tests/unit/testsuite/Magento/Directory/Model/Currency/DefaultLocatorTest.php
@@ -47,7 +47,7 @@ class DefaultLocatorTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $backendData = $this->getMock('Magento\Backend\Helper\Data', array(), array(), '', false);
-        $this->_requestMock = $this->getMockForAbstractClass('Magento\Core\Controller\Request\Http',
+        $this->_requestMock = $this->getMockForAbstractClass('Magento\App\RequestInterface',
             array($backendData), '', false, false, true, array('getParam'));
         $this->_appMock = $this->getMock('Magento\Core\Model\App', array(), array(), '', false);
         $this->_model = new \Magento\Directory\Model\Currency\DefaultLocator($this->_appMock);
diff --git a/dev/tests/unit/testsuite/Magento/Directory/Model/Resource/Country/CollectionTest.php b/dev/tests/unit/testsuite/Magento/Directory/Model/Resource/Country/CollectionTest.php
index 68d01d844737bf3563d22b522d0366453ea385e4..9744401d95fac557da32c856c578035073851b95 100644
--- a/dev/tests/unit/testsuite/Magento/Directory/Model/Resource/Country/CollectionTest.php
+++ b/dev/tests/unit/testsuite/Magento/Directory/Model/Resource/Country/CollectionTest.php
@@ -52,7 +52,7 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
             ->method('getTable')
             ->will($this->returnArgument(0));
 
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $stringHelper = $this->getMock('Magento\Core\Helper\String', array(), array(), '', false);
         $localeMock = $this->getMock('Magento\Core\Model\LocaleInterface');
         $localeMock->expects($this->any())->method('getCountryTranslation')->will($this->returnArgument(0));
diff --git a/dev/tests/unit/testsuite/Magento/Downloadable/Model/Product/TypeTest.php b/dev/tests/unit/testsuite/Magento/Downloadable/Model/Product/TypeTest.php
index 110fa6857213ed37a7eba0d912544ad7bf8c017c..9247b021608db001abedf626755227c2170b129e 100644
--- a/dev/tests/unit/testsuite/Magento/Downloadable/Model/Product/TypeTest.php
+++ b/dev/tests/unit/testsuite/Magento/Downloadable/Model/Product/TypeTest.php
@@ -37,7 +37,7 @@ class TypeTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $objectHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $downloadableFile = $this->getMockBuilder('Magento\Downloadable\Helper\File')
             ->disableOriginalConstructor()->getMock();
         $coreData = $this->getMockBuilder('Magento\Core\Helper\Data')->disableOriginalConstructor()->getMock();
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/ConverterTest.php b/dev/tests/unit/testsuite/Magento/Event/Config/ConverterTest.php
similarity index 87%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/ConverterTest.php
rename to dev/tests/unit/testsuite/Magento/Event/Config/ConverterTest.php
index 7f184192bca2907482d4e7994f8c7e78b3cde36c..d29717e7738373b583da7416930e6016cb1b0b17 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/ConverterTest.php
+++ b/dev/tests/unit/testsuite/Magento/Event/Config/ConverterTest.php
@@ -21,12 +21,12 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Event\Config;
+namespace Magento\Event\Config;
 
 class ConverterTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Event\Config\Converter
+     * @var \Magento\Event\Config\Converter
      */
     protected $_model;
 
@@ -42,9 +42,9 @@ class ConverterTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_filePath = __DIR__ . DIRECTORY_SEPARATOR . '/../../_files' . DIRECTORY_SEPARATOR;
+        $this->_filePath = __DIR__ . DIRECTORY_SEPARATOR . '/_files' . DIRECTORY_SEPARATOR;
         $this->_source = new \DOMDocument();
-        $this->_model = new \Magento\Core\Model\Event\Config\Converter();
+        $this->_model = new \Magento\Event\Config\Converter();
     }
 
     public function testConvert()
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/DataTest.php b/dev/tests/unit/testsuite/Magento/Event/Config/DataTest.php
similarity index 84%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/DataTest.php
rename to dev/tests/unit/testsuite/Magento/Event/Config/DataTest.php
index 533cf907488defb69b566c5bcfe7a9b939f6cb6e..22e133e77361557d2764e5b8aa49de19c5def45e 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/DataTest.php
+++ b/dev/tests/unit/testsuite/Magento/Event/Config/DataTest.php
@@ -21,12 +21,12 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Event\Config;
+namespace Magento\Event\Config;
 
 class DataTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Event\Config\Data
+     * @var \Magento\Event\Config\Data
      */
     protected $_model;
 
@@ -52,11 +52,11 @@ class DataTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_readerMock = $this->getMock('Magento\Core\Model\Event\Config\Reader', array(), array(), '', false);
+        $this->_readerMock = $this->getMock('Magento\Event\Config\Reader', array(), array(), '', false);
         $this->_configScopeMock = $this->getMock('Magento\Config\ScopeInterface');
         $this->_cacheMock = $this->getMock('Magento\Config\CacheInterface');
-        $this->_appStateMock = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false);
-        $this->_model = new \Magento\Core\Model\Event\Config\Data(
+        $this->_appStateMock = $this->getMock('Magento\App\State', array(), array(), '', false);
+        $this->_model = new \Magento\Event\Config\Data(
             $this->_readerMock,
             $this->_configScopeMock,
             $this->_cacheMock,
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/SchemaLocatorTest.php b/dev/tests/unit/testsuite/Magento/Event/Config/SchemaLocatorTest.php
similarity index 64%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/SchemaLocatorTest.php
rename to dev/tests/unit/testsuite/Magento/Event/Config/SchemaLocatorTest.php
index 0dd57ca69a8f59086589116306c5581795f0ef77..426c5308ca5aabdb05f7f96f4e82496124ddc5e2 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/SchemaLocatorTest.php
+++ b/dev/tests/unit/testsuite/Magento/Event/Config/SchemaLocatorTest.php
@@ -21,7 +21,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Event\Config;
+namespace Magento\Event\Config;
 
 class SchemaLocatorTest extends \PHPUnit_Framework_TestCase
 {
@@ -31,27 +31,27 @@ class SchemaLocatorTest extends \PHPUnit_Framework_TestCase
     protected $_moduleReaderMock;
 
     /**
-     * @var \Magento\Core\Model\Event\Config\SchemaLocator
+     * @var \Magento\Event\Config\SchemaLocator
      */
     protected $_model;
 
     protected function setUp()
     {
-        $this->_moduleReaderMock = $this->getMock(
-            'Magento\Core\Model\Config\Modules\Reader', array(), array(), '', false
-        );
-        $this->_moduleReaderMock->expects($this->once())
-            ->method('getModuleDir')->with('etc', 'Magento_Core')->will($this->returnValue('schema_dir'));
-        $this->_model = new \Magento\Core\Model\Event\Config\SchemaLocator($this->_moduleReaderMock);
+        $this->_model = new \Magento\Event\Config\SchemaLocator();
     }
 
     public function testGetSchema()
     {
-        $this->assertEquals('schema_dir' . DIRECTORY_SEPARATOR . 'events.xsd', $this->_model->getSchema());
+        $expected = BP . str_replace('\\', DIRECTORY_SEPARATOR, '\lib\Magento\Event\etc\events.xsd');
+        $actual = $this->_model->getSchema();
+        $this->assertEquals($expected, $actual);
+
     }
 
     public function testGetPerFileSchema()
     {
-        $this->assertEquals(null, $this->_model->getPerFileSchema());
+        $actual = $this->_model->getPerFileSchema();
+        $expected = BP . str_replace('\\', DIRECTORY_SEPARATOR, '\lib\Magento\Event\etc\events.xsd');
+        $this->assertEquals($expected, $actual);
     }
 }
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/XsdTest.php b/dev/tests/unit/testsuite/Magento/Event/Config/XsdTest.php
similarity index 94%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/XsdTest.php
rename to dev/tests/unit/testsuite/Magento/Event/Config/XsdTest.php
index 91fc6e45fefa39ea81d468ecf9965ddbe5d6d29e..7ae0d7f9a836b8a6973db94f7bde5c70963873b0 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/XsdTest.php
+++ b/dev/tests/unit/testsuite/Magento/Event/Config/XsdTest.php
@@ -21,7 +21,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Event\Config;
+namespace Magento\Event\Config;
 
 class XsdTest extends \PHPUnit_Framework_TestCase
 {
@@ -38,7 +38,7 @@ class XsdTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_xsdSchema = BP . '/app/code/Magento/Core/etc/events.xsd';
+        $this->_xsdSchema = BP . '/lib/Magento/Event/etc/events.xsd';
         $this->_xsdValidator = new \Magento\TestFramework\Utility\XsdValidator();
     }
 
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/_files/event_config.php b/dev/tests/unit/testsuite/Magento/Event/Config/_files/event_config.php
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/_files/event_config.php
rename to dev/tests/unit/testsuite/Magento/Event/Config/_files/event_config.php
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/_files/event_config.xml b/dev/tests/unit/testsuite/Magento/Event/Config/_files/event_config.xml
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/_files/event_config.xml
rename to dev/tests/unit/testsuite/Magento/Event/Config/_files/event_config.xml
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/_files/event_invalid_config.xml b/dev/tests/unit/testsuite/Magento/Event/Config/_files/event_invalid_config.xml
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/_files/event_invalid_config.xml
rename to dev/tests/unit/testsuite/Magento/Event/Config/_files/event_invalid_config.xml
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/_files/invalidEventsXmlArray.php b/dev/tests/unit/testsuite/Magento/Event/Config/_files/invalidEventsXmlArray.php
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/_files/invalidEventsXmlArray.php
rename to dev/tests/unit/testsuite/Magento/Event/Config/_files/invalidEventsXmlArray.php
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/_files/valid_events.xml b/dev/tests/unit/testsuite/Magento/Event/Config/_files/valid_events.xml
similarity index 100%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Event/Config/_files/valid_events.xml
rename to dev/tests/unit/testsuite/Magento/Event/Config/_files/valid_events.xml
diff --git a/dev/tests/unit/testsuite/Magento/Event/EventFactoryTest.php b/dev/tests/unit/testsuite/Magento/Event/EventFactoryTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..9b104b2508fa8c17ed80ab60795b68ad3018637f
--- /dev/null
+++ b/dev/tests/unit/testsuite/Magento/Event/EventFactoryTest.php
@@ -0,0 +1,59 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Event;
+
+class EventFactoryTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \Magento\EventFactory
+     */
+    protected $_model;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_objectManagerMock;
+
+    /**
+     * @var \Magento\Event
+     */
+    protected $_expectedObject;
+
+    protected function setUp()
+    {
+        $this->_objectManagerMock = $this->getMock('Magento\ObjectManager');
+        $this->_model = new \Magento\EventFactory($this->_objectManagerMock);
+        $this->_expectedObject = $this->getMockBuilder('Magento\Event')->getMock();
+    }
+
+    public function testCreate()
+    {
+        $arguments = array('property' => 'value');
+        $this->_objectManagerMock->expects($this->once())
+            ->method('create')
+            ->with('Magento\Event', $arguments)->will($this->returnValue($this->_expectedObject));
+
+        $this->assertEquals($this->_expectedObject, $this->_model->create($arguments));
+    }
+}
\ No newline at end of file
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Event/Invoker/InvokerDefaultTest.php b/dev/tests/unit/testsuite/Magento/Event/Invoker/InvokerDefaultTest.php
similarity index 90%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Event/Invoker/InvokerDefaultTest.php
rename to dev/tests/unit/testsuite/Magento/Event/Invoker/InvokerDefaultTest.php
index d7225b112c7093f42da896dcd8c3b8c77da699d5..f93497fdfb93216f9728879d4fc98e7f61c44f4a 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Event/Invoker/InvokerDefaultTest.php
+++ b/dev/tests/unit/testsuite/Magento/Event/Invoker/InvokerDefaultTest.php
@@ -21,7 +21,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Event\Invoker;
+namespace Magento\Event\Invoker;
 
 class InvokerDefaultTest extends \PHPUnit_Framework_TestCase
 {
@@ -46,21 +46,21 @@ class InvokerDefaultTest extends \PHPUnit_Framework_TestCase
     protected $_appStateMock;
 
     /**
-     * @var \Magento\Core\Model\Event\Invoker\InvokerDefault
+     * @var \Magento\Event\Invoker\InvokerDefault
      */
     protected $_invokerDefault;
 
     protected function setUp()
     {
         $this->_observerFactoryMock = $this->getMock(
-            'Magento\Core\Model\ObserverFactory', array(), array(), '', false
+            'Magento\Event\ObserverFactory', array(), array(), '', false
         );
         $this->_observerMock = $this->getMock('Magento\Event\Observer', array(), array(), '', false);
         $this->_listenerMock = $this->getMock('Magento_Some_Model_Observer_Some', array('method_name'), array(), '',
             false);
-        $this->_appStateMock = $this->getMock('Magento\Core\Model\App\State', array(), array(), '', false);
+        $this->_appStateMock = $this->getMock('Magento\App\State', array(), array(), '', false);
 
-        $this->_invokerDefault = new \Magento\Core\Model\Event\Invoker\InvokerDefault(
+        $this->_invokerDefault = new \Magento\Event\Invoker\InvokerDefault(
             $this->_observerFactoryMock,
             $this->_appStateMock
         );
@@ -112,7 +112,7 @@ class InvokerDefaultTest extends \PHPUnit_Framework_TestCase
         $this->_observerFactoryMock->expects($this->any())->method('get')->with('class_name')
             ->will($this->returnValue($this->_listenerMock));
         $this->_appStateMock->expects($this->once())->method('getMode')
-            ->will($this->returnValue(\Magento\Core\Model\App\State::MODE_DEVELOPER));
+            ->will($this->returnValue(\Magento\App\State::MODE_DEVELOPER));
 
         $this->_invokerDefault->dispatch(
             array(
@@ -136,7 +136,7 @@ class InvokerDefaultTest extends \PHPUnit_Framework_TestCase
         $this->_observerFactoryMock->expects($this->any())->method('get')->with('class_name')
             ->will($this->returnValue($this->_listenerMock));
         $this->_appStateMock->expects($this->once())->method('getMode')
-            ->will($this->returnValue(\Magento\Core\Model\App\State::MODE_PRODUCTION));
+            ->will($this->returnValue(\Magento\App\State::MODE_PRODUCTION));
 
         $this->_invokerDefault->dispatch(
             array(
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Event/ManagerStub.php b/dev/tests/unit/testsuite/Magento/Event/ManagerStub.php
similarity index 93%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Event/ManagerStub.php
rename to dev/tests/unit/testsuite/Magento/Event/ManagerStub.php
index 91c15c78dbd4b25c66e99d48688016e4a3542a55..acfe885c81bc90aa13f8446ac87bb0d79af22feb 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Event/ManagerStub.php
+++ b/dev/tests/unit/testsuite/Magento/Event/ManagerStub.php
@@ -26,9 +26,9 @@
  * Event manager stub
  */
 
-namespace Magento\Core\Model\Event;
+namespace Magento\Event;
 
-class ManagerStub extends \Magento\Core\Model\Event\Manager
+class ManagerStub extends \Magento\Event\ManagerInterface
 {
     /**
      * Stub dispatch event
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Event/ManagerTest.php b/dev/tests/unit/testsuite/Magento/Event/ManagerTest.php
similarity index 76%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Event/ManagerTest.php
rename to dev/tests/unit/testsuite/Magento/Event/ManagerTest.php
index aa69a9274608dc81c7dfbf086afb4a053322bb61..8186551d6302d90947b358de285c8e4f2f351941 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Event/ManagerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Event/ManagerTest.php
@@ -21,32 +21,32 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Event;
+namespace Magento\Event;
 
 class ManagerTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Model\Event\InvokerInterface|PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_invoker;
 
     /**
-     * @var \Magento\EventFactory|PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_eventFactory;
 
     /**
-     * @var \Magento\Event|PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_event;
 
     /**
-     * @var \Magento\Event\ObserverFactory|PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
-    protected $_observerFactory;
+    protected $_wrapperFactory;
 
     /**
-     * @var \Magento\Event\Observer|PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_observer;
 
@@ -56,22 +56,22 @@ class ManagerTest extends \PHPUnit_Framework_TestCase
     protected $_eventConfigMock;
 
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\Manager
      */
     protected $_eventManager;
 
     protected function setUp()
     {
-        $this->_invoker = $this->getMock('Magento\Core\Model\Event\InvokerInterface');
+        $this->_invoker = $this->getMock('Magento\Event\InvokerInterface');
         $this->_eventFactory = $this->getMock('Magento\EventFactory', array('create'), array(), '', false);
         $this->_event = $this->getMock('Magento\Event', array(), array(), '', false);
-        $this->_observerFactory = $this->getMock('Magento\Event\ObserverFactory', array('create'), array(), '',
+        $this->_wrapperFactory = $this->getMock('Magento\Event\WrapperFactory', array(), array(), '',
             false);
         $this->_observer = $this->getMock('Magento\Event\Observer', array(), array(), '', false);
-        $this->_eventConfigMock = $this->getMock('Magento\Core\Model\Event\ConfigInterface');
+        $this->_eventConfigMock = $this->getMock('Magento\Event\ConfigInterface');
 
-        $this->_eventManager = new \Magento\Core\Model\Event\Manager(
-            $this->_invoker, $this->_eventConfigMock, $this->_eventFactory, $this->_observerFactory
+        $this->_eventManager = new \Magento\Event\Manager(
+            $this->_invoker, $this->_eventConfigMock, $this->_eventFactory, $this->_wrapperFactory
         );
     }
 
@@ -85,7 +85,7 @@ class ManagerTest extends \PHPUnit_Framework_TestCase
 
         $this->_observer->expects($this->once())->method('setData')
             ->with(array_merge(array('event' => $this->_event), $data))->will($this->returnSelf());
-        $this->_observerFactory->expects($this->once())->method('create')
+        $this->_wrapperFactory->expects($this->once())->method('create')
             ->will($this->returnValue($this->_observer));
         $this->_invoker->expects($this->once())->method('dispatch')->with(array(
             'instance' => 'class',
diff --git a/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/Block/Category/TabTest.php b/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/Block/Category/TabTest.php
index 6a88bcc3bf8530be159a6f046b87d7bc4bf995d6..03ac2a20ec4585cbf7ffcb180e3e7e53330c333e 100644
--- a/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/Block/Category/TabTest.php
+++ b/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/Block/Category/TabTest.php
@@ -78,7 +78,7 @@ class TabTest extends \PHPUnit_Framework_TestCase
     {
         $this->_helperMock->expects($this->once())->method('isGoogleExperimentActive')->will($this->returnValue(true));
 
-        $block = $this->getMock('Magento\Core\Block', array(), array(), '', false);
+        $block = $this->getMock('Magento\View\Element\BlockInterface', array(), array(), '', false);
         $block->expects($this->once())->method('toHtml')->will($this->returnValue('generated html'));
 
         $this->_layoutMock->expects($this->once())->method('createBlock')->with(
diff --git a/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/Category/SaveTest.php b/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/Category/SaveTest.php
index cfdbbaf0a350775ae895f71c3426d64609578290..4c95be6e5dd21ae36aadcbd7495e1e789fa45d6e 100644
--- a/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/Category/SaveTest.php
+++ b/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/Category/SaveTest.php
@@ -72,7 +72,7 @@ class SaveTest extends \PHPUnit_Framework_TestCase
         $this->_eventObserverMock = $this->getMock('Magento\Event\Observer', array(), array(), '', false);
         $this->_eventObserverMock->expects($this->once())->method('getEvent')->will($this->returnValue($event));
         $this->_codeMock = $this->getMock('Magento\GoogleOptimizer\Model\Code', array(), array(), '', false);
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\RequestInterface', array(), array(), '', false);
 
         $objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
         $this->_modelObserver = $objectManagerHelper->getObject(
diff --git a/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/CmsPage/DeleteTest.php b/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/CmsPage/DeleteTest.php
index 68c7e3ff50fbefa3b111b3f6e03672d3989daf54..23dce075378be6aafe9adf7d81d70950097e41cf 100644
--- a/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/CmsPage/DeleteTest.php
+++ b/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/CmsPage/DeleteTest.php
@@ -43,7 +43,7 @@ class DeleteTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $this->_codeMock = $this->getMock('Magento\GoogleOptimizer\Model\Code', array(), array(), '', false);
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\RequestInterface', array(), array(), '', false);
 
         $page = $this->getMock('Magento\Cms\Model\Page', array(), array(), '', false);
         $page->expects($this->once())->method('getId')->will($this->returnValue(3));
diff --git a/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/CmsPage/SaveTest.php b/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/CmsPage/SaveTest.php
index fe3d3a444b95eabc67d20ebb3d17355affde7a0d..9b43082687e401eb12dd21ea4d407b0723d36860 100644
--- a/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/CmsPage/SaveTest.php
+++ b/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/CmsPage/SaveTest.php
@@ -64,7 +64,7 @@ class SaveTest extends \PHPUnit_Framework_TestCase
     {
         $this->_helperMock = $this->getMock('Magento\GoogleOptimizer\Helper\Data', array(), array(), '', false);
         $this->_codeMock = $this->getMock('Magento\GoogleOptimizer\Model\Code', array(), array(), '', false);
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\RequestInterface', array(), array(), '', false);
 
         $this->_pageMock = $this->getMock('Magento\Cms\Model\Page', array(), array(), '', false);
         $event = $this->getMock('Magento\Event', array('getObject'), array(), '', false);
diff --git a/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/Product/SaveTest.php b/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/Product/SaveTest.php
index 6329b470160b8765f419be3c1095742313d7671c..787e35895ed39ff178f2a41d7002cbe41725bed4 100644
--- a/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/Product/SaveTest.php
+++ b/dev/tests/unit/testsuite/Magento/GoogleOptimizer/Model/Observer/Product/SaveTest.php
@@ -72,7 +72,7 @@ class SaveTest extends \PHPUnit_Framework_TestCase
         $this->_eventObserverMock = $this->getMock('Magento\Event\Observer', array(), array(), '', false);
         $this->_eventObserverMock->expects($this->once())->method('getEvent')->will($this->returnValue($event));
         $this->_codeMock = $this->getMock('Magento\GoogleOptimizer\Model\Code', array(), array(), '', false);
-        $this->_requestMock = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $this->_requestMock = $this->getMock('Magento\App\RequestInterface', array(), array(), '', false);
 
         $objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
         $this->_modelObserver = $objectManagerHelper->getObject(
diff --git a/dev/tests/unit/testsuite/Magento/GoogleShopping/Block/SiteVerificationTest.php b/dev/tests/unit/testsuite/Magento/GoogleShopping/Block/SiteVerificationTest.php
index e61115f59502101a3cbb442fc29bc9aecebcc635..c6a51c5738f09ed972d28406be5922065e18d52c 100644
--- a/dev/tests/unit/testsuite/Magento/GoogleShopping/Block/SiteVerificationTest.php
+++ b/dev/tests/unit/testsuite/Magento/GoogleShopping/Block/SiteVerificationTest.php
@@ -46,7 +46,7 @@ class SiteVerificationTest extends \PHPUnit_Framework_TestCase
         $layout->expects($this->any())
             ->method('helper')->with('Magento\Core\Helper\Data')->will($this->returnValue($coreHelper));
         $context = $objectHelper->getObject('Magento\Core\Block\Context', array(
-            'eventManager' => $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false),
+            'eventManager' => $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false),
             'layout' => $layout,
             'helperFactory' => $helperFactory
         ));
diff --git a/dev/tests/unit/testsuite/Magento/Http/Handler/CompositeTest.php b/dev/tests/unit/testsuite/Magento/Http/Handler/CompositeTest.php
deleted file mode 100644
index 0fa163afdfe289b3ba189027e8d984ec9e521537..0000000000000000000000000000000000000000
--- a/dev/tests/unit/testsuite/Magento/Http/Handler/CompositeTest.php
+++ /dev/null
@@ -1,116 +0,0 @@
-<?php
-/**
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\Http\Handler;
-
-class CompositeTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \Magento\HTTP\Handler\Composite
-     */
-    protected $_model;
-
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject
-     */
-    protected $_requestMock;
-
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject
-     */
-    protected $_responseMock;
-
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject
-     */
-    protected $_handlerFactoryMock;
-
-    protected function setUp()
-    {
-        $handlers = array(
-            'app' => array(
-                'sortOrder' => 50,
-                'class' => 'Class_App_Handler',
-            ),
-            'fpc' => array(
-                'sortOrder' => 20,
-                'class' => 'Class_Fpc_Handler',
-            ),
-        );
-        $this->_requestMock = $this->getMock('Zend_Controller_Request_Http', array(), array(), '', false);
-        $this->_responseMock = $this->getMock('Zend_Controller_Response_Http', array(), array(), '', false);
-        $this->_handlerFactoryMock = $this->getMock('Magento\HTTP\HandlerFactory', array(), array(), '', false, false);
-        $this->_handlerMock = $this->getMock('Magento\HTTP\HandlerInterface', array(), array(), '', false, false);
-        $this->_model = new \Magento\HTTP\Handler\Composite($this->_handlerFactoryMock, $handlers);
-    }
-
-    protected function tearDown()
-    {
-        unset($this->_requestMock);
-        unset($this->_responseMock);
-        unset($this->_handlerFactoryMock);
-        unset($this->_model);
-    }
-
-    public function testHandleBreaksCycleIfRequestIsDispatched()
-    {
-        $this->_handlerFactoryMock->expects($this->once())
-            ->method('create')->with('Class_Fpc_Handler')->will($this->returnValue($this->_handlerMock));
-        $this->_handlerMock->expects($this->once())
-            ->method('handle')->with($this->_requestMock, $this->_responseMock);
-        $this->_requestMock->expects($this->once())->method('isDispatched')->will($this->returnValue(true));
-
-        $this->_model->handle($this->_requestMock, $this->_responseMock);
-    }
-
-    public function testSorting()
-    {
-        $handlers = array(
-            'app' => array(
-                'sortOrder' => 50,
-                'class' => 'Class_App_Handler',
-            ),
-            'fpc' => array(
-                'sortOrder' => 20,
-                'class' => 'Class_Fpc_Handler',
-            ),
-        );
-
-        $model = new \Magento\HTTP\Handler\Composite($this->_handlerFactoryMock, $handlers);
-
-        $this->_handlerMock->expects($this->exactly(2))->method('handle')
-            ->with($this->_requestMock, $this->_responseMock);
-
-        $this->_handlerFactoryMock->expects($this->at(0))
-            ->method('create')
-            ->with('Class_Fpc_Handler')
-            ->will($this->returnValue($this->_handlerMock));
-
-        $this->_handlerFactoryMock->expects($this->at(1))
-            ->method('create')
-            ->with('Class_App_Handler')
-            ->will($this->returnValue($this->_handlerMock));
-
-        $model->handle($this->_requestMock, $this->_responseMock);
-    }
-}
diff --git a/dev/tests/unit/testsuite/Magento/ImportExport/Model/ExportTest.php b/dev/tests/unit/testsuite/Magento/ImportExport/Model/ExportTest.php
index 6612003e70633aed45102ca76d688265708ebb43..e0c97211a15c6faf82e5bd079e4376460a02adca 100644
--- a/dev/tests/unit/testsuite/Magento/ImportExport/Model/ExportTest.php
+++ b/dev/tests/unit/testsuite/Magento/ImportExport/Model/ExportTest.php
@@ -76,7 +76,7 @@ class ExportTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue($this->_exportFileExtension));
 
         $logger = $this->getMock('Magento\Core\Model\Logger', array(), array(), '', false);
-        $dir = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $dir = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $adapterFactory = $this->getMock('Magento\Core\Model\Log\AdapterFactory', array(), array(), '', false);
         $entityFactory = $this->getMock(
             'Magento\ImportExport\Model\Export\Entity\Factory', array(), array(), '', false);;
diff --git a/dev/tests/unit/testsuite/Magento/Index/Model/Lock/StorageTest.php b/dev/tests/unit/testsuite/Magento/Index/Model/Lock/StorageTest.php
index 7249deac661bc5beb9b09e2e8fdcbc72a39fff72..da7eed6f5fa583c7d6e231fecf98428ce05735ef 100644
--- a/dev/tests/unit/testsuite/Magento/Index/Model/Lock/StorageTest.php
+++ b/dev/tests/unit/testsuite/Magento/Index/Model/Lock/StorageTest.php
@@ -42,10 +42,10 @@ class StorageTest extends \PHPUnit_Framework_TestCase
 
     public function testGetFile()
     {
-        $this->_dirsMock = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false, false);
+        $this->_dirsMock = $this->getMock('Magento\App\Dir', array(), array(), '', false, false);
         $this->_dirsMock->expects($this->any())
             ->method('getDir')
-            ->with(\Magento\Core\Model\Dir::VAR_DIR)
+            ->with(\Magento\App\Dir::VAR_DIR)
             ->will($this->returnValue(__DIR__ . DIRECTORY_SEPARATOR. 'var'));
 
         $fileModel = $this->getMock('Magento\Index\Model\Process\File',
diff --git a/dev/tests/unit/testsuite/Magento/Install/Model/EntryPoint/ConsoleTest.php b/dev/tests/unit/testsuite/Magento/Install/Model/EntryPoint/ConsoleTest.php
index d40f436adfa8179c1ad7ee796b6625f9a24bcf54..6666deaa48ffdee0e51b9e289e2895ff9a0b9fb4 100644
--- a/dev/tests/unit/testsuite/Magento/Install/Model/EntryPoint/ConsoleTest.php
+++ b/dev/tests/unit/testsuite/Magento/Install/Model/EntryPoint/ConsoleTest.php
@@ -47,7 +47,7 @@ class ConsoleTest extends \PHPUnit_Framework_TestCase
     protected $_installerMock;
 
     /**
-     * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Core\Model\Dir\Verification
+     * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\App\Dir\Verification
      */
     protected $_dirVerifierMock;
 
@@ -61,7 +61,7 @@ class ConsoleTest extends \PHPUnit_Framework_TestCase
         $this->_objectManagerMock = $this->getMock('Magento\ObjectManager');
         $this->_configMock = $this->getMock('Magento\Core\Model\Config\Primary', array(), array(), '', false);
         $this->_installerMock = $this->getMock('Magento\Install\Model\Installer\Console', array(), array(), '', false);
-        $this->_dirVerifierMock = $this->getMock('Magento\Core\Model\Dir\Verification', array(), array(), '', false);
+        $this->_dirVerifierMock = $this->getMock('Magento\App\Dir\Verification', array(), array(), '', false);
         $this->_outputMock = $this->getMock('Magento\Install\Model\EntryPoint\Output', array(), array(), '', false);
 
         $this->_objectManagerMock->expects($this->once())->method('create')
diff --git a/dev/tests/unit/testsuite/Magento/Install/Model/EntryPoint/UpgradeTest.php b/dev/tests/unit/testsuite/Magento/Install/Model/EntryPoint/UpgradeTest.php
index 6b5171be3a8480d633d10c5511828297c53084c9..2affff579db60280853bd0b64dfeb500f818d586 100644
--- a/dev/tests/unit/testsuite/Magento/Install/Model/EntryPoint/UpgradeTest.php
+++ b/dev/tests/unit/testsuite/Magento/Install/Model/EntryPoint/UpgradeTest.php
@@ -44,7 +44,7 @@ class UpgradeTest extends \PHPUnit_Framework_TestCase
     {
         $this->_config = $this->getMock('Magento\Core\Model\Config\Primary', array('getParam'), array(), '', false);
 
-        $dirVerification = $this->getMock('Magento\Core\Model\Dir\Verification', array(), array(), '', false);
+        $dirVerification = $this->getMock('Magento\App\Dir\Verification', array(), array(), '', false);
 
         $cacheFrontend = $this->getMockForAbstractClass('Magento\Cache\FrontendInterface');
         $cacheFrontend->expects($this->once())->method('clean')->with('all', array());
@@ -57,7 +57,7 @@ class UpgradeTest extends \PHPUnit_Framework_TestCase
         $cacheFrontendPool->expects($this->once())->method('current')->will($this->returnValue($cacheFrontend));
 
         $update = $this->getMock(
-            'Magento\Core\Model\Db\Updater', array('updateScheme', 'updateData'), array(), '', false);
+            'Magento\App\Updater', array('updateScheme', 'updateData'), array(), '', false);
         $update->expects($this->once())->method('updateScheme');
         $update->expects($this->once())->method('updateData');
 
@@ -68,10 +68,10 @@ class UpgradeTest extends \PHPUnit_Framework_TestCase
         $this->_objectManager = $this->getMock('Magento\ObjectManager');
         $this->_objectManager->expects($this->any())->method('get')->will($this->returnValueMap(array(
             array('Magento\Core\Model\Cache\Frontend\Pool', $cacheFrontendPool),
-            array('Magento\Core\Model\Db\Updater', $update),
+            array('Magento\App\Updater', $update),
             array('Magento\Core\Model\Config\Primary', $this->_config),
             array('Magento\Index\Model\Indexer', $this->_indexer),
-            array('Magento\Core\Model\Dir\Verification', $dirVerification),
+            array('Magento\App\Dir\Verification', $dirVerification),
         )));
     }
 
diff --git a/dev/tests/unit/testsuite/Magento/Install/Model/Installer/ConfigTest.php b/dev/tests/unit/testsuite/Magento/Install/Model/Installer/ConfigTest.php
index 8b1912674604ff7fd9202a9289d0a0b7943b7db8..e54e9d9fee9439e02d2fb96e5f05c0f889f8478f 100644
--- a/dev/tests/unit/testsuite/Magento/Install/Model/Installer/ConfigTest.php
+++ b/dev/tests/unit/testsuite/Magento/Install/Model/Installer/ConfigTest.php
@@ -51,8 +51,8 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
         $this->_model = new \Magento\Install\Model\Installer\Config(
             $this->getMock('Magento\Install\Model\Installer', array(), array(),
                 '', false),
-            $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false),
-            new \Magento\Core\Model\Dir(__DIR__, array(), array(\Magento\Core\Model\Dir::CONFIG => TESTS_TEMP_DIR)),
+            $this->getMock('Magento\App\RequestInterface', array(), array(), '', false),
+            new \Magento\App\Dir(__DIR__, array(), array(\Magento\App\Dir::CONFIG => TESTS_TEMP_DIR)),
             $this->_filesystemMock,
             $this->getMock('Magento\Core\Model\StoreManagerInterface', array(), array(), '', false)
         );
diff --git a/dev/tests/unit/testsuite/Magento/Log/Model/ShellTest.php b/dev/tests/unit/testsuite/Magento/Log/Model/ShellTest.php
index 89956eae02bfa4e51cd784f4ffd612aaeaa116d5..7838d12cf6e524bc3627318129ed293f9eb91c74 100644
--- a/dev/tests/unit/testsuite/Magento/Log/Model/ShellTest.php
+++ b/dev/tests/unit/testsuite/Magento/Log/Model/ShellTest.php
@@ -44,7 +44,7 @@ class ShellTest extends \PHPUnit_Framework_TestCase
     {
         $this->_factoryMock = $this->getMock('Magento\Log\Model\Shell\Command\Factory', array(), array(), '', false);
         $filesystemMock = $this->getMock('Magento\Filesystem', array(), array(), '', false);
-        $dirMock = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $dirMock = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $this->_model = $this->getMock('Magento\Log\Model\Shell',
             array('_applyPhpVariables'),
             array($this->_factoryMock, $filesystemMock, 'entryPoint.php', $dirMock)
diff --git a/dev/tests/unit/testsuite/Magento/Newsletter/Model/TemplateTest.php b/dev/tests/unit/testsuite/Magento/Newsletter/Model/TemplateTest.php
index 8e1bf2626ab00f6663c0384e3152689bc99aff22..af9ea36720badf591b1733e2882cd06f933ec555 100644
--- a/dev/tests/unit/testsuite/Magento/Newsletter/Model/TemplateTest.php
+++ b/dev/tests/unit/testsuite/Magento/Newsletter/Model/TemplateTest.php
@@ -32,7 +32,7 @@ class TemplateTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetProcessedTemplate($isSingleStore)
     {
-        $design = $this->getMock('Magento\Core\Model\View\DesignInterface');
+        $design = $this->getMock('Magento\View\DesignInterface');
         $context = $this->getMock('Magento\Core\Model\Context', array(), array(), '', false);
         $registry = $this->getMock('Magento\Core\Model\Registry', array(), array(), '', false);
 
@@ -41,7 +41,7 @@ class TemplateTest extends \PHPUnit_Framework_TestCase
             ->method('hasSingleStore')
             ->will($this->returnValue($isSingleStore));
 
-        $request = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $request = $this->getMock('Magento\App\RequestInterface', array(), array(), '', false);
 
         if ($isSingleStore) {
             $store = $this->getMock('Magento\Core\Model\Store', array(), array(), '', false);
diff --git a/dev/tests/unit/testsuite/Magento/Oauth/Helper/DataTest.php b/dev/tests/unit/testsuite/Magento/Oauth/Helper/DataTest.php
index cc6535338c735ec848c90197cc701ddf0d311ea7..c2c0996e0e9d8a47ba284fb7e0b65ad3f2b38e30 100644
--- a/dev/tests/unit/testsuite/Magento/Oauth/Helper/DataTest.php
+++ b/dev/tests/unit/testsuite/Magento/Oauth/Helper/DataTest.php
@@ -67,27 +67,27 @@ class DataTest extends \PHPUnit_Framework_TestCase
         return [
             [
                 new \Magento\Oauth\Exception('msg', \Magento\Oauth\Service\OauthV1Interface::ERR_VERSION_REJECTED),
-                new \Zend_Controller_Response_Http(),
+                new \Magento\App\Response\Http(),
                 ['version_rejected&message=msg', \Magento\Oauth\Helper\Data::HTTP_BAD_REQUEST]
             ],
             [
                 new \Magento\Oauth\Exception('msg', 255),
-                new \Zend_Controller_Response_Http(),
+                new \Magento\App\Response\Http(),
                 ['unknown_problem&code=255&message=msg', \Magento\Oauth\Helper\Data::HTTP_INTERNAL_ERROR]
             ],
             [
                 new \Magento\Oauth\Exception('param', \Magento\Oauth\Service\OauthV1Interface::ERR_PARAMETER_ABSENT),
-                new \Zend_Controller_Response_Http(),
+                new \Magento\App\Response\Http(),
                 ['parameter_absent&oauth_parameters_absent=param', \Magento\Oauth\Helper\Data::HTTP_BAD_REQUEST]
             ],
             [
                 new \Exception('msg'),
-                new \Zend_Controller_Response_Http(),
+                new \Magento\App\Response\Http(),
                 ['internal_error&message=msg', \Magento\Oauth\Helper\Data::HTTP_INTERNAL_ERROR]
             ],
             [
                 new \Exception(),
-                new \Zend_Controller_Response_Http(),
+                new \Magento\App\Response\Http(),
                 ['internal_error&message=empty_message', \Magento\Oauth\Helper\Data::HTTP_INTERNAL_ERROR]
             ],
         ];
diff --git a/dev/tests/unit/testsuite/Magento/Oauth/Helper/ServiceTest.php b/dev/tests/unit/testsuite/Magento/Oauth/Helper/ServiceTest.php
index de3d67e3ed4dabce2a77bb43f7fe8f515462148d..1070c201b3ff8d2377dd002c334beff123a072b9 100644
--- a/dev/tests/unit/testsuite/Magento/Oauth/Helper/ServiceTest.php
+++ b/dev/tests/unit/testsuite/Magento/Oauth/Helper/ServiceTest.php
@@ -53,14 +53,14 @@ class ServiceTest extends \PHPUnit_Framework_TestCase
 
         $this->_coreHelper = new \Magento\Core\Helper\Data(
             $this->_coreContextMock,
-            $this->getMockBuilder('Magento\Core\Model\Event\Manager')->disableOriginalConstructor()->getMock(),
+            $this->getMockBuilder('Magento\Event\ManagerInterface')->disableOriginalConstructor()->getMock(),
             $this->getMockBuilder('Magento\Core\Helper\Http')->disableOriginalConstructor()->getMock(),
             $this->getMockBuilder('Magento\Core\Model\Config')->disableOriginalConstructor()->getMock(),
             $this->_storeConfigMock,
             $this->getMockBuilder('Magento\Core\Model\StoreManager')->disableOriginalConstructor()->getMock(),
             $this->getMockBuilder('Magento\Core\Model\Locale')->disableOriginalConstructor()->getMock(),
             $this->getMockBuilder('Magento\Core\Model\Date')->disableOriginalConstructor()->getMock(),
-            $this->getMockBuilder('Magento\Core\Model\App\State')->disableOriginalConstructor()->getMock(),
+            $this->getMockBuilder('Magento\App\State')->disableOriginalConstructor()->getMock(),
             $this->_encryptorMock
         );
 
diff --git a/dev/tests/unit/testsuite/Magento/ObjectManager/Config/Mapper/_files/mapped_simple_di_config.php b/dev/tests/unit/testsuite/Magento/ObjectManager/Config/Mapper/_files/mapped_simple_di_config.php
index 02c0c2eec165903bf2564027744d94be8e11283b..ad1ae3d1340c06861cebed0dabe6d1f35811f6bc 100644
--- a/dev/tests/unit/testsuite/Magento/ObjectManager/Config/Mapper/_files/mapped_simple_di_config.php
+++ b/dev/tests/unit/testsuite/Magento/ObjectManager/Config/Mapper/_files/mapped_simple_di_config.php
@@ -23,11 +23,11 @@
  */
 return array(
     'preferences' => array(
-        'Magento\Core\Model\Db\UpdaterInterface' => 'Magento\Core\Model\Db\Updater',
+        'Magento\App\UpdaterInterface' => 'Magento\App\Updater',
         'Magento\Core\Model\AppInterface' => 'Magento\Core\Model\App\Proxy',
     ),
 
-    'Magento\Core\Model\App\State' => array(
+    'Magento\App\State' => array(
         'parameters' => array(
             'mode' => array(
                 'argument' => 'MAGE_MODE',
diff --git a/dev/tests/unit/testsuite/Magento/ObjectManager/Config/Mapper/_files/simple_di_config.xml b/dev/tests/unit/testsuite/Magento/ObjectManager/Config/Mapper/_files/simple_di_config.xml
index 4d937a8cd0d8cdefa010c5b57d314be62d736e66..e2e2fb34d8e42fa06d5ce60162c55da4a49ddb7d 100644
--- a/dev/tests/unit/testsuite/Magento/ObjectManager/Config/Mapper/_files/simple_di_config.xml
+++ b/dev/tests/unit/testsuite/Magento/ObjectManager/Config/Mapper/_files/simple_di_config.xml
@@ -25,9 +25,9 @@
 -->
 <config>
     <!-- Comment within root node -->
-    <preference for="Magento\Core\Model\Db\UpdaterInterface" type="Magento\Core\Model\Db\Updater" />
+    <preference for="Magento\App\UpdaterInterface" type="Magento\App\Updater" />
     <preference for="Magento\Core\Model\AppInterface" type="Magento\Core\Model\App\Proxy" />
-    <type name="Magento\Core\Model\App\State">
+    <type name="Magento\App\State">
         <param name="mode">
             <value type="argument">Magento\Core\Model\App::PARAM_MODE</value>
         </param>
diff --git a/dev/tests/unit/testsuite/Magento/Ogone/Model/ApiTest.php b/dev/tests/unit/testsuite/Magento/Ogone/Model/ApiTest.php
index 0e16a2f64438a656ec5e5805a3b43dc296b9c1c1..6cc150f7e37a9808241b3c29f92409c7d4c652f2 100644
--- a/dev/tests/unit/testsuite/Magento/Ogone/Model/ApiTest.php
+++ b/dev/tests/unit/testsuite/Magento/Ogone/Model/ApiTest.php
@@ -44,8 +44,8 @@ class ApiTest extends \PHPUnit_Framework_TestCase
         // Test protected method via reflection
         $storeManager = $this->getMock('Magento\Core\Model\StoreManagerInterface', array(), array(), '', false);
         $locale = $this->getMock('Magento\Core\Model\LocaleInterface', array(), array(), '', false);
-        $urlBuilder = $this->getMock('Magento\Core\Model\UrlInterface', array(), array(), '', false);
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $urlBuilder = $this->getMock('Magento\UrlInterface', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $coreString = $this->getMock('Magento\Core\Helper\String', array(), array(), '', false);
         $config = $this->getMock('Magento\Ogone\Model\Config', array(), array(), '', false);
         $paymentDataMock = $this->getMock('Magento\Payment\Helper\Data', array(), array(), '', false);
diff --git a/dev/tests/unit/testsuite/Magento/Page/Block/Html/HeaderTest.php b/dev/tests/unit/testsuite/Magento/Page/Block/Html/HeaderTest.php
index 9b6e523b4d88f2b8219b644cd2938184c84af3c3..6e910bb119e2a3becb396b07e86458b707127875 100644
--- a/dev/tests/unit/testsuite/Magento/Page/Block/Html/HeaderTest.php
+++ b/dev/tests/unit/testsuite/Magento/Page/Block/Html/HeaderTest.php
@@ -39,7 +39,7 @@ class HeaderTest extends \PHPUnit_Framework_TestCase
             ->method('getConfig')
             ->will($this->returnValue('default/image.gif'));
 
-        $urlBuilder = $this->getMock('Magento\Core\Model\UrlInterface');
+        $urlBuilder = $this->getMock('Magento\UrlInterface');
         $urlBuilder->expects($this->once())
             ->method('getBaseUrl')
             ->will($this->returnValue('http://localhost/pub/media/'));
@@ -56,10 +56,10 @@ class HeaderTest extends \PHPUnit_Framework_TestCase
             ->method('get')
             ->will($this->returnValue($helper));
 
-        $dirsMock = $this->getMock('Magento\Core\Model\Dir', array('getDir'), array(), '', false);
+        $dirsMock = $this->getMock('Magento\App\Dir', array('getDir'), array(), '', false);
         $dirsMock->expects($this->any())
             ->method('getDir')
-            ->with(\Magento\Core\Model\Dir::MEDIA)
+            ->with(\Magento\App\Dir::MEDIA)
             ->will($this->returnValue(__DIR__ . DIRECTORY_SEPARATOR . '_files'));
 
         $objectManager = new \Magento\TestFramework\Helper\ObjectManager($this);
diff --git a/dev/tests/unit/testsuite/Magento/Page/Block/Link/CurrentTest.php b/dev/tests/unit/testsuite/Magento/Page/Block/Link/CurrentTest.php
index a02a0f5a3e0f38c7862472f7dca170e36d5b4631..e76f251699bd5cc5e023638e89e5abfb2bd84326 100644
--- a/dev/tests/unit/testsuite/Magento/Page/Block/Link/CurrentTest.php
+++ b/dev/tests/unit/testsuite/Magento/Page/Block/Link/CurrentTest.php
@@ -26,13 +26,47 @@ namespace Magento\Page\Block\Link;
 class CurrentTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\TestFramework\Helper\ObjectManager
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
-    protected $_objectManagerHelper;
+    protected $_contextMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_urlBuilderMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_requestMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_frontControllerMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_coreHelperMock;
 
     protected function setUp()
     {
-        $this->_objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
+        $this->_urlBuilderMock = $this->getMock('\Magento\UrlInterface');
+        $this->_requestMock = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
+        $this->_frontControllerMock = $this->getMock('Magento\App\FrontController', array(), array(), '', false);
+        $this->_coreHelperMock = $this->getMock('Magento\Core\Helper\Data', array(), array(), '', false);
+        $this->_contextMock = $this->getMock('Magento\Core\Block\Template\Context', array(), array(), '', false);
+
+        $this->_contextMock->expects($this->any())
+            ->method('getUrlBuilder')
+            ->will($this->returnValue($this->_urlBuilderMock));
+        $this->_contextMock->expects($this->any())
+            ->method('getRequest')
+            ->will($this->returnValue($this->_requestMock));
+        $this->_contextMock->expects($this->any())
+            ->method('getFrontController')
+            ->will($this->returnValue($this->_frontControllerMock));
     }
 
     public function testGetUrl()
@@ -40,17 +74,13 @@ class CurrentTest extends \PHPUnit_Framework_TestCase
         $path = 'test/path';
         $url = 'http://example.com/asdasd';
 
-        /** @var  \Magento\Core\Block\Template\Context $context */
-        $context = $this->_objectManagerHelper->getObject('Magento\Core\Block\Template\Context');
-        $urlBuilder = $context->getUrlBuilder();
-        $urlBuilder->expects($this->once())->method('getUrl')->with($path)->will($this->returnValue($url));
-
-        $link = $this->_objectManagerHelper->getObject(
-            'Magento\Page\Block\Link\Current',
-            array(
-                'context' => $context,
-            )
-        );
+        $this->_urlBuilderMock->expects($this->once())
+            ->method('getUrl')
+            ->with($path)
+            ->will($this->returnValue($url));
+
+        $link = new \Magento\Page\Block\Link\Current($this->_coreHelperMock, $this->_contextMock);
+
         $link->setPath($path);
         $this->assertEquals($url, $link->getHref());
     }
@@ -58,7 +88,7 @@ class CurrentTest extends \PHPUnit_Framework_TestCase
 
     public function testIsCurrentIfIsset()
     {
-        $link = $this->_objectManagerHelper->getObject('Magento\Page\Block\Link\Current');
+        $link = new \Magento\Page\Block\Link\Current($this->_coreHelperMock, $this->_contextMock);
         $link->setCurrent(true);
         $this->assertTrue($link->IsCurrent());
     }
@@ -68,50 +98,31 @@ class CurrentTest extends \PHPUnit_Framework_TestCase
         $path = 'test/path';
         $url = 'http://example.com/a/b';
 
-        /** @var  \Magento\Core\Block\Template\Context $context */
-        $context = $this->_objectManagerHelper->getObject('Magento\Core\Block\Template\Context');
-
-        $request = $context->getRequest();
-        $request->expects($this->once())->method('getModuleName')->will($this->returnValue('a'));
-        $request->expects($this->once())->method('getControllerName')->will($this->returnValue('b'));
-        $request->expects($this->once())->method('getActionName')->will($this->returnValue('d'));
+        $this->_requestMock->expects($this->once())->method('getModuleName')->will($this->returnValue('a'));
+        $this->_requestMock->expects($this->once())->method('getControllerName')->will($this->returnValue('b'));
+        $this->_requestMock->expects($this->once())->method('getActionName')->will($this->returnValue('d'));
 
-        $context->getFrontController()->expects($this->once())->method('getDefault')
+        $this->_frontControllerMock->expects($this->once())
+            ->method('getDefault')
             ->will($this->returnValue(array('action' => 'd')));
 
-        $urlBuilder = $context->getUrlBuilder();
-        $urlBuilder->expects($this->at(0))->method('getUrl')->with($path)->will($this->returnValue($url));
-        $urlBuilder->expects($this->at(1))->method('getUrl')->with('a/b')->will(
-            $this->returnValue($url)
-        );
-
-        /** @var \Magento\Page\Block\Link\Current $link */
-        $link = $this->_objectManagerHelper->getObject(
-            'Magento\Page\Block\Link\Current',
-            array(
-                'context' => $context,
-            )
-        );
+        $this->_urlBuilderMock->expects($this->at(0))->method('getUrl')->with($path)->will($this->returnValue($url));
+        $this->_urlBuilderMock->expects($this->at(1))
+            ->method('getUrl')
+            ->with('a/b')
+            ->will($this->returnValue($url));
+
+        $link = new \Magento\Page\Block\Link\Current($this->_coreHelperMock, $this->_contextMock);
         $link->setPath($path);
         $this->assertTrue($link->isCurrent());
     }
 
     public function testIsCurrentFalse()
     {
-        /** @var  \Magento\Core\Block\Template\Context $context */
-        $context = $this->_objectManagerHelper->getObject('Magento\Core\Block\Template\Context');
-
-        $urlBuilder = $context->getUrlBuilder();
-        $urlBuilder->expects($this->at(0))->method('getUrl')->will($this->returnValue('1'));
-        $urlBuilder->expects($this->at(1))->method('getUrl')->will($this->returnValue('2'));
-
-        /** @var \Magento\Page\Block\Link\Current $link */
-        $link = $this->_objectManagerHelper->getObject(
-            'Magento\Page\Block\Link\Current',
-            array(
-                'context' => $context,
-            )
-        );
+        $this->_urlBuilderMock->expects($this->at(0))->method('getUrl')->will($this->returnValue('1'));
+        $this->_urlBuilderMock->expects($this->at(1))->method('getUrl')->will($this->returnValue('2'));
+
+        $link = new \Magento\Page\Block\Link\Current($this->_coreHelperMock, $this->_contextMock);
         $this->assertFalse($link->isCurrent());
     }
 }
diff --git a/dev/tests/unit/testsuite/Magento/Page/Block/SwitchTest.php b/dev/tests/unit/testsuite/Magento/Page/Block/SwitchTest.php
index f6ba347840265c68c3116e32f915f34fa4899c1b..49b89c97a3b8fd23d20a573efa5bf37f0d8b2761 100644
--- a/dev/tests/unit/testsuite/Magento/Page/Block/SwitchTest.php
+++ b/dev/tests/unit/testsuite/Magento/Page/Block/SwitchTest.php
@@ -30,13 +30,46 @@ namespace Magento\Page\Block;
 class SwitchTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\TestFramework\Helper\ObjectManager
+     * @var \Magento\Page\Block\Switcher
      */
-    protected $_objectManager;
+    protected $_block;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_storeManagerMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_coreHelperMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_contextMock;
+
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $_appMock;
 
     protected function setUp()
     {
-        $this->_objectManager = new \Magento\TestFramework\Helper\ObjectManager($this);
+        $this->_storeManagerMock = $this->getMock('\Magento\Core\Model\StoreManagerInterface');
+        $this->_coreHelperMock = $this->getMock('\Magento\Core\Helper\Data', array(), array(), '', false);
+        $this->_contextMock = $this->getMock('\Magento\Core\Block\Template\Context', array(), array(), '', false);
+        $this->_appMock = $this->getMock('\Magento\Core\Model\App', array(), array(), '', false);
+
+        $this->_contextMock->expects($this->any())
+            ->method('getApp')
+            ->will($this->returnValue($this->_appMock));
+
+        $this->_block = new \Magento\Page\Block\Switcher(
+            $this->_storeManagerMock,
+            $this->_coreHelperMock,
+            $this->_contextMock
+        );
     }
 
     /**
@@ -46,15 +79,15 @@ class SwitchTest extends \PHPUnit_Framework_TestCase
     {
         $storeMock = $this->getMock('Magento\Core\Model\Store', array(), array(), '', false);
         $storeMock->expects($this->once())->method('isUseStoreInUrl')->will($this->returnValue($isUseStoreInUrl));
-        $storeManager = $this->getMock('Magento\Core\Model\StoreManagerInterface');
-        $storeManager->expects($this->any())->method('getStore')->will($this->returnValue($storeMock));
-        $block = $this->_objectManager->getObject('Magento\Page\Block\Switcher', array('storeManager' =>
-            $storeManager));
 
-        $this->assertEquals($block->isStoreInUrl(), $isUseStoreInUrl);
+        $this->_storeManagerMock = $this->getMock('Magento\Core\Model\StoreManagerInterface');
+        $this->_storeManagerMock->expects($this->any())->method('getStore')->will($this->returnValue($storeMock));
+
+        $this->_appMock->expects($this->any())->method('getStore')->will($this->returnValue($storeMock));
 
-        // check cached value
-        $this->assertEquals($block->isStoreInUrl(), $isUseStoreInUrl);
+        $this->assertEquals($this->_block->isStoreInUrl(), $isUseStoreInUrl);
+        // check value is cached
+        $this->assertEquals($this->_block->isStoreInUrl(), $isUseStoreInUrl);
     }
 
     /**
diff --git a/dev/tests/unit/testsuite/Magento/Payment/Model/Method/BanktransferTest.php b/dev/tests/unit/testsuite/Magento/Payment/Model/Method/BanktransferTest.php
index 9daf60024bde9339de779f622b685449a063046d..1b8278b8c272b285930e8aef509632fee606dda3 100644
--- a/dev/tests/unit/testsuite/Magento/Payment/Model/Method/BanktransferTest.php
+++ b/dev/tests/unit/testsuite/Magento/Payment/Model/Method/BanktransferTest.php
@@ -37,7 +37,7 @@ class BanktransferTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $paymentDataMock = $this->getMock('Magento\Payment\Helper\Data', array(), array(), '', false);
         $coreStoreConfig = $this->getMock('Magento\Core\Model\Store\Config', array(), array(), '', false);
         $adapterFactoryMock = $this->getMock('Magento\Core\Model\Log\AdapterFactory', array('create'),
diff --git a/dev/tests/unit/testsuite/Magento/Payment/Model/Method/CashondeliveryTest.php b/dev/tests/unit/testsuite/Magento/Payment/Model/Method/CashondeliveryTest.php
index 4de6e0d9ce8c5aa36aca39aede917ee98c3c9074..4552a713c5859ba1bfbd9ddacdb963fb748a2091 100644
--- a/dev/tests/unit/testsuite/Magento/Payment/Model/Method/CashondeliveryTest.php
+++ b/dev/tests/unit/testsuite/Magento/Payment/Model/Method/CashondeliveryTest.php
@@ -38,7 +38,7 @@ class CashondeliveryTest extends \PHPUnit_Framework_TestCase
     {
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
 
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $paymentDataMock = $this->getMock('Magento\Payment\Helper\Data', array(), array(), '', false);
         $adapterFactoryMock = $this->getMock('Magento\Core\Model\Log\AdapterFactory', array('create'),
             array(), '', false);
diff --git a/dev/tests/unit/testsuite/Magento/Sales/Block/Recurring/Profile/GridTest.php b/dev/tests/unit/testsuite/Magento/Sales/Block/Recurring/Profile/GridTest.php
index 4705607a0e318ccd6c3de012d293a275039ab0c0..8bcc68eab186b53c9c9a4255616f81d7088a4ae5 100644
--- a/dev/tests/unit/testsuite/Magento/Sales/Block/Recurring/Profile/GridTest.php
+++ b/dev/tests/unit/testsuite/Magento/Sales/Block/Recurring/Profile/GridTest.php
@@ -141,14 +141,14 @@ class GridTest extends \PHPUnit_Framework_TestCase
     /**
      * Get layout mock
      *
-     * @return \Magento\Core\Model\Layout
+     * @return \Magento\View\LayoutInterface
      */
     protected function _getMockLayout()
     {
-        $layout = $this->getMockBuilder('Magento\Core\Model\Layout')
+        $layout = $this->getMockBuilder('Magento\View\LayoutInterface')
             ->disableOriginalConstructor()
             ->setMethods(array('createBlock', 'getChildName', 'setChild'))
-            ->getMock();
+            ->getMockForAbstractClass();
 
         return $layout;
     }
diff --git a/dev/tests/unit/testsuite/Magento/Sales/Block/Recurring/Profile/Related/Orders/GridTest.php b/dev/tests/unit/testsuite/Magento/Sales/Block/Recurring/Profile/Related/Orders/GridTest.php
index 6e3056e31990d326bba667a3f6b1a14b983250ee..3e48f0e2f90d96318bb295317c69d8fc9a62addd 100644
--- a/dev/tests/unit/testsuite/Magento/Sales/Block/Recurring/Profile/Related/Orders/GridTest.php
+++ b/dev/tests/unit/testsuite/Magento/Sales/Block/Recurring/Profile/Related/Orders/GridTest.php
@@ -142,14 +142,14 @@ class GridTest extends \PHPUnit_Framework_TestCase
     /**
      * Get layout mock
      *
-     * @return \Magento\Core\Model\Layout
+     * @return \Magento\View\LayoutInterface
      */
     protected function _getMockLayout()
     {
-        $layout = $this->getMockBuilder('Magento\Core\Model\Layout')
+        $layout = $this->getMockBuilder('Magento\View\LayoutInterface')
             ->disableOriginalConstructor()
             ->setMethods(array('createBlock', 'getChildName', 'setChild'))
-            ->getMock();
+            ->getMockForAbstractClass();
         return $layout;
     }
 
diff --git a/dev/tests/unit/testsuite/Magento/Sales/Model/Observer/Backend/RecurringProfile/FormRendererTest.php b/dev/tests/unit/testsuite/Magento/Sales/Model/Observer/Backend/RecurringProfile/FormRendererTest.php
index fb370095075472456f96dbee653696bf7bd82309..32e4f3aec79e3a2c705b6f132827b8ce7656bce5 100644
--- a/dev/tests/unit/testsuite/Magento/Sales/Model/Observer/Backend/RecurringProfile/FormRendererTest.php
+++ b/dev/tests/unit/testsuite/Magento/Sales/Model/Observer/Backend/RecurringProfile/FormRendererTest.php
@@ -55,7 +55,8 @@ class FormRendererTest extends \PHPUnit_Framework_TestCase
     public function testRender()
     {
         $blockMock = $this->getMock(
-            'Magento\Core\Block', array(
+            'Magento\View\Element\BlockInterface',
+            array(
                 'setNameInLayout', 'setParentElement', 'setProductEntity', 'toHtml', 'addFieldMap',
                 'addFieldDependence', 'addConfigOptions'
             )
diff --git a/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Pdf/AbstractTest.php b/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Pdf/AbstractTest.php
index 978aa8d8e933cd10c2f49bb72e70383ed57efcbd..f8d0acee4803f4cd9693c6a8f9d4d1210c960a5d 100644
--- a/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Pdf/AbstractTest.php
+++ b/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Pdf/AbstractTest.php
@@ -47,7 +47,7 @@ class AbstractTest extends \PHPUnit_Framework_TestCase
         $coreString = $this->getMock('Magento\Core\Helper\String', array(), array(), '', false);
         $coreStoreConfig = $this->getMock('Magento\Core\Model\Store\Config', array(), array(), '', false);
         $translate = $this->getMock('Magento\Core\Model\Translate', array(), array(), '', false);
-        $coreDir = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false);
+        $coreDir = $this->getMock('Magento\App\Dir', array(), array(), '', false);
         $shippingConfig = $this->getMock('Magento\Shipping\Model\Config', array(), array(), '', false);
         $pdfItemsFactory = $this->getMock('Magento\Sales\Model\Order\Pdf\ItemsFactory', array(), array(), '', false);
 
diff --git a/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Pdf/InvoiceTest.php b/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Pdf/InvoiceTest.php
index 252f4892a5681ff344da065d8206e262f7c556e5..a9fe51ce9b807bb4b76d650584bf89b73a87c004 100644
--- a/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Pdf/InvoiceTest.php
+++ b/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Pdf/InvoiceTest.php
@@ -43,7 +43,7 @@ class InvoiceTest extends \PHPUnit_Framework_TestCase
         $coreHelperStringMock = $this->getMock('Magento\Core\Helper\String', array(), array(), '', false, false);
         $storeConfigMock = $this->getMock('Magento\Core\Model\Store\Config', array(), array(), '', false, false);
         $translateMock = $this->getMock('Magento\Core\Model\Translate', array(), array(), '', false, false);
-        $coreDirMock = $this->getMock('Magento\Core\Model\Dir', array(), array(), '', false, false);
+        $coreDirMock = $this->getMock('Magento\App\Dir', array(), array(), '', false, false);
         $coreDirMock->expects($this->once())
             ->method('getDir')
             ->will($this->returnValue(BP));
diff --git a/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Pdf/Total/FactoryTest.php b/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Pdf/Total/FactoryTest.php
index 1b8a8912ca181414e9593dce8b18c482f3c02019..389c8512501a449833dd9243302709ddc542760f 100644
--- a/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Pdf/Total/FactoryTest.php
+++ b/dev/tests/unit/testsuite/Magento/Sales/Model/Order/Pdf/Total/FactoryTest.php
@@ -81,7 +81,7 @@ class FactoryTest extends \PHPUnit_Framework_TestCase
     /**
      * @expectedException \Magento\Core\Exception
      * @expectedExceptionMessage The PDF total model TEST must be or extend
-     * \Magento\Sales\Model\Order\Pdf\Total\Default.
+     * \Magento\Sales\Model\Order\Pdf\Total\DefaultTotal.
      */
     public function testCreateException()
     {
diff --git a/dev/tests/unit/testsuite/Magento/Sales/Model/Order/StatusTest.php b/dev/tests/unit/testsuite/Magento/Sales/Model/Order/StatusTest.php
index b9dc13168896a427961451b5439cdac75cca659e..11ec58e2257d0ed50e8e73f205972ef68478cea0 100644
--- a/dev/tests/unit/testsuite/Magento/Sales/Model/Order/StatusTest.php
+++ b/dev/tests/unit/testsuite/Magento/Sales/Model/Order/StatusTest.php
@@ -42,7 +42,7 @@ class StatusTest extends \PHPUnit_Framework_TestCase
             $resource = $this->getMock('Magento\Sales\Model\Resource\Order\Status', array(), array(), '', false);
         }
         if (!$eventDispatcher) {
-            $eventDispatcher = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+            $eventDispatcher = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         }
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
         $model = $helper->getObject('Magento\Sales\Model\Order\Status', array(
@@ -64,7 +64,7 @@ class StatusTest extends \PHPUnit_Framework_TestCase
         $resource->expects($this->once())->method('commit');
 
         $params = array('status' => $status, 'state' => $state);
-        $eventDispatcher = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventDispatcher = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $eventDispatcher->expects($this->once())->method('dispatch')
             ->with($this->equalTo('sales_order_status_unassign'), $this->equalTo($params));
 
diff --git a/dev/tests/unit/testsuite/Magento/Test/Tools/View/Generator/CopyRuleTest.php b/dev/tests/unit/testsuite/Magento/Test/Tools/View/Generator/CopyRuleTest.php
index f7a389de7ab13e5b8f07600ace81135b0f0be182..8dde56217965d4ef96a3838fac7d081625af1f7e 100644
--- a/dev/tests/unit/testsuite/Magento/Test/Tools/View/Generator/CopyRuleTest.php
+++ b/dev/tests/unit/testsuite/Magento/Test/Tools/View/Generator/CopyRuleTest.php
@@ -58,7 +58,7 @@ class CopyRuleTest extends \PHPUnit_Framework_TestCase
             array('isLoaded'),
             array(
                 $this->_filesystem,
-                new \Magento\Core\Model\Dir(__DIR__),
+                new \Magento\App\Dir(__DIR__),
                 $this->getMock('Magento\Core\Model\EntityFactory', array(), array(), '', false)
             )
         );
diff --git a/dev/tests/unit/testsuite/Magento/Test/Tools/View/Generator/ThemeDeploymentTest.php b/dev/tests/unit/testsuite/Magento/Test/Tools/View/Generator/ThemeDeploymentTest.php
index 65f1851715d1f3b88ed5062d6c69b12c1e399dd8..2754f7c37894b3ba1745a8cdeaca4c1388617b3c 100644
--- a/dev/tests/unit/testsuite/Magento/Test/Tools/View/Generator/ThemeDeploymentTest.php
+++ b/dev/tests/unit/testsuite/Magento/Test/Tools/View/Generator/ThemeDeploymentTest.php
@@ -44,7 +44,7 @@ class ThemeDeploymentTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $filesystem =  new \Magento\Filesystem(new \Magento\Filesystem\Adapter\Local());
-        $dirs = new \Magento\Core\Model\Dir($filesystem->normalizePath(__DIR__ . '/../../../../../../'));
+        $dirs = new \Magento\App\Dir($filesystem->normalizePath(__DIR__ . '/../../../../../../'));
         $this->_cssHelper = new \Magento\Core\Helper\Css($filesystem, $dirs);
         $this->_tmpDir = TESTS_TEMP_DIR . DIRECTORY_SEPARATOR . 'tool_theme_deployment';
         mkdir($this->_tmpDir);
diff --git a/dev/tests/unit/testsuite/Magento/Theme/Block/Adminhtml/System/Design/Theme/Tab/CssTest.php b/dev/tests/unit/testsuite/Magento/Theme/Block/Adminhtml/System/Design/Theme/Tab/CssTest.php
index 97ea2f5d52adcbd88cb883dac29f01378e0abbf9..565cebd7ed4f22b4432aa8179ee4187b847c80fc 100644
--- a/dev/tests/unit/testsuite/Magento/Theme/Block/Adminhtml/System/Design/Theme/Tab/CssTest.php
+++ b/dev/tests/unit/testsuite/Magento/Theme/Block/Adminhtml/System/Design/Theme/Tab/CssTest.php
@@ -63,7 +63,7 @@ class CssTest extends \PHPUnit_Framework_TestCase
             array(
                 'formFactory'      => $this->getMock('Magento\Data\Form\Factory', array(), array(), '', false),
                 'objectManager'   => $this->_objectManager,
-                'dirs'            => new \Magento\Core\Model\Dir(__DIR__),
+                'dirs'            => new \Magento\App\Dir(__DIR__),
                 'uploaderService' => $this->getMock(
                     'Magento\Theme\Model\Uploader\Service', array(), array(), '', false
                 ),
diff --git a/dev/tests/unit/testsuite/Magento/Theme/Block/Adminhtml/Wysiwyg/Files/ContentTest.php b/dev/tests/unit/testsuite/Magento/Theme/Block/Adminhtml/Wysiwyg/Files/ContentTest.php
index d724cf2a33b43f16314ab0eaa232c3be8c7ec8c5..44590978f8f97e3a7960bd100e89be0622eda892 100644
--- a/dev/tests/unit/testsuite/Magento/Theme/Block/Adminhtml/Wysiwyg/Files/ContentTest.php
+++ b/dev/tests/unit/testsuite/Magento/Theme/Block/Adminhtml/Wysiwyg/Files/ContentTest.php
@@ -44,7 +44,7 @@ class ContentTest extends \PHPUnit_Framework_TestCase
     protected $_filesContent;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http|PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\RequestInterface|PHPUnit_Framework_MockObject_MockObject
      */
     protected $_request;
 
@@ -52,7 +52,7 @@ class ContentTest extends \PHPUnit_Framework_TestCase
     {
         $this->_helperStorage = $this->getMock('Magento\Theme\Helper\Storage', array(), array(), '', false);
         $this->_urlBuilder = $this->getMock('Magento\Backend\Model\Url', array(), array(), '', false);
-        $this->_request = $this->getMock('Magento\Core\Controller\Request\Http', array(), array(), '', false);
+        $this->_request = $this->getMock('Magento\App\RequestInterface', array(), array(), '', false);
 
         $objectManagerHelper = new \Magento\TestFramework\Helper\ObjectManager($this);
         $constructArguments =  $objectManagerHelper->getConstructArguments(
diff --git a/dev/tests/unit/testsuite/Magento/Theme/Controller/Adminhtml/System/Design/ThemeTest.php b/dev/tests/unit/testsuite/Magento/Theme/Controller/Adminhtml/System/Design/ThemeTest.php
index 537ba7d19d27ff62faa4d86e970a050077dca0d0..b841703596ad34ea03edb4791f3310245b21c79e 100644
--- a/dev/tests/unit/testsuite/Magento/Theme/Controller/Adminhtml/System/Design/ThemeTest.php
+++ b/dev/tests/unit/testsuite/Magento/Theme/Controller/Adminhtml/System/Design/ThemeTest.php
@@ -51,9 +51,7 @@ class ThemeTest extends \PHPUnit_Framework_TestCase
     {
         $this->_objectManagerMock = $this->getMock('Magento\ObjectManager', array(), array(), '', false);
 
-        $this->_request = $this->getMock(
-            'Magento\Core\Controller\Request\Http', array('getParam', 'getPost'), array(), '', false
-        );
+        $this->_request = $this->getMock('Magento\App\Request\Http', array(), array(), '', false);
 
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
         $arguments = array(
diff --git a/dev/tests/unit/testsuite/Magento/Theme/Helper/StorageTest.php b/dev/tests/unit/testsuite/Magento/Theme/Helper/StorageTest.php
index 57060b15bc9c01f0d40961778682c2aaad2a0a17..6da9c82ede2ba4823976bc6e7e9ef0d0b260ff84 100644
--- a/dev/tests/unit/testsuite/Magento/Theme/Helper/StorageTest.php
+++ b/dev/tests/unit/testsuite/Magento/Theme/Helper/StorageTest.php
@@ -47,7 +47,7 @@ class StorageTest extends \PHPUnit_Framework_TestCase
     protected $_themeFactory;
 
     /**
-     * @var \Zend_Controller_Request_Http|PHPUnit_Framework_MockObject_MockObject
+     * @var \PHPUnit_Framework_MockObject_MockObject
      */
     protected $_request;
 
@@ -66,7 +66,7 @@ class StorageTest extends \PHPUnit_Framework_TestCase
         $this->_customizationPath = \Magento\Filesystem::DIRECTORY_SEPARATOR
             . implode(\Magento\Filesystem::DIRECTORY_SEPARATOR, array('var', 'theme'));
 
-        $this->_request = $this->getMock('Zend_Controller_Request_Http', array('getParam'), array(), '', false);
+        $this->_request = $this->getMock('\Magento\App\Request\Http', array(), array(), '', false);
         $this->_filesystem = $this->getMock('Magento\Filesystem', array(), array(), '', false);
         $this->_session = $this->getMock('Magento\Backend\Model\Session', array(), array(), '', false);
         $this->_themeFactory = $this->getMock('Magento\Core\Model\Theme\FlyweightFactory', array('create'), array(),
diff --git a/dev/tests/unit/testsuite/Magento/Theme/Model/Config/CustomizationTest.php b/dev/tests/unit/testsuite/Magento/Theme/Model/Config/CustomizationTest.php
index 06b4e0d42ce7e156c16f2037e6b3cf7e8ec30319..a7b6fe5b236f883b0ab7256b3f3985f963863941 100644
--- a/dev/tests/unit/testsuite/Magento/Theme/Model/Config/CustomizationTest.php
+++ b/dev/tests/unit/testsuite/Magento/Theme/Model/Config/CustomizationTest.php
@@ -38,7 +38,7 @@ class CustomizationTest extends \PHPUnit_Framework_TestCase
     protected $_storeManager;
 
     /**
-     * @var \Magento\Core\Model\View\DesignInterface
+     * @var \Magento\View\DesignInterface
      */
     protected $_designPackage;
 
@@ -58,7 +58,7 @@ class CustomizationTest extends \PHPUnit_Framework_TestCase
             'Magento\Core\Model\StoreManagerInterface', array(), '', true, true, true, array('getStores')
         );
         $this->_designPackage = $this->getMockForAbstractClass(
-            'Magento\Core\Model\View\DesignInterface', array(), '', true, true, true,
+            'Magento\View\DesignInterface', array(), '', true, true, true,
             array('getConfigurationDesignTheme')
         );
         $this->_themeCollection = $this->getMock(
diff --git a/dev/tests/unit/testsuite/Magento/Theme/Model/ConfigTest.php b/dev/tests/unit/testsuite/Magento/Theme/Model/ConfigTest.php
index 660f244a45d0d6103720b8ea1e4c3467d8a0d1e7..84c7611217eed2e956167a7dc5961fd9c3f06f4f 100644
--- a/dev/tests/unit/testsuite/Magento/Theme/Model/ConfigTest.php
+++ b/dev/tests/unit/testsuite/Magento/Theme/Model/ConfigTest.php
@@ -89,7 +89,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
             $this->_configData,
             $this->_storeConfigWriter,
             $this->_storeManagerMock,
-            $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false),
+            $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false),
             $this->_configCacheMock,
             $this->_layoutCacheMock
         );
diff --git a/dev/tests/unit/testsuite/Magento/User/Model/UserTest.php b/dev/tests/unit/testsuite/Magento/User/Model/UserTest.php
index 1601bfd2ab18c31652c66c13be4fca50d42097bb..970a78b920624de4e458c909be019d99ca0c7d62 100644
--- a/dev/tests/unit/testsuite/Magento/User/Model/UserTest.php
+++ b/dev/tests/unit/testsuite/Magento/User/Model/UserTest.php
@@ -83,7 +83,7 @@ class UserTest extends \PHPUnit_Framework_TestCase
             ->getMock();
         $coreRegistry = $this->getMock('Magento\Core\Model\Registry', array(), array(), '', false);
 
-        $eventManagerMock = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManagerMock = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $objectFactoryMock = $this->getMock('Magento\Validator\Composite\VarienObjectFactory', array('create'),
             array(), '', false);
         $roleFactoryMock = $this->getMock('Magento\User\Model\RoleFactory', array('create'),
diff --git a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/ElementTest.php b/dev/tests/unit/testsuite/Magento/View/Layout/ElementTest.php
similarity index 91%
rename from dev/tests/unit/testsuite/Magento/Core/Model/Layout/ElementTest.php
rename to dev/tests/unit/testsuite/Magento/View/Layout/ElementTest.php
index bbcc53a61f95bb9232ab74fa34338f055f8acd5c..918706aca8d16dea4778404835b3ae624bb1baf2 100644
--- a/dev/tests/unit/testsuite/Magento/Core/Model/Layout/ElementTest.php
+++ b/dev/tests/unit/testsuite/Magento/View/Layout/ElementTest.php
@@ -26,9 +26,9 @@
  */
 
 /**
- * Test class for \Magento\Core\Model\Layout\Element
+ * Test class for \Magento\View\Layout\Element
  */
-namespace Magento\Core\Model\Layout;
+namespace Magento\View\Layout;
 
 class ElementTest extends \PHPUnit_Framework_TestCase
 {
@@ -37,7 +37,7 @@ class ElementTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetElementName($xml, $name)
     {
-        $model = new \Magento\Core\Model\Layout\Element($xml);
+        $model = new \Magento\View\Layout\Element($xml);
         $this->assertEquals($name, $model->getElementName());
     }
 
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Block/Adminhtml/Role/Edit/TabsTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Block/Adminhtml/Role/Edit/TabsTest.php
index 6e09346246c0b89a98968ca7509ef424a670fdfe..456b1dfc7551741005c60d6861e21e42e4faf8f8 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Block/Adminhtml/Role/Edit/TabsTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Block/Adminhtml/Role/Edit/TabsTest.php
@@ -43,7 +43,7 @@ class TabsTest extends \PHPUnit_Framework_TestCase
     protected $_helper;
 
     /**
-     * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Core\Controller\Request\Http
+     * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\App\RequestInterface
      */
     protected $_request;
 
@@ -60,7 +60,7 @@ class TabsTest extends \PHPUnit_Framework_TestCase
             ->getMock();
 
         $backendData = $this->getMock('Magento\Backend\Helper\Data', array(), array(), '', false);
-        $this->_request = $this->getMockForAbstractClass('Magento\Core\Controller\Request\Http',
+        $this->_request = $this->getMockForAbstractClass('Magento\App\RequestInterface',
             array($backendData), '', false, false, true, array('getParam'));
 
         $this->_helper = new \Magento\TestFramework\Helper\ObjectManager($this);
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Block/Adminhtml/Role/EditTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Block/Adminhtml/Role/EditTest.php
index 7e8c5b152907a59ea4fbaf494560b3ae0be7288d..6cc1eff4e3dc02025711494410ad7cf6bf310d97 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Block/Adminhtml/Role/EditTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Block/Adminhtml/Role/EditTest.php
@@ -28,7 +28,7 @@ namespace Magento\Webapi\Block\Adminhtml\Role;
 class EditTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Controller\Request\Http|PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\RequestInterface|PHPUnit_Framework_MockObject_MockObject
      */
     protected $_request;
 
@@ -53,9 +53,8 @@ class EditTest extends \PHPUnit_Framework_TestCase
             ->disableOriginalConstructor()
             ->getMock();
 
-        $this->_request = $this->getMockBuilder('Magento\Core\Controller\Request\Http')
+        $this->_request = $this->getMockBuilder('Magento\App\Request\Http')
             ->disableOriginalConstructor()
-            ->setMethods(array('getParam'))
             ->getMock();
 
         $this->_request->expects($this->any())
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Block/Adminhtml/User/EditTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Block/Adminhtml/User/EditTest.php
index ab49ae4212a687518a78a48fe5c3a458af6f1c8b..f5c0981c179b1b5f078e095c81f11ce1155e8edc 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Block/Adminhtml/User/EditTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Block/Adminhtml/User/EditTest.php
@@ -28,7 +28,7 @@ namespace Magento\Webapi\Block\Adminhtml\User;
 class EditTest extends \PHPUnit_Framework_TestCase
 {
     /**
-     * @var \Magento\Core\Controller\Request\Http|PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\RequestInterface|PHPUnit_Framework_MockObject_MockObject
      */
     protected $_request;
 
@@ -44,9 +44,8 @@ class EditTest extends \PHPUnit_Framework_TestCase
 
     protected function setUp()
     {
-        $this->_request = $this->getMockBuilder('Magento\Core\Controller\Request\Http')
+        $this->_request = $this->getMockBuilder('Magento\App\Request\Http')
             ->disableOriginalConstructor()
-            ->setMethods(array('getParam'))
             ->getMock();
 
         $this->_request->expects($this->any())
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Controller/Rest/RequestTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Controller/Rest/RequestTest.php
index 406b27daf93d6a7f417dbf213bbe11b2d57ce9a0..307ebb43169eeadf65e1fab1a872ae83046ff1c3 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Controller/Rest/RequestTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Controller/Rest/RequestTest.php
@@ -45,20 +45,15 @@ class RequestTest extends \PHPUnit_Framework_TestCase
                 ->setMethods(array('deserialize', 'get'))
                 ->disableOriginalConstructor()
                 ->getMock();
-        $applicationMock = $this->getMockBuilder('Magento\Core\Model\App')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $configMock = $this->getMockBuilder('Magento\Core\Model\Config')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $applicationMock->expects($this->once())->method('getConfig')->will($this->returnValue($configMock));
-        $configMock->expects($this->once())->method('getAreaFrontName')->will($this->returnValue('rest'));
+        $areaListMock = $this->getMock('Magento\App\AreaList', array(), array(), '', false);
+        $configScopeMock = $this->getMock('Magento\Config\ScopeInterface');
+        $areaListMock->expects($this->once())->method('getFrontName')->will($this->returnValue('rest'));
         /** Instantiate request. */
         // TODO: Get rid of SUT mocks.
         $this->_request = $this->getMock(
             'Magento\Webapi\Controller\Rest\Request',
             array('getHeader', 'getMethod', 'isGet', 'isPost', 'isPut', 'isDelete', 'getRawBody'),
-            array($applicationMock, $this->_deserializerFactory)
+            array($areaListMock, $configScopeMock, $this->_deserializerFactory)
         );
         parent::setUp();
     }
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Controller/Rest/RouterTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Controller/Rest/RouterTest.php
index 13be912adcd6229dce88f50d206315e5c2ff2df2..0f60435d190f73403f4250c7e48e4074115883e0 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Controller/Rest/RouterTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Controller/Rest/RouterTest.php
@@ -54,16 +54,12 @@ class RouterTest extends \PHPUnit_Framework_TestCase
             ->disableOriginalConstructor()
             ->setMethods(array('match'))
             ->getMock();
-        $applicationMock = $this->getMockBuilder('Magento\Core\Model\App')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $configMock = $this->getMockBuilder('Magento\Core\Model\Config')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $applicationMock->expects($this->once())->method('getConfig')->will($this->returnValue($configMock));
-        $configMock->expects($this->once())->method('getAreaFrontName')->will($this->returnValue('rest'));
+        $areaListMock = $this->getMock('Magento\App\AreaList', array(), array(), '', false);
+        $configScopeMock = $this->getMock('Magento\Config\ScopeInterface');
+        $areaListMock->expects($this->once())->method('getFrontName')->will($this->returnValue('rest'));
         $this->_request = new \Magento\Webapi\Controller\Rest\Request(
-            $applicationMock,
+            $areaListMock,
+            $configScopeMock,
             $deserializerFactory
         );
         /** Initialize SUT. */
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Controller/RestTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Controller/RestTest.php
index 0b6da094269c3a13aaa9fd83c1f2822b3edce780..4e528b33df7b00660379a2f821fc20fd320ff0a3 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Controller/RestTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Controller/RestTest.php
@@ -48,7 +48,7 @@ class RestTest extends \PHPUnit_Framework_TestCase
     /** @var \stdClass */
     protected $_serviceMock;
 
-    /** @var \Magento\Core\Model\App\State */
+    /** @var \Magento\App\State */
     protected $_appStateMock;
 
     /** @var \Magento\Oauth\Service\OauthV1 */
@@ -91,7 +91,7 @@ class RestTest extends \PHPUnit_Framework_TestCase
             ->disableOriginalConstructor()
             ->getMock();
 
-        $this->_appStateMock =  $this->getMockBuilder('Magento\Core\Model\App\State')
+        $this->_appStateMock =  $this->getMockBuilder('Magento\App\State')
             ->disableOriginalConstructor()
             ->getMock();
 
@@ -153,7 +153,7 @@ class RestTest extends \PHPUnit_Framework_TestCase
         $this->_appStateMock->expects($this->any())->method('isInstalled')->will($this->returnValue(false));
         $expectedMsg = 'Magento is not yet installed';
 
-        $this->_restController->dispatch();
+        $this->_restController->dispatch($this->_requestMock);
         $this->assertTrue($this->_responseMock->isException());
         $exceptionArray = $this->_responseMock->getException();
         $this->assertEquals($expectedMsg, $exceptionArray[0]->getMessage());
@@ -183,7 +183,7 @@ class RestTest extends \PHPUnit_Framework_TestCase
             ->expects($this->any())->method(self::SERVICE_METHOD)->will($this->returnValue(array()));
         $this->_routeMock->expects($this->any())->method('isSecure')->will($this->returnValue($isSecureRoute));
         $this->_requestMock->expects($this->any())->method('isSecure')->will($this->returnValue($isSecureRequest));
-        $this->_restController->dispatch();
+        $this->_restController->dispatch($this->_requestMock);
         $this->assertFalse($this->_responseMock->isException());
     }
 
@@ -225,7 +225,7 @@ class RestTest extends \PHPUnit_Framework_TestCase
         // Override default prepareResponse. It should never be called in this case
         $this->_responseMock->expects($this->never())->method('prepareResponse');
 
-        $this->_restController->dispatch();
+        $this->_restController->dispatch($this->_requestMock);
         $this->assertTrue($this->_responseMock->isException());
         $exceptionArray = $this->_responseMock->getException();
         $this->assertEquals('Operation allowed only in HTTPS', $exceptionArray[0]->getMessage());
@@ -248,7 +248,7 @@ class RestTest extends \PHPUnit_Framework_TestCase
         $expectedMsg = 'The method "' . self::SERVICE_METHOD . '" of service "'
             . self::SERVICE_ID . '" must return an array.';
 
-        $this->_restController->dispatch();
+        $this->_restController->dispatch($this->_requestMock);
         $this->assertTrue($this->_responseMock->isException());
         $exceptionArray = $this->_responseMock->getException();
         $this->assertEquals($expectedMsg, $exceptionArray[0]->getMessage());
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Controller/Soap/RequestTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Controller/Soap/RequestTest.php
index 87ab204ea0c318f757871480a25bca975079bb84..2ecf954478ab9403152930009a1ac6bc68da3201 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Controller/Soap/RequestTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Controller/Soap/RequestTest.php
@@ -33,17 +33,12 @@ class RequestTest extends \PHPUnit_Framework_TestCase
     protected function setUp()
     {
         /** Prepare mocks for SUT constructor. */
-        $applicationMock = $this->getMockBuilder('Magento\Core\Model\App')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $configMock = $this->getMockBuilder('Magento\Core\Model\Config')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $applicationMock->expects($this->once())->method('getConfig')->will($this->returnValue($configMock));
-        $configMock->expects($this->once())->method('getAreaFrontName')->will($this->returnValue('soap'));
+        $areaListMock = $this->getMock('Magento\App\AreaList', array(), array(), '', false);
+        $configScopeMock = $this->getMock('Magento\Config\ScopeInterface');
+        $areaListMock->expects($this->once())->method('getFrontName')->will($this->returnValue('soap'));
 
         /** Initialize SUT. */
-        $this->_soapRequest = new \Magento\Webapi\Controller\Soap\Request($applicationMock);
+        $this->_soapRequest = new \Magento\Webapi\Controller\Soap\Request($areaListMock, $configScopeMock);
         parent::setUp();
     }
 
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Controller/SoapTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Controller/SoapTest.php
index 67e0669847ebba9a6cc7f5ffe9ef8381ff80389c..4d5d4c790f63418cc5ef10e2f6cfdda8c8ff5e98 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Controller/SoapTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Controller/SoapTest.php
@@ -45,7 +45,7 @@ class SoapTest extends \PHPUnit_Framework_TestCase
     /** @var \Magento\Webapi\Controller\ErrorProcessor */
     protected $_errorProcessorMock;
 
-    /** @var \Magento\Core\Model\App\State */
+    /** @var \Magento\App\State */
     protected $_appStateMock;
 
     /** @var \Magento\Core\Model\App */
@@ -84,7 +84,7 @@ class SoapTest extends \PHPUnit_Framework_TestCase
             ->disableOriginalConstructor()
             ->setMethods(array('maskException'))
             ->getMock();
-        $this->_appStateMock =  $this->getMockBuilder('Magento\Core\Model\App\State')
+        $this->_appStateMock =  $this->getMockBuilder('Magento\App\State')
             ->disableOriginalConstructor()
             ->getMock();
         $localeMock =  $this->getMockBuilder('Magento\Core\Model\Locale')
@@ -161,7 +161,7 @@ class SoapTest extends \PHPUnit_Framework_TestCase
             ->method('getApiCharset')
             ->will($this->returnValue($encoding));
 
-        $this->_soapController->dispatch();
+        $this->_soapController->dispatch($this->_requestMock);
         $expectedMessage = <<<EXPECTED_MESSAGE
 <?xml version="1.0" encoding="{$encoding}"?>
 <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" >
@@ -195,7 +195,7 @@ EXPECTED_MESSAGE;
             ->method('generate')
             ->will($this->returnValue($wsdl));
 
-        $this->_soapController->dispatch();
+        $this->_soapController->dispatch($this->_requestMock);
         $this->assertEquals($wsdl, $this->_responseMock->getBody());
     }
 
@@ -216,7 +216,7 @@ EXPECTED_MESSAGE;
             ->method('validateAccessToken')
             ->will($this->returnValue(array('isValid' => true)));
 
-        $this->_soapController->dispatch();
+        $this->_soapController->dispatch($this->_requestMock);
         unset($_SERVER['HTTP_AUTHORIZATION']);
         $this->assertEquals($soapResponse, $this->_responseMock->getBody());
     }
@@ -242,7 +242,7 @@ EXPECTED_MESSAGE;
             ->method('getApiCharset')
             ->will($this->returnValue($encoding));
 
-        $this->_soapController->dispatch();
+        $this->_soapController->dispatch($this->_requestMock);
 
         $expectedMessage = <<<EXPECTED_MESSAGE
 <?xml version="1.0" encoding="{$encoding}"?>
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/Role/InRoleUserUpdaterTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/Role/InRoleUserUpdaterTest.php
index 5e303326291afd319ae6c0393a5835e41773aed7..bae65f936186aeea08042c37a078a7b1b0dd4fb1 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/Role/InRoleUserUpdaterTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/Role/InRoleUserUpdaterTest.php
@@ -34,7 +34,7 @@ class InRoleUserUpdaterTest extends \PHPUnit_Framework_TestCase
 
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
 
-        $request = $this->getMockBuilder('Magento\Core\Controller\Request\Http')
+        $request = $this->getMockBuilder('Magento\App\RequestInterface')
             ->disableOriginalConstructor()
             ->getMock();
         $request->expects($this->any())->method('getParam')->will($this->returnValueMap(array(
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/Role/UsersUpdaterTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/Role/UsersUpdaterTest.php
index a326f88b69dd902fd9ef2910a345d5723550d528..d23f30d099733be45420fb792ac4fc30e30e9901 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/Role/UsersUpdaterTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/Role/UsersUpdaterTest.php
@@ -38,7 +38,7 @@ class UsersUpdaterTest extends \PHPUnit_Framework_TestCase
     protected $_backendHelper;
 
     /**
-     * @var \Magento\Core\Controller\Request\Http|PHPUnit_Framework_MockObject_MockObject
+     * @var \Magento\App\RequestInterface|PHPUnit_Framework_MockObject_MockObject
      */
     protected $_request;
 
@@ -57,7 +57,7 @@ class UsersUpdaterTest extends \PHPUnit_Framework_TestCase
             ->getMock();
         $this->_backendHelper->expects($this->any())->method('prepareFilterString')->will($this->returnArgument(0));
 
-        $this->_request = $this->getMockBuilder('Magento\Core\Controller\Request\Http')
+        $this->_request = $this->getMockBuilder('Magento\App\Request\Http')
             ->disableOriginalConstructor()
             ->getMock();
         $this->_collection = $this->getMockBuilder('Magento\Webapi\Model\Resource\Acl\User\Collection')
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/RoleTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/RoleTest.php
index 0e698e4e8be8b9e24ec2722c8001521e224171ad..de08d16b286235496fc69487cab297051e894f59 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/RoleTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/RoleTest.php
@@ -77,7 +77,7 @@ class RoleTest extends \PHPUnit_Framework_TestCase
     protected function _createModel($roleService, $serviceCollection = null)
     {
         return $this->_helper->getObject('Magento\Webapi\Model\Acl\Role', array(
-            'eventDispatcher' => $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false),
+            'eventDispatcher' => $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false),
             'cacheManager' => $this->getMock('Magento\Core\Model\CacheInterface', array(), array(), '', false),
             'resource' => $roleService,
             'resourceCollection' => $serviceCollection
@@ -100,7 +100,7 @@ class RoleTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetCollection()
     {
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $fetchStrategy = $this->getMockForAbstractClass('Magento\Data\Collection\Db\FetchStrategyInterface');
         $entityFactory = $this->getMock('Magento\Core\Model\EntityFactory', array(), array(), '', false);
         $logger = $this->getMock('Magento\Core\Model\Logger', array(), array(), '', false);
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/RuleTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/RuleTest.php
index e8d008c513009188461ccc71dffc677a39bb1329..65d48c9752efe755afacececb3a28c54e37227be 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/RuleTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/RuleTest.php
@@ -77,7 +77,7 @@ class RuleTest extends \PHPUnit_Framework_TestCase
     protected function _createModel($ruleResource, $resourceCollection = null)
     {
         return $this->_helper->getObject('Magento\Webapi\Model\Acl\Rule', array(
-            'eventDispatcher' => $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false),
+            'eventDispatcher' => $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false),
             'cacheManager' => $this->getMock('Magento\Core\Model\CacheInterface', array(), array(), '', false),
             'resource' => $ruleResource,
             'resourceCollection' => $resourceCollection
@@ -115,7 +115,7 @@ class RuleTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetCollection()
     {
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $fetchStrategy = $this->getMockForAbstractClass('Magento\Data\Collection\Db\FetchStrategyInterface');
         $entityFactory = $this->getMock('Magento\Core\Model\EntityFactory', array(), array(), '', false);
         $logger = $this->getMock('Magento\Core\Model\Logger', array(), array(), '', false);
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/User/RoleUpdaterTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/User/RoleUpdaterTest.php
index f09cba64eee0c223d4602c887a7b91d1d07caf03..2b92ddd0155625d9111163520c7553035c35f4d7 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/User/RoleUpdaterTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/User/RoleUpdaterTest.php
@@ -34,7 +34,7 @@ class RoleUpdaterTest extends \PHPUnit_Framework_TestCase
 
         $helper = new \Magento\TestFramework\Helper\ObjectManager($this);
 
-        $request = $this->getMockBuilder('Magento\Core\Controller\Request\Http')
+        $request = $this->getMockBuilder('Magento\App\RequestInterface')
             ->disableOriginalConstructor()
             ->getMock();
         $request->expects($this->any())->method('getParam')->will($this->returnValueMap(array(
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/UserTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/UserTest.php
index f46940336af41da2e24fd56f88adcfc4a87957a1..30c183b6cf08c27ce24a5a9ca06aae6a59dfb47f 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/UserTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Model/Acl/UserTest.php
@@ -77,7 +77,7 @@ class UserTest extends \PHPUnit_Framework_TestCase
     protected function _createModel($userService, $serviceCollection = null)
     {
         return $this->_helper->getObject('Magento\Webapi\Model\Acl\User', array(
-            'eventDispatcher' => $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false),
+            'eventDispatcher' => $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false),
             'cacheManager' => $this->getMock('Magento\Core\Model\CacheInterface', array(), array(), '', false),
             'resource' => $userService,
             'resourceCollection' => $serviceCollection
@@ -146,7 +146,7 @@ class UserTest extends \PHPUnit_Framework_TestCase
      */
     public function testGetCollection()
     {
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $fetchStrategy = $this->getMockForAbstractClass('Magento\Data\Collection\Db\FetchStrategyInterface');
         $entityFactory = $this->getMock('Magento\Core\Model\EntityFactory', array(), array(), '', false);
         $logger = $this->getMock('Magento\Core\Model\Logger', array(), array(), '', false);
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Model/Soap/ConfigTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Model/Soap/ConfigTest.php
index 8b6e5439d3addc63b7d0db5fe63051be45499f03..deb72f4b1452d34426634bb5acead3ca7ab58024 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Model/Soap/ConfigTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Model/Soap/ConfigTest.php
@@ -44,7 +44,7 @@ class ConfigTest extends \PHPUnit_Framework_TestCase
             ->disableOriginalConstructor()
             ->getMock();
         $fileSystemMock = $this->getMockBuilder('Magento\Filesystem')->disableOriginalConstructor()->getMock();
-        $dirMock = $this->getMockBuilder('Magento\Core\Model\Dir')->disableOriginalConstructor()->getMock();
+        $dirMock = $this->getMockBuilder('Magento\App\Dir')->disableOriginalConstructor()->getMock();
         $configMock = $this->getMockBuilder('Magento\Webapi\Model\Config')->disableOriginalConstructor()->getMock();
         $this->_soapConfig = new \Magento\Webapi\Model\Soap\Config(
             $objectManagerMock,
diff --git a/dev/tests/unit/testsuite/Magento/Webapi/Model/Soap/ServerTest.php b/dev/tests/unit/testsuite/Magento/Webapi/Model/Soap/ServerTest.php
index 1deeaabdc465c1f45c9edfd9d528afe1ef0f58e8..7a5246a728a75b64af89b877081a5472f5734e8a 100644
--- a/dev/tests/unit/testsuite/Magento/Webapi/Model/Soap/ServerTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webapi/Model/Soap/ServerTest.php
@@ -36,9 +36,6 @@ class ServerTest extends \PHPUnit_Framework_TestCase
     /** @var \Magento\Core\Model\Store */
     protected $_storeMock;
 
-    /** @var \Magento\Core\Model\Config */
-    protected $_configMock;
-
     /** @var \Magento\Webapi\Controller\Soap\Request */
     protected $_requestMock;
 
@@ -64,9 +61,9 @@ class ServerTest extends \PHPUnit_Framework_TestCase
         $this->_storeManagerMock->expects($this->any())->method('getStore')
             ->will($this->returnValue($this->_storeMock));
 
-        $this->_configMock = $this->getMockBuilder('Magento\Core\Model\Config')
-            ->disableOriginalConstructor()->getMock();
-        $this->_configMock->expects($this->any())->method('getAreaFrontName')->will($this->returnValue('soap'));
+        $areaListMock = $this->getMock('Magento\App\AreaList', array(), array(), '', false);
+        $configScopeMock = $this->getMock('Magento\Config\ScopeInterface');
+        $areaListMock->expects($this->any())->method('getFrontName')->will($this->returnValue('soap'));
 
         $this->_requestMock = $this->getMockBuilder('Magento\Webapi\Controller\Soap\Request')
             ->disableOriginalConstructor()
@@ -80,7 +77,8 @@ class ServerTest extends \PHPUnit_Framework_TestCase
 
         /** Init SUT. */
         $this->_soapServer = new \Magento\Webapi\Model\Soap\Server(
-            $this->_configMock,
+            $areaListMock,
+            $configScopeMock,
             $this->_requestMock,
             $this->_domDocumentFactory,
             $this->_storeManagerMock,
@@ -93,7 +91,6 @@ class ServerTest extends \PHPUnit_Framework_TestCase
     protected function tearDown()
     {
         unset($this->_soapServer);
-        unset($this->_configMock);
         unset($this->_requestMock);
         unset($this->_domDocumentFactory);
         unset($this->_storeMock);
diff --git a/dev/tests/unit/testsuite/Magento/Webhook/Controller/Adminhtml/Webhook/RegistrationTest.php b/dev/tests/unit/testsuite/Magento/Webhook/Controller/Adminhtml/Webhook/RegistrationTest.php
index 418d51f9a060599260ab65eaba66a8bd77e93ffd..769203b4fa2d7fe34b955ef6a72ad37205a765b0 100644
--- a/dev/tests/unit/testsuite/Magento/Webhook/Controller/Adminhtml/Webhook/RegistrationTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webhook/Controller/Adminhtml/Webhook/RegistrationTest.php
@@ -92,7 +92,7 @@ class RegistrationTest extends \PHPUnit_Framework_TestCase
         $this->_mockConfig = $this->getMockBuilder('Magento\Core\Model\Config')->disableOriginalConstructor()
             ->getMock();
         $this->_mockApp->expects($this->any())->method('getConfig')->will($this->returnValue($this->_mockConfig));
-        $this->_mockEventManager = $this->getMockBuilder('Magento\Core\Model\Event\Manager')
+        $this->_mockEventManager = $this->getMockBuilder('Magento\Event\ManagerInterface')
             ->disableOriginalConstructor()
             ->getMock();
         $this->_mockLayoutFilter = $this->getMockBuilder('Magento\Core\Model\Layout\Filter\Acl')
@@ -112,12 +112,10 @@ class RegistrationTest extends \PHPUnit_Framework_TestCase
             ->disableOriginalConstructor()
             ->getMock();
 
-        $this->_mockRequest = $this->getMockBuilder('Magento\Core\Controller\Request\Http')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $this->_mockResponse = $this->getMockBuilder('Magento\Core\Controller\Response\Http')
+        $this->_mockRequest = $this->getMockBuilder('Magento\App\Request\Http')
             ->disableOriginalConstructor()
             ->getMock();
+        $this->_mockResponse = $this->getMock('Magento\App\Response\Http');
     }
 
     public function testActivateActionException()
diff --git a/dev/tests/unit/testsuite/Magento/Webhook/Controller/Adminhtml/Webhook/SubscriptionTest.php b/dev/tests/unit/testsuite/Magento/Webhook/Controller/Adminhtml/Webhook/SubscriptionTest.php
index ce8e712013c8580456fe2355b6ced668a8294ca5..4c350d715904dea12c126d63f357d56fb3f14ac4 100644
--- a/dev/tests/unit/testsuite/Magento/Webhook/Controller/Adminhtml/Webhook/SubscriptionTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webhook/Controller/Adminhtml/Webhook/SubscriptionTest.php
@@ -67,6 +67,9 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase
     /** @var \PHPUnit_Framework_MockObject_MockObject */
     protected $_mockRequest;
 
+    /** @var \PHPUnit_Framework_MockObject_MockObject */
+    protected $_mockResponse;
+
     /** @var \PHPUnit_Framework_MockObject_MockObject */
     protected $_mockConfigScope;
 
@@ -88,7 +91,7 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase
         $this->_mockConfig = $this->getMockBuilder('Magento\Core\Model\Config')->disableOriginalConstructor()
             ->getMock();
         $this->_mockApp->expects($this->any())->method('getConfig')->will($this->returnValue($this->_mockConfig));
-        $this->_mockEventManager = $this->getMockBuilder('Magento\Core\Model\Event\Manager')
+        $this->_mockEventManager = $this->getMockBuilder('Magento\Event\ManagerInterface')
             ->disableOriginalConstructor()
             ->getMock();
         $this->_mockLayoutFilter = $this->getMockBuilder('Magento\Core\Model\Layout\Filter\Acl')
@@ -103,7 +106,10 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase
         $this->_mockSubscriptionSvc = $this->getMockBuilder('Magento\Webhook\Service\SubscriptionV1')
             ->disableOriginalConstructor()
             ->getMock();
-        $this->_mockRequest = $this->getMockBuilder('Magento\Core\Controller\Request\Http')
+        $this->_mockRequest = $this->getMockBuilder('Magento\App\Request\Http')
+            ->disableOriginalConstructor()
+            ->getMock();
+        $this->_mockResponse = $this->getMockBuilder('Magento\App\Response\Http')
             ->disableOriginalConstructor()
             ->getMock();
         $this->_mockRegistry = $this->getMockBuilder('Magento\Core\Model\Registry')
@@ -568,6 +574,7 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase
             'session' => $this->_mockBackendModSess,
             'translator' => $this->_mockTranslateModel,
             'request' => $this->_mockRequest,
+            'response' => $this->_mockResponse,
         );
 
         $this->_mockBackendCntCtxt = $this->_objectManagerHelper
diff --git a/dev/tests/unit/testsuite/Magento/Webhook/Model/EndpointTest.php b/dev/tests/unit/testsuite/Magento/Webhook/Model/EndpointTest.php
index 428a2c26f8574271296474c217f75f2501aa3f5b..249cd8927be590294db4b1d5ead7a1573f657ff5 100644
--- a/dev/tests/unit/testsuite/Magento/Webhook/Model/EndpointTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webhook/Model/EndpointTest.php
@@ -122,7 +122,7 @@ class EndpointTest extends \PHPUnit_Framework_TestCase
      */
     public function testBeforeSave($hasAuthType, $hasDataChanges)
     {
-        $mockEventManager = $this->getMockBuilder('Magento\Core\Model\Event\Manager')
+        $mockEventManager = $this->getMockBuilder('Magento\Event\ManagerInterface')
             ->disableOriginalConstructor()
             ->getMock();
 
diff --git a/dev/tests/unit/testsuite/Magento/Webhook/Model/EventTest.php b/dev/tests/unit/testsuite/Magento/Webhook/Model/EventTest.php
index 451f8dc737486199d97166ee7978872322ee92d0..5d6eb4b7535ce27b9b202f1abbdbe4e805a839a1 100644
--- a/dev/tests/unit/testsuite/Magento/Webhook/Model/EventTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webhook/Model/EventTest.php
@@ -50,7 +50,7 @@ class EventTest extends \PHPUnit_Framework_TestCase
             ->disableOriginalConstructor()
             ->getMock();
 
-        $mockEventManager = $this->getMockBuilder('Magento\Core\Model\Event\Manager')
+        $mockEventManager = $this->getMockBuilder('Magento\Event\ManagerInterface')
             ->disableOriginalConstructor()
             ->getMock();
 
diff --git a/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Event/CollectionTest.php b/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Event/CollectionTest.php
index 873f74da5b071415bb081551640cc4c2b37df27f..128a7b9d3e5233ceab1a51ea3d505e97cf0421d2 100644
--- a/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Event/CollectionTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Event/CollectionTest.php
@@ -31,8 +31,8 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
 {
     public function testConstructor()
     {
-        /** @var \Magento\Core\Model\Event\Manager $eventManager */
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        /** @var \Magento\Event\ManagerInterface $eventManager */
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         /** @var \Magento\Data\Collection\Db\FetchStrategyInterface $mockFetchStrategy */
         $mockFetchStrategy = $this->getMockBuilder('Magento\Data\Collection\Db\FetchStrategyInterface')
             ->disableOriginalConstructor()
diff --git a/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Job/CollectionTest.php b/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Job/CollectionTest.php
index 3ab515725f4c003101ad8dc4565b018769381134..ec79757386f3e42adfad7907a79f4fee51e014e5 100644
--- a/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Job/CollectionTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Job/CollectionTest.php
@@ -31,8 +31,8 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
 {
     public function testConstructor()
     {
-        /** @var \Magento\Core\Model\Event\Manager $eventManager */
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        /** @var \Magento\Event\ManagerInterface $eventManager */
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         /** @var \Magento\Data\Collection\Db\FetchStrategyInterface $mockFetchStrategy */
         $mockFetchStrategy = $this->getMockBuilder('Magento\Data\Collection\Db\FetchStrategyInterface')
             ->disableOriginalConstructor()
diff --git a/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Subscription/CollectionTest.php b/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Subscription/CollectionTest.php
index ed67684f5ddd499b80babfeab8f724aa885ea1a2..52cec64b34fc515ab0dd344f370fd89c7d3d02d9 100644
--- a/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Subscription/CollectionTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Subscription/CollectionTest.php
@@ -55,7 +55,7 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
     private $_entityFactory;
 
     /**
-     * @var \Magento\Core\Model\Event\Manager
+     * @var \Magento\Event\ManagerInterface
      */
     private $_eventManager;
 
@@ -78,10 +78,10 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
             ->will($this->returnValue($this->_selectMock));
 
         $subscriptionMock = $this->_makeMock('Magento\Webhook\Model\Subscription');
-        $eventMgrMock = $this->_makeMock('Magento\Core\Model\Event\Manager');
+        $eventMgrMock = $this->_makeMock('Magento\Event\ManagerInterface');
 
         // Arguments to collection constructor
-        $this->_eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $this->_eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
         $this->_fetchStrategyMock = $this->_makeMock('Magento\Data\Collection\Db\FetchStrategyInterface');
         $this->_endpointResMock = $this->_makeMock('Magento\Webhook\Model\Resource\Endpoint');
         $this->_resourceMock = $this-> _makeMock('Magento\Webhook\Model\Resource\Subscription');
@@ -95,7 +95,7 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
             array('Magento\Webhook\Model\Subscription', array(), $subscriptionMock)
         );
         $getReturnMap = array(
-            array('Magento\Core\Model\Event\Manager', $eventMgrMock),
+            array('Magento\Event\ManagerInterface', $eventMgrMock),
         );
         $mockObjectManager = $this->_setMageObjectManager();
         $mockObjectManager->expects($this->any())
diff --git a/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Subscription/Grid/CollectionTest.php b/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Subscription/Grid/CollectionTest.php
index 189ba2b6df6bbed91885b4e3ab29a6a1ab6e8fde..733201eec4b623bbd253c12d0aa40bb8f1147aa8 100644
--- a/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Subscription/Grid/CollectionTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webhook/Model/Resource/Subscription/Grid/CollectionTest.php
@@ -31,7 +31,7 @@ class CollectionTest extends \PHPUnit_Framework_TestCase
 {
     public function testConstructor()
     {
-        $eventManager = $this->getMock('Magento\Core\Model\Event\Manager', array(), array(), '', false);
+        $eventManager = $this->getMock('Magento\Event\ManagerInterface', array(), array(), '', false);
 
         $fetchStrategyMock = $this->_makeMock('Magento\Data\Collection\Db\FetchStrategyInterface');
         $endpointResMock = $this->_makeMock('Magento\Webhook\Model\Resource\Endpoint');
diff --git a/dev/tests/unit/testsuite/Magento/Webhook/Model/SubscriptionTest.php b/dev/tests/unit/testsuite/Magento/Webhook/Model/SubscriptionTest.php
index 9f308eb67725b40c90a93242004ca1733e5df814..15457f0dc6a9a3bdda9621743d20ef46661989c1 100644
--- a/dev/tests/unit/testsuite/Magento/Webhook/Model/SubscriptionTest.php
+++ b/dev/tests/unit/testsuite/Magento/Webhook/Model/SubscriptionTest.php
@@ -61,7 +61,7 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase
             ->method('getUser')
             ->will($this->returnValue($this->_mockUser));
 
-        $mockEventDispatcher = $this->getMockBuilder('Magento\Core\Model\Event\Manager')
+        $mockEventDispatcher = $this->getMockBuilder('Magento\Event\ManagerInterface')
             ->disableOriginalConstructor()
             ->getMock();
 
diff --git a/dev/tools/Magento/Tools/Migration/aliases_map/composite_modules_ce.php b/dev/tools/Magento/Tools/Migration/aliases_map/composite_modules_ce.php
index 9a1b7d1fc9aa3901420c2b119df599619af9c212..36059e8de84ceb36b53b53df63c2677b850d2ba3 100644
--- a/dev/tools/Magento/Tools/Migration/aliases_map/composite_modules_ce.php
+++ b/dev/tools/Magento/Tools/Migration/aliases_map/composite_modules_ce.php
@@ -27,10 +27,11 @@
 /**
  * List on composite module names for Magento CE
  */
-
-require_once realpath(dirname(dirname(dirname(dirname(__DIR__)))))
+require_once realpath(dirname(dirname(dirname(dirname(dirname(dirname(__DIR__)))))))
+    . '/app/code/Magento/Core/Model/Resource/SetupInterface.php';
+require_once realpath(dirname(dirname(dirname(dirname(dirname(dirname(__DIR__)))))))
     . '/app/code/Magento/Core/Model/Resource/Setup.php';
-require_once realpath(dirname(dirname(dirname(dirname(__DIR__)))))
+require_once realpath(dirname(dirname(dirname(dirname(dirname(dirname(__DIR__)))))))
     . '/app/code/Magento/Core/Model/Resource/Setup/Migration.php';
 
 return \Magento\Core\Model\Resource\Setup\Migration::getCompositeModules();
diff --git a/dev/tools/Magento/Tools/Migration/get_aliases_map.php b/dev/tools/Magento/Tools/Migration/get_aliases_map.php
index 2e401dd8c46ba8dbfc80bdc8b9a4f6ab490e4f71..93811cd4eaa135fd1b7ac4b493402f8f4dd8151f 100644
--- a/dev/tools/Magento/Tools/Migration/get_aliases_map.php
+++ b/dev/tools/Magento/Tools/Migration/get_aliases_map.php
@@ -43,21 +43,24 @@ if (isset($options['h'])) {
     exit(0);
 }
 
-require_once realpath(dirname(dirname(dirname(__DIR__)))) . '/dev/tests/static/framework/bootstrap.php';
-require_once realpath(dirname(dirname(dirname(__DIR__)))) . '/lib/Zend/Json.php';
+require_once realpath(dirname(dirname(dirname(dirname(dirname(__DIR__)))))) .
+    '/dev/tests/static/framework/bootstrap.php';
+require_once realpath(dirname(dirname(dirname(dirname(dirname(__DIR__)))))) .
+    '/dev/tests/static/framework/Magento/TestFramework/Utility/Classes.php';
+require_once realpath(dirname(dirname(dirname(dirname(dirname(__DIR__)))))) . '/lib/Zend/Json.php';
 
-$magentoBaseDir = dirname(__DIR__) . '/../../';
+$magentoBaseDir = dirname(__DIR__) . '/../../../../';
 if (isset($options['p'])) {
     $magentoBaseDir = $options['p'];
 }
 
 $utilityFiles = new Magento\TestFramework\Utility\Files($magentoBaseDir);
 $map = array();
-$compositeModules = getFilesCombinedArray(__DIR__ . '/AliasesMap', '/^composite_modules_.*\.php$/');
+$compositeModules = getFilesCombinedArray(__DIR__ . '/aliases_map', '/^composite_modules_.*\.php$/');
 // PHP code
 foreach ($utilityFiles->getPhpFiles(true, true, true, false) as $file) {
     $content = file_get_contents($file);
-    $classes = \Magento\Test\Legacy\ClassesTest::collectPhpCodeClasses($content);
+    $classes = \Magento\TestFramework\Utility\Classes::collectPhpCodeClasses($content);
     if ($classes) {
         $factoryNames = array_filter($classes, 'isFactoryName');
         foreach ($factoryNames as $factoryName) {
diff --git a/dev/tools/Magento/Tools/View/Generator/Config.php b/dev/tools/Magento/Tools/View/Generator/Config.php
index d325aebc0c37e88211d744ca4ee4122b13b61b8c..3e746269d970aa0f1f1460a97df1338d9bdd78fb 100644
--- a/dev/tools/Magento/Tools/View/Generator/Config.php
+++ b/dev/tools/Magento/Tools/View/Generator/Config.php
@@ -61,8 +61,8 @@ class Config
         if (isset($cmdOptions['destination'])) {
             $destinationDir = $cmdOptions['destination'];
         } else {
-            $dirs = new \Magento\Core\Model\Dir($sourceDir);
-            $destinationDir = $dirs->getDir(\Magento\Core\Model\Dir::STATIC_VIEW);
+            $dirs = new \Magento\App\Dir($sourceDir);
+            $destinationDir = $dirs->getDir(\Magento\App\Dir::STATIC_VIEW);
         }
         if (!is_dir($destinationDir)) {
             throw new \Magento\Exception('Destination directory does not exist: ' . $destinationDir);
diff --git a/dev/tools/Magento/Tools/View/Generator/CopyRule.php b/dev/tools/Magento/Tools/View/Generator/CopyRule.php
index 4049dd44e85581902a4cded6eecb0a0cd214536d..84f7b27643cc7adcbc4b24e57515d53ea71e618a 100644
--- a/dev/tools/Magento/Tools/View/Generator/CopyRule.php
+++ b/dev/tools/Magento/Tools/View/Generator/CopyRule.php
@@ -82,7 +82,7 @@ class CopyRule
     public function getCopyRules()
     {
         $result = array();
-        /** @var $theme \Magento\Core\Model\ThemeInterface */
+        /** @var $theme \Magento\View\Design\ThemeInterface */
         foreach ($this->_themes as $theme) {
             $area = $theme->getArea();
             $nonModularLocations = $this->_fallbackRule->getPatternDirs(array(
diff --git a/dev/tools/Magento/Tools/View/Generator/ThemeLight.php b/dev/tools/Magento/Tools/View/Generator/ThemeLight.php
index 0f1f1ded935050d214aae5b9f3931b7ca6b0e709..6dcf3ae8e5132156b665e50522c40c1cc11a4d75 100644
--- a/dev/tools/Magento/Tools/View/Generator/ThemeLight.php
+++ b/dev/tools/Magento/Tools/View/Generator/ThemeLight.php
@@ -29,7 +29,7 @@
  */
 namespace Magento\Tools\View\Generator;
 
-class ThemeLight extends \Magento\Object implements \Magento\Core\Model\ThemeInterface
+class ThemeLight extends \Magento\Object implements \Magento\View\Design\ThemeInterface
 {
     /**
      * {@inheritdoc}
@@ -70,4 +70,12 @@ class ThemeLight extends \Magento\Object implements \Magento\Core\Model\ThemeInt
     {
         return (string)$this->getData('code');
     }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function isPhysical()
+    {
+        return false;
+    }
 }
diff --git a/dev/tools/Magento/Tools/View/generator.php b/dev/tools/Magento/Tools/View/generator.php
index 9076ca01faf8a5faab7bfdc28e4d4769e7fd2447..bdf9fd03ad68577bd36ac2519d19955522a13e4a 100644
--- a/dev/tools/Magento/Tools/View/generator.php
+++ b/dev/tools/Magento/Tools/View/generator.php
@@ -62,7 +62,7 @@ try {
     $config = new \Magento\Tools\View\Generator\Config(BP, $options);
 
     $filesystem = new \Magento\Filesystem(new \Magento\Filesystem\Adapter\Local);
-    $dirs = new \Magento\Core\Model\Dir($config->getSourceDir());
+    $dirs = new \Magento\App\Dir($config->getSourceDir());
     $objectManager = new \Magento\ObjectManager\ObjectManager();
 
     $themes = new \Magento\Core\Model\Theme\Collection($filesystem, $objectManager, $dirs);
diff --git a/downloader/app/Magento/Downloader/Controller.php b/downloader/app/Magento/Downloader/Controller.php
index f2f7234fe6612d8061e0cc292e1f646245a75eb3..89a7b31da552508e860f2af900aab4b7f454c729 100755
--- a/downloader/app/Magento/Downloader/Controller.php
+++ b/downloader/app/Magento/Downloader/Controller.php
@@ -513,7 +513,7 @@ final class Controller
                     include_once self::$_instance->getBootstrapPath();
 
                     \Magento\Core\Model\ObjectManager::getInstance()
-                        ->get('Magento\Core\Model\App\State')
+                        ->get('Magento\App\State')
                         ->setIsDownloader();
                 }
                 \Magento\Core\Model\ObjectManager::getInstance()->get('Magento\Core\Model\App');
@@ -943,9 +943,9 @@ final class Controller
                 // reinit config and apply all updates
                 \Mage::app()->getConfig()->reinit();
 
-                /** @var $updater \Magento\Core\Model\Db\UpdaterInterface*/
+                /** @var $updater \Magento\App\UpdaterInterface*/
                 $updater = \Magento\Core\Model\ObjectManager::getInstance()
-                    ->get('Magento\Core\Model\Db\UpdaterInterface');
+                    ->get('Magento\App\UpdaterInterface');
                 $updater->updateScheme();
                 $updater->updateData();
                 $message .= 'Cache cleaned successfully';
diff --git a/app/code/Magento/Core/Controller/Varien/AbstractAction.php b/lib/Magento/App/Action/AbstractAction.php
similarity index 73%
rename from app/code/Magento/Core/Controller/Varien/AbstractAction.php
rename to lib/Magento/App/Action/AbstractAction.php
index 4b8c2d63c09ad91d8002f263c92ecab46433dbe0..001ce4812acafd7f094fce1af8dfbc97f616b6ef 100644
--- a/app/code/Magento/Core/Controller/Varien/AbstractAction.php
+++ b/lib/Magento/App/Action/AbstractAction.php
@@ -1,5 +1,7 @@
 <?php
 /**
+ * Abstract redirect/forward action class
+ *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -18,41 +20,30 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
+namespace Magento\App\Action;
 
-/**
- * Abstract redirect/forward action class
- *
- * @category   Magento
- * @package    Magento_Core
- * @author     Magento Core Team <core@magentocommerce.com>
- */
-namespace Magento\Core\Controller\Varien;
-
-abstract class AbstractAction
-    implements \Magento\Core\Controller\Varien\DispatchableInterface
+abstract class AbstractAction implements \Magento\App\ActionInterface
 {
     /**
-     * @var \Magento\Core\Controller\Request\Http
+     * @var \Magento\App\RequestInterface
      */
     protected $_request;
 
     /**
-     * @var \Magento\Core\Controller\Response\Http
+     * @var \Magento\App\ResponseInterface
      */
     protected $_response;
 
     /**
-     * @param \Magento\Core\Controller\Request\Http $request
-     * @param \Magento\Core\Controller\Response\Http $response
+     * @param \Magento\App\RequestInterface $request
+     * @param \Magento\App\ResponseInterface $response
      */
     public function __construct(
-        \Magento\Core\Controller\Request\Http $request,
-        \Magento\Core\Controller\Response\Http $response
+        \Magento\App\RequestInterface $request,
+        \Magento\App\ResponseInterface $response
     ) {
         $this->_request  = $request;
         $this->_response = $response;
@@ -61,7 +52,7 @@ abstract class AbstractAction
     /**
      * Retrieve request object
      *
-     * @return \Magento\Core\Controller\Request\Http
+     * @return \Magento\App\RequestInterface
      */
     public function getRequest()
     {
@@ -71,7 +62,7 @@ abstract class AbstractAction
     /**
      * Retrieve response object
      *
-     * @return \Magento\Core\Controller\Response\Http
+     * @return \Magento\App\ResponseInterface
      */
     public function getResponse()
     {
diff --git a/app/code/Magento/Core/Controller/Varien/Exception.php b/lib/Magento/App/Action/Exception.php
similarity index 87%
rename from app/code/Magento/Core/Controller/Varien/Exception.php
rename to lib/Magento/App/Action/Exception.php
index 60657a9336f5e04f01eabebe947a95f7bf771bf6..d555c7b9126393f7eb3f16296a96512b24b54ac3 100644
--- a/app/code/Magento/Core/Controller/Varien/Exception.php
+++ b/lib/Magento/App/Action/Exception.php
@@ -1,5 +1,7 @@
 <?php
 /**
+ * Controller exception that can fork different actions, cause forward or redirect
+ *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -18,18 +20,14 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
+namespace Magento\App\Action;
 
 /**
- * Controller exception that can fork different actions, cause forward or redirect
- *
+ * @SuppressWarnings(PHPMD.LongVariable)
  */
-namespace Magento\Core\Controller\Varien;
-
 class Exception extends \Exception
 {
     const RESULT_FORWARD  = '_forward';
@@ -47,10 +45,11 @@ class Exception extends \Exception
      * @param string $controllerName
      * @param string $moduleName
      * @param array $params
-     * @return \Magento\Core\Controller\Varien\Exception
+     * @return \Magento\App\Action\Exception
      */
-    public function prepareForward($actionName = null, $controllerName = null, $moduleName = null, array $params = array())
-    {
+    public function prepareForward(
+        $actionName = null, $controllerName = null, $moduleName = null, array $params = array()
+    ) {
         $this->_resultCallback = self::RESULT_FORWARD;
         if (null === $actionName) {
             $actionName = $this->_defaultActionName;
@@ -63,7 +62,7 @@ class Exception extends \Exception
      * Prepare data for running a custom action
      *
      * @param string $actionName
-     * @return \Magento\Core\Controller\Varien\Exception
+     * @return \Magento\App\Action\Exception
      */
     public function prepareFork($actionName = null)
     {
@@ -80,7 +79,7 @@ class Exception extends \Exception
      * @param string $action
      * @param string $flag
      * @param bool $value
-     * @return \Magento\Core\Controller\Varien\Exception
+     * @return \Magento\App\Action\Exception
      */
     public function prepareFlag($action, $flag, $value)
     {
diff --git a/app/code/Magento/Core/Controller/Varien/Action/Forward.php b/lib/Magento/App/Action/Forward.php
similarity index 78%
rename from app/code/Magento/Core/Controller/Varien/Action/Forward.php
rename to lib/Magento/App/Action/Forward.php
index a0c5b992dcc3a63ea9caf8beee26f7e9781edf66..c4b871427645c94e6c5f5b958335013687f981fb 100644
--- a/app/code/Magento/Core/Controller/Varien/Action/Forward.php
+++ b/lib/Magento/App/Action/Forward.php
@@ -1,5 +1,7 @@
 <?php
 /**
+ * Forward action class
+ *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -18,22 +20,12 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
+namespace Magento\App\Action;
 
-/**
- * Forward controller
- *
- * @category   Magento
- * @package    Magento_Core
- * @author     Magento Core Team <core@magentocommerce.com>
- */
-namespace Magento\Core\Controller\Varien\Action;
-
-class Forward extends \Magento\Core\Controller\Varien\AbstractAction
+class Forward extends AbstractAction
 {
     /**
      * Dispatch controller action
diff --git a/app/code/Magento/Core/Controller/Varien/Action/Redirect.php b/lib/Magento/App/Action/Redirect.php
similarity index 76%
rename from app/code/Magento/Core/Controller/Varien/Action/Redirect.php
rename to lib/Magento/App/Action/Redirect.php
index c7d448a1925c61461362c2023336d64178207057..635b9e38f98716e941bb004e16536d1c413d2661 100644
--- a/app/code/Magento/Core/Controller/Varien/Action/Redirect.php
+++ b/lib/Magento/App/Action/Redirect.php
@@ -1,5 +1,7 @@
 <?php
 /**
+ * Redirect action class
+ *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -18,28 +20,17 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
+namespace Magento\App\Action;
 
-/**
- * Redirect controller
- *
- * @category   Magento
- * @package    Magento_Core
- * @author     Magento Core Team <core@magentocommerce.com>
- */
-namespace Magento\Core\Controller\Varien\Action;
-
-class Redirect extends \Magento\Core\Controller\Varien\AbstractAction
+class Redirect extends AbstractAction
 {
-     /**
+    /**
      * Dispatch controller action
      *
      * @param string $action action name
-     * @return void
      * @SuppressWarnings(PHPMD.UnusedFormalParameter)
      */
     public function dispatch($action)
diff --git a/app/code/Magento/Core/Controller/Varien/Action/Factory.php b/lib/Magento/App/ActionFactory.php
similarity index 86%
rename from app/code/Magento/Core/Controller/Varien/Action/Factory.php
rename to lib/Magento/App/ActionFactory.php
index 531b123c72995939709881cf4adfe9b23232856e..ef56443fbe9c161291b8a4543547857bd7ba11ff 100644
--- a/app/code/Magento/Core/Controller/Varien/Action/Factory.php
+++ b/lib/Magento/App/ActionFactory.php
@@ -1,5 +1,7 @@
 <?php
 /**
+ * Action Factory
+ *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -18,22 +20,12 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
+namespace Magento\App;
 
-/**
- * Controller factory
- *
- * @category   Magento
- * @package    Magento_Core
- * @author     Magento Core Team <core@magentocommerce.com>
- */
-namespace Magento\Core\Controller\Varien\Action;
-
-class Factory
+class ActionFactory
 {
     /**
      * @var \Magento\ObjectManager
diff --git a/app/code/Magento/Core/Model/TemplateEngine/BlockTrackerInterface.php b/lib/Magento/App/ActionInterface.php
similarity index 79%
rename from app/code/Magento/Core/Model/TemplateEngine/BlockTrackerInterface.php
rename to lib/Magento/App/ActionInterface.php
index 42112b25b181251f7cfb2de00058967a48cac443..2c3205128d426a2b34e1987fe4790f15e5c52793 100644
--- a/app/code/Magento/Core/Model/TemplateEngine/BlockTrackerInterface.php
+++ b/lib/Magento/App/ActionInterface.php
@@ -1,6 +1,6 @@
 <?php
 /**
- * Interface for keeping track of the current block
+ * Magento application action
  *
  * Magento
  *
@@ -23,13 +23,16 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\TemplateEngine;
+namespace Magento\App;
 
-interface BlockTrackerInterface
+interface ActionInterface
 {
     /**
-     * Get the current block
-     * @return \Magento\Core\Block\Template
+     * Dispatch controller action
+     *
+     * @abstract
+     * @param string $action action name
+     * @return void
      */
-    public function getCurrentBlock();
+    public function dispatch($action);
 }
diff --git a/lib/Magento/App/Area/FrontNameResolverFactory.php b/lib/Magento/App/Area/FrontNameResolverFactory.php
new file mode 100644
index 0000000000000000000000000000000000000000..8c81099b540a6292a143d4e942ea6b670798545b
--- /dev/null
+++ b/lib/Magento/App/Area/FrontNameResolverFactory.php
@@ -0,0 +1,51 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App\Area;
+
+class FrontNameResolverFactory
+{
+    /**
+     * @var \Magento\ObjectManager
+     */
+    protected $_objectManager;
+
+    /**
+     * @param \Magento\ObjectManager $objectManager
+     */
+    public function __construct(\Magento\ObjectManager $objectManager)
+    {
+        $this->_objectManager = $objectManager;
+    }
+
+    /**
+     * Create front name resolver
+     *
+     * @param string $className
+     * @return FrontNameResolverInterface
+     */
+    public function create($className)
+    {
+        return $this->_objectManager->create($className);
+    }
+}
\ No newline at end of file
diff --git a/app/code/Magento/Core/Controller/FrontInterface.php b/lib/Magento/App/Area/FrontNameResolverInterface.php
similarity index 79%
rename from app/code/Magento/Core/Controller/FrontInterface.php
rename to lib/Magento/App/Area/FrontNameResolverInterface.php
index 3191972da30feb23f8a0ddacd84fb6d6b66296d1..9c311b441ce4429240de54fad3adc8128be3530d 100644
--- a/app/code/Magento/Core/Controller/FrontInterface.php
+++ b/lib/Magento/App/Area/FrontNameResolverInterface.php
@@ -18,20 +18,17 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
+namespace Magento\App\Area;
 
-namespace Magento\Core\Controller;
-
-interface FrontInterface
+interface FrontNameResolverInterface
 {
     /**
-     * Dispatch request and send response
+     * Retrieve front name
      *
-     * @return \Magento\Core\Controller\FrontInterface
+     * @return string
      */
-    public function dispatch();
-}
+    public function getFrontName();
+}
\ No newline at end of file
diff --git a/lib/Magento/App/AreaList.php b/lib/Magento/App/AreaList.php
new file mode 100644
index 0000000000000000000000000000000000000000..091c226ca2f898f222de89f875aed75a336b6476
--- /dev/null
+++ b/lib/Magento/App/AreaList.php
@@ -0,0 +1,97 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App;
+
+class AreaList
+{
+    /**
+     * Area configuration list
+     *
+     * @var array
+     */
+    protected $_areas;
+
+    /**
+     * @var string
+     */
+    protected $_defaultAreaCode;
+
+    /**
+     * @var Area\FrontNameResolverFactory
+     */
+    protected $_resolverFactory;
+
+    /**
+     * @param Area\FrontNameResolverFactory $resolverFactory
+     * @param array $areas
+     * @param string $default
+     */
+    public function __construct(\Magento\App\Area\FrontNameResolverFactory $resolverFactory, array $areas, $default)
+    {
+        $this->_resolverFactory = $resolverFactory;
+        $this->_areas = $areas;
+        $this->_defaultAreaCode = $default;
+    }
+
+    /**
+     * Retrieve area code by front name
+     *
+     * @param string $frontName
+     * @return null|string
+     */
+    public function getCodeByFrontName($frontName)
+    {
+        foreach ($this->_areas as $areaCode => &$areaInfo) {
+            if (!isset($areaInfo['frontName']) && isset($areaInfo['frontNameResolver'])) {
+                $areaInfo['frontName'] = $this->_resolverFactory->create($areaInfo['frontNameResolver'])
+                    ->getFrontName();
+            }
+            if ($areaInfo['frontName'] == $frontName) {
+                return $areaCode;
+            }
+        }
+        return $this->_defaultAreaCode;
+    }
+
+    /**
+     * Retrieve area front name by code
+     *
+     * @param string $areaCode
+     * @return string
+     */
+    public function getFrontName($areaCode)
+    {
+        return isset($this->_areas[$areaCode]['frontName']) ? $this->_areas[$areaCode]['frontName'] : null;
+    }
+
+    /**
+     * Retrieve area codes
+     *
+     * @return array
+     */
+    public function getCodes()
+    {
+        return array_keys($this->_areas);
+    }
+}
\ No newline at end of file
diff --git a/app/code/Magento/Core/Model/Dir.php b/lib/Magento/App/Dir.php
similarity index 99%
rename from app/code/Magento/Core/Model/Dir.php
rename to lib/Magento/App/Dir.php
index 4de063011cd5fc27895b161bfbffcc0c98aae606..5ac0e745a96aef167e5a05983bbd6bab0e816358 100644
--- a/app/code/Magento/Core/Model/Dir.php
+++ b/lib/Magento/App/Dir.php
@@ -26,7 +26,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model;
+namespace Magento\App;
 
 class Dir
 {
diff --git a/app/code/Magento/Core/Model/Dir/Verification.php b/lib/Magento/App/Dir/Verification.php
similarity index 76%
rename from app/code/Magento/Core/Model/Dir/Verification.php
rename to lib/Magento/App/Dir/Verification.php
index 330e4ba1fd2a9e17e025c016d65b47563f83240d..c3859764f88e1199ee14df653bb9c06b78ff254f 100644
--- a/app/code/Magento/Core/Model/Dir/Verification.php
+++ b/lib/Magento/App/Dir/Verification.php
@@ -23,7 +23,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Dir;
+namespace Magento\App\Dir;
 
 class Verification
 {
@@ -33,12 +33,12 @@ class Verification
      * @var array
      */
     protected static $_productionDirs = array(
-        \Magento\Core\Model\Dir::MEDIA,
-        \Magento\Core\Model\Dir::VAR_DIR,
-        \Magento\Core\Model\Dir::TMP,
-        \Magento\Core\Model\Dir::CACHE,
-        \Magento\Core\Model\Dir::LOG,
-        \Magento\Core\Model\Dir::SESSION,
+        \Magento\App\Dir::MEDIA,
+        \Magento\App\Dir::VAR_DIR,
+        \Magento\App\Dir::TMP,
+        \Magento\App\Dir::CACHE,
+        \Magento\App\Dir::LOG,
+        \Magento\App\Dir::SESSION,
     );
 
     /**
@@ -47,13 +47,13 @@ class Verification
      * @var array
      */
     protected static $_nonProductionDirs = array(
-        \Magento\Core\Model\Dir::MEDIA,
-        \Magento\Core\Model\Dir::STATIC_VIEW,
-        \Magento\Core\Model\Dir::VAR_DIR,
-        \Magento\Core\Model\Dir::TMP,
-        \Magento\Core\Model\Dir::CACHE,
-        \Magento\Core\Model\Dir::LOG,
-        \Magento\Core\Model\Dir::SESSION,
+        \Magento\App\Dir::MEDIA,
+        \Magento\App\Dir::STATIC_VIEW,
+        \Magento\App\Dir::VAR_DIR,
+        \Magento\App\Dir::TMP,
+        \Magento\App\Dir::CACHE,
+        \Magento\App\Dir::LOG,
+        \Magento\App\Dir::SESSION,
     );
 
     /**
@@ -62,7 +62,7 @@ class Verification
     protected $_filesystem;
 
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
@@ -77,13 +77,13 @@ class Verification
      * Constructor - initialize object with required dependencies, determine application state
      *
      * @param \Magento\Filesystem $filesystem
-     * @param \Magento\Core\Model\Dir $dirs
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\Dir $dirs
+     * @param \Magento\App\State $appState
      */
     public function __construct(
         \Magento\Filesystem $filesystem,
-        \Magento\Core\Model\Dir $dirs,
-        \Magento\Core\Model\App\State $appState
+        \Magento\App\Dir $dirs,
+        \Magento\App\State $appState
     ) {
         $this->_filesystem = $filesystem;
         $this->_dirs = $dirs;
@@ -93,13 +93,13 @@ class Verification
     /**
      * Return list of directories, that must be verified according to the application mode
      *
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      * @return array
      */
-    protected function _getDirsToVerify(\Magento\Core\Model\App\State $appState)
+    protected function _getDirsToVerify(\Magento\App\State $appState)
     {
         $result = array();
-        $codes = ($appState->getMode() == \Magento\Core\Model\App\State::MODE_PRODUCTION)
+        $codes = ($appState->getMode() == \Magento\App\State::MODE_PRODUCTION)
             ? self::$_productionDirs
             : self::$_nonProductionDirs;
         foreach ($codes as $code) {
diff --git a/lib/Magento/App/FrontController.php b/lib/Magento/App/FrontController.php
new file mode 100644
index 0000000000000000000000000000000000000000..52e0d7760dbf11b4a24efcc7dace7afffbdd7a6b
--- /dev/null
+++ b/lib/Magento/App/FrontController.php
@@ -0,0 +1,183 @@
+<?php
+/**
+ * Front controller responsible for dispatcing application requests
+ *
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App;
+
+class FrontController implements FrontControllerInterface
+{
+    /**
+     * @var array
+     */
+    protected $_defaults = array();
+
+    /**
+     * @var \Magento\App\RouterList
+     */
+    protected $_routerList;
+
+    /**
+     * @var \Magento\App\RequestInterface
+     */
+    protected $_request;
+
+    /**
+     * @var \Magento\App\ResponseInterface
+     */
+    protected $_response;
+
+    /**
+     * @var \Magento\Event\ManagerInterface
+     */
+    protected $_eventManager;
+
+    /**
+     * @var ActionInterface
+     */
+    protected $_action;
+
+    /**
+     * @param \Magento\Event\ManagerInterface $eventManager
+     * @param \Magento\App\ResponseInterface $response
+     * @param RouterList $routerList
+     * @param array $data
+     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
+     */
+    public function __construct(
+        \Magento\Event\ManagerInterface $eventManager,
+        \Magento\App\ResponseInterface $response,
+        RouterList $routerList,
+        array $data = array()
+    ) {
+        $this->_eventManager = $eventManager;
+        $this->_routerList = $routerList;
+        $this->_response = $response;
+    }
+
+    /**
+     * Set Default Value
+     *
+     * @param string $key
+     * @param mixed $value
+     * @return $this
+     */
+    public function setDefault($key, $value = null)
+    {
+        if (is_array($key)) {
+            $this->_defaults = $key;
+        } else {
+            $this->_defaults[$key] = $value;
+        }
+        return $this;
+    }
+
+    /**
+     * Retrieve default value
+     *
+     * @param string $key
+     * @return mixed
+     */
+    public function getDefault($key=null)
+    {
+        if (is_null($key)) {
+            return $this->_defaults;
+        } elseif (isset($this->_defaults[$key])) {
+            return $this->_defaults[$key];
+        }
+        return false;
+    }
+
+    /**
+     * Retrieve request object
+     *
+     * @return \Magento\App\RequestInterface
+     */
+    public function getRequest()
+    {
+        return $this->_request;
+    }
+
+    /**
+     * Retrieve response object
+     *
+     * @return \Magento\App\ResponseInterface
+     */
+    public function getResponse()
+    {
+        return $this->_response;
+    }
+
+    /**
+     * Seta application action
+     *
+     * @param ActionInterface $action
+     */
+    public function setAction(ActionInterface $action)
+    {
+        $this->_action = $action;
+    }
+
+    /**
+     * @return ActionInterface
+     */
+    public function getAction()
+    {
+        return $this->_action;
+    }
+
+    /**
+     * @param RequestInterface $request
+     * @throws \LogicException
+     */
+    public function dispatch(RequestInterface $request)
+    {
+        $this->_request = $request;
+        \Magento\Profiler::start('routers_match');
+        $routingCycleCounter = 0;
+        while (!$request->isDispatched() && $routingCycleCounter++ < 100) {
+            /** @var $router \Magento\App\Router\AbstractRouter */
+            foreach ($this->_routerList->getRouters() as $router) {
+                $router->setFront($this);
+
+                /** @var $controllerInstance \Magento\App\ActionInterface */
+                $controllerInstance = $router->match($this->getRequest());
+                if ($controllerInstance) {
+                    $controllerInstance->dispatch($request->getActionName());
+                    break;
+                }
+            }
+        }
+        \Magento\Profiler::stop('routers_match');
+        if ($routingCycleCounter > 100) {
+            throw new \LogicException('Front controller reached 100 router match iterations');
+        }
+        // This event gives possibility to launch something before sending output (allow cookie setting)
+        $this->_eventManager->dispatch('controller_front_send_response_before', array('front' => $this));
+        \Magento\Profiler::start('send_response');
+        $this->_eventManager->dispatch('http_response_send_before', array('response' => $this));
+        $this->getResponse()->sendResponse();
+        \Magento\Profiler::stop('send_response');
+        $this->_eventManager->dispatch('controller_front_send_response_after', array('front' => $this));
+    }
+}
diff --git a/lib/Magento/App/FrontControllerInterface.php b/lib/Magento/App/FrontControllerInterface.php
new file mode 100644
index 0000000000000000000000000000000000000000..fe382c2a00f094eae470da505c43867ef1ef8cf2
--- /dev/null
+++ b/lib/Magento/App/FrontControllerInterface.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Application front controller responsible for dispatching application requests
+ *
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App;
+
+interface FrontControllerInterface
+{
+    /**
+     * Dispatch application action
+     *
+     * @param RequestInterface $request
+     */
+    public function dispatch(RequestInterface $request);
+}
diff --git a/app/code/Magento/Core/Model/Module/Declaration/Converter/Dom.php b/lib/Magento/App/Module/Declaration/Converter/Dom.php
old mode 100755
new mode 100644
similarity index 99%
rename from app/code/Magento/Core/Model/Module/Declaration/Converter/Dom.php
rename to lib/Magento/App/Module/Declaration/Converter/Dom.php
index 34de226ee1f7d65f3297ca412f0955b6c96736b5..7625dd3b2a05416eaf9d6f73d168057aed8ff845
--- a/app/code/Magento/Core/Model/Module/Declaration/Converter/Dom.php
+++ b/lib/Magento/App/Module/Declaration/Converter/Dom.php
@@ -21,7 +21,7 @@
  * @copyright Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license   http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Module\Declaration\Converter;
+namespace Magento\App\Module\Declaration\Converter;
 
 class Dom implements \Magento\Config\ConverterInterface
 {
diff --git a/app/code/Magento/Core/Model/Module/Declaration/FileResolver.php b/lib/Magento/App/Module/Declaration/FileResolver.php
similarity index 89%
rename from app/code/Magento/Core/Model/Module/Declaration/FileResolver.php
rename to lib/Magento/App/Module/Declaration/FileResolver.php
index 5fd9a021c4715c116b4f9454d8e4a0b720279b1b..aba33599fb8e09b003c938bca9bf2819ac80057c 100644
--- a/app/code/Magento/Core/Model/Module/Declaration/FileResolver.php
+++ b/lib/Magento/App/Module/Declaration/FileResolver.php
@@ -21,19 +21,19 @@
  * @copyright Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license   http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Module\Declaration;
+namespace Magento\App\Module\Declaration;
 
 class FileResolver implements \Magento\Config\FileResolverInterface
 {
     /**
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_applicationDirs;
 
     /**
-     * @param \Magento\Core\Model\Dir $applicationDirs
+     * @param \Magento\App\Dir $applicationDirs
      */
-    public function __construct(\Magento\Core\Model\Dir $applicationDirs)
+    public function __construct(\Magento\App\Dir $applicationDirs)
     {
         $this->_applicationDirs = $applicationDirs;
     }
@@ -44,7 +44,7 @@ class FileResolver implements \Magento\Config\FileResolverInterface
      */
     public function get($filename, $scope)
     {
-        $appCodeDir =  $this->_applicationDirs->getDir(\Magento\Core\Model\Dir::MODULES);
+        $appCodeDir =  $this->_applicationDirs->getDir(\Magento\App\Dir::MODULES);
         $moduleFilePattern = $appCodeDir . DIRECTORY_SEPARATOR . '*' . DIRECTORY_SEPARATOR . '*' . DIRECTORY_SEPARATOR
             . 'etc' . DIRECTORY_SEPARATOR . 'module.xml';
         $moduleFileList = glob($moduleFilePattern);
@@ -60,7 +60,7 @@ class FileResolver implements \Magento\Config\FileResolverInterface
             $output[$scope][] = $file;
         }
 
-        $appConfigDir = $this->_applicationDirs->getDir(\Magento\Core\Model\Dir::CONFIG);
+        $appConfigDir = $this->_applicationDirs->getDir(\Magento\App\Dir::CONFIG);
         $globalEnablerPattern = $appConfigDir . DIRECTORY_SEPARATOR . '*' . DIRECTORY_SEPARATOR . 'module.xml';
         $output['base'] = glob($globalEnablerPattern);
         // Put global enablers at the end of the file list
diff --git a/app/code/Magento/Core/Model/Module/Declaration/Reader/Filesystem.php b/lib/Magento/App/Module/Declaration/Reader/Filesystem.php
old mode 100755
new mode 100644
similarity index 93%
rename from app/code/Magento/Core/Model/Module/Declaration/Reader/Filesystem.php
rename to lib/Magento/App/Module/Declaration/Reader/Filesystem.php
index 876d6cd141b07c6bd2eaa43cf69efdde83b2d3b6..dd21f43b16d5ca0fb6fdb5e4c041c86bbd4047b7
--- a/app/code/Magento/Core/Model/Module/Declaration/Reader/Filesystem.php
+++ b/lib/Magento/App/Module/Declaration/Reader/Filesystem.php
@@ -21,7 +21,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Module\Declaration\Reader;
+namespace Magento\App\Module\Declaration\Reader;
 
 class Filesystem extends \Magento\Config\Reader\Filesystem
 {
@@ -43,9 +43,9 @@ class Filesystem extends \Magento\Config\Reader\Filesystem
     );
 
     /**
-     * @param \Magento\Core\Model\Module\Declaration\FileResolver $fileResolver
-     * @param \Magento\Core\Model\Module\Declaration\Converter\Dom $converter
-     * @param \Magento\Core\Model\Module\Declaration\SchemaLocator $schemaLocator
+     * @param \Magento\App\Module\Declaration\FileResolver $fileResolver
+     * @param \Magento\App\Module\Declaration\Converter\Dom $converter
+     * @param \Magento\App\Module\Declaration\SchemaLocator $schemaLocator
      * @param \Magento\Config\ValidationStateInterface $validationState
      * @param string $fileName
      * @param array $idAttributes
@@ -53,9 +53,9 @@ class Filesystem extends \Magento\Config\Reader\Filesystem
      * @param array $allowedModules
      */
     public function __construct(
-        \Magento\Core\Model\Module\Declaration\FileResolver $fileResolver,
-        \Magento\Core\Model\Module\Declaration\Converter\Dom $converter,
-        \Magento\Core\Model\Module\Declaration\SchemaLocator $schemaLocator,
+        \Magento\App\Module\Declaration\FileResolver $fileResolver,
+        \Magento\App\Module\Declaration\Converter\Dom $converter,
+        \Magento\App\Module\Declaration\SchemaLocator $schemaLocator,
         \Magento\Config\ValidationStateInterface $validationState,
         $fileName = 'module.xml',
         $idAttributes = array(),
@@ -191,7 +191,7 @@ class Filesystem extends \Magento\Config\Reader\Filesystem
          * (in order not to add extra information about dependencies to module config)
          */
         $moduleDependencyMap = array();
-        foreach ($modules as $moduleName => $moduleConfig) {
+        foreach (array_keys($modules) as $moduleName) {
             $moduleDependencyMap[] = array(
                 'moduleName' => $moduleName,
                 'dependencies' => $this->_getExtendedModuleDependencies($moduleName, $modules),
diff --git a/app/code/Magento/Core/Model/Module/Declaration/SchemaLocator.php b/lib/Magento/App/Module/Declaration/SchemaLocator.php
similarity index 92%
rename from app/code/Magento/Core/Model/Module/Declaration/SchemaLocator.php
rename to lib/Magento/App/Module/Declaration/SchemaLocator.php
index c3a1718447507e3ed705ace9d98283d255eb0470..c61020159d1ec74cb761ad076744051755e612db 100644
--- a/app/code/Magento/Core/Model/Module/Declaration/SchemaLocator.php
+++ b/lib/Magento/App/Module/Declaration/SchemaLocator.php
@@ -23,7 +23,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Module\Declaration;
+namespace Magento\App\Module\Declaration;
 
 class SchemaLocator implements \Magento\Config\SchemaLocatorInterface
 {
@@ -34,7 +34,7 @@ class SchemaLocator implements \Magento\Config\SchemaLocatorInterface
      */
     public function getSchema()
     {
-        return realpath(__DIR__ . '/../../../etc/module.xsd');
+        return realpath(__DIR__ . '/../../etc/module.xsd');
     }
 
     /**
diff --git a/app/code/Magento/Core/Model/Module/Dir.php b/lib/Magento/App/Module/Dir.php
similarity index 86%
rename from app/code/Magento/Core/Model/Module/Dir.php
rename to lib/Magento/App/Module/Dir.php
index 184e6b053e7795917b9fc46a92d8264533710b8b..ebe1b15d5b5f5b69cf90f49517ffc8addba75ab0 100644
--- a/app/code/Magento/Core/Model/Module/Dir.php
+++ b/lib/Magento/App/Module/Dir.php
@@ -23,21 +23,21 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Module;
+namespace Magento\App\Module;
 
 class Dir
 {
     /**
      * Directory registry
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_applicationDirs;
 
     /**
-     * @param \Magento\Core\Model\Dir $applicationDirs
+     * @param \Magento\App\Dir $applicationDirs
      */
-    public function __construct(\Magento\Core\Model\Dir $applicationDirs)
+    public function __construct(\Magento\App\Dir $applicationDirs)
     {
         $this->_applicationDirs = $applicationDirs;
     }
@@ -52,7 +52,7 @@ class Dir
      */
     public function getDir($moduleName, $type = '')
     {
-        $result = $this->_applicationDirs->getDir(\Magento\Core\Model\Dir::MODULES)
+        $result = $this->_applicationDirs->getDir(\Magento\App\Dir::MODULES)
             . DIRECTORY_SEPARATOR
             . uc_words($moduleName, DIRECTORY_SEPARATOR);
         if ($type) {
diff --git a/app/code/Magento/Core/Model/Module/Dir/ReverseResolver.php b/lib/Magento/App/Module/Dir/ReverseResolver.php
similarity index 83%
rename from app/code/Magento/Core/Model/Module/Dir/ReverseResolver.php
rename to lib/Magento/App/Module/Dir/ReverseResolver.php
index 32360620a56aa9c11110ee352f06e8448dee57fa..cff0b9c4053ed9119343905934aa9f0fa9842909 100644
--- a/app/code/Magento/Core/Model/Module/Dir/ReverseResolver.php
+++ b/lib/Magento/App/Module/Dir/ReverseResolver.php
@@ -23,27 +23,27 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Module\Dir;
+namespace Magento\App\Module\Dir;
 
 class ReverseResolver
 {
     /**
-     * @var \Magento\Core\Model\ModuleListInterface
+     * @var \Magento\App\ModuleListInterface
      */
     protected $_moduleList;
 
     /**
-     * @var \Magento\Core\Model\Module\Dir
+     * @var \Magento\App\Module\Dir
      */
     protected $_moduleDirs;
 
     /**
-     * @param \Magento\Core\Model\ModuleListInterface $moduleList
-     * @param \Magento\Core\Model\Module\Dir $moduleDirs
+     * @param \Magento\App\ModuleListInterface $moduleList
+     * @param \Magento\App\Module\Dir $moduleDirs
      */
     public function __construct(
-        \Magento\Core\Model\ModuleListInterface $moduleList,
-        \Magento\Core\Model\Module\Dir $moduleDirs
+        \Magento\App\ModuleListInterface $moduleList,
+        \Magento\App\Module\Dir $moduleDirs
     ) {
         $this->_moduleList = $moduleList;
         $this->_moduleDirs = $moduleDirs;
diff --git a/app/code/Magento/Core/Model/Module/ResourceResolver.php b/lib/Magento/App/Module/ResourceResolver.php
similarity index 95%
rename from app/code/Magento/Core/Model/Module/ResourceResolver.php
rename to lib/Magento/App/Module/ResourceResolver.php
index 6603cb033cf9aa4e05b6b534a01c73577f50b2d1..ca42738dd951d54330d5f9bdcd99ecb61e0fda35 100644
--- a/app/code/Magento/Core/Model/Module/ResourceResolver.php
+++ b/lib/Magento/App/Module/ResourceResolver.php
@@ -23,9 +23,9 @@
  * @copyright Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license   http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Module;
+namespace Magento\App\Module;
 
-class ResourceResolver implements \Magento\Core\Model\Module\ResourceResolverInterface
+class ResourceResolver implements \Magento\App\Module\ResourceResolverInterface
 {
     /**
      * @var \Magento\Core\Model\Config\Modules\Reader
diff --git a/app/code/Magento/Core/Model/Module/ResourceResolverInterface.php b/lib/Magento/App/Module/ResourceResolverInterface.php
similarity index 93%
rename from app/code/Magento/Core/Model/Module/ResourceResolverInterface.php
rename to lib/Magento/App/Module/ResourceResolverInterface.php
index 989c5a90f1b5500aa8b61fbff8b7c11c7c56246d..35f85a0b3f9acc862083fe9f3070cae960c213a4 100644
--- a/app/code/Magento/Core/Model/Module/ResourceResolverInterface.php
+++ b/lib/Magento/App/Module/ResourceResolverInterface.php
@@ -23,7 +23,7 @@
  * @copyright Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license   http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Module;
+namespace Magento\App\Module;
 
 interface ResourceResolverInterface
 {
@@ -33,5 +33,5 @@ interface ResourceResolverInterface
      * @param string $moduleName
      * @return array
      */
-    function getResourceList($moduleName);
+    public function getResourceList($moduleName);
 }
diff --git a/app/code/Magento/Core/Model/ModuleList.php b/lib/Magento/App/ModuleList.php
similarity index 89%
rename from app/code/Magento/Core/Model/ModuleList.php
rename to lib/Magento/App/ModuleList.php
index 848617c3f93b9ba3c632b0b5ff2625e34a651a87..20ffd25d552c8402f761bdeb912305d34e647ff1 100644
--- a/app/code/Magento/Core/Model/ModuleList.php
+++ b/lib/Magento/App/ModuleList.php
@@ -21,9 +21,9 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model;
+namespace Magento\App;
 
-class ModuleList implements \Magento\Core\Model\ModuleListInterface
+class ModuleList implements \Magento\App\ModuleListInterface
 {
     /**
      * Configuration data
@@ -40,12 +40,12 @@ class ModuleList implements \Magento\Core\Model\ModuleListInterface
     protected $_scope = 'global';
 
     /**
-     * @param \Magento\Core\Model\Module\Declaration\Reader\Filesystem $reader
+     * @param \Magento\App\Module\Declaration\Reader\Filesystem $reader
      * @param \Magento\Config\CacheInterface $cache
      * @param string $cacheId
      */
     public function __construct(
-        \Magento\Core\Model\Module\Declaration\Reader\Filesystem $reader,
+        Module\Declaration\Reader\Filesystem $reader,
         \Magento\Config\CacheInterface $cache,
         $cacheId = 'modules_declaration_cache'
     ) {
diff --git a/app/code/Magento/Core/Model/ModuleListInterface.php b/lib/Magento/App/ModuleListInterface.php
similarity index 97%
rename from app/code/Magento/Core/Model/ModuleListInterface.php
rename to lib/Magento/App/ModuleListInterface.php
index f2193fe0343300500fb32d17f5af5d58932d6aea..9d22d6adbcaf6420526895db8d61bfe7495145a3 100644
--- a/app/code/Magento/Core/Model/ModuleListInterface.php
+++ b/lib/Magento/App/ModuleListInterface.php
@@ -21,7 +21,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model;
+namespace Magento\App;
 
 interface ModuleListInterface
 {
diff --git a/app/code/Magento/Core/Controller/Request/Http.php b/lib/Magento/App/Request/Http.php
similarity index 82%
rename from app/code/Magento/Core/Controller/Request/Http.php
rename to lib/Magento/App/Request/Http.php
index c740e9f02ba8e4515502b6cc8d4322a4cf0a9246..218f6fdcc2f4870d91aed90ff6514a8a62351a4a 100644
--- a/app/code/Magento/Core/Controller/Request/Http.php
+++ b/lib/Magento/App/Request/Http.php
@@ -1,5 +1,7 @@
 <?php
 /**
+ * Http request
+ *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -18,21 +20,12 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
+namespace Magento\App\Request;
 
-
-/**
- * Custom \Zend_Controller_Request_Http class (formally)
- *
- * Allows dispatching before and after events for each controller action
- */
-namespace Magento\Core\Controller\Request;
-
-class Http extends \Zend_Controller_Request_Http
+class Http extends \Zend_Controller_Request_Http implements \Magento\App\RequestInterface
 {
     const DEFAULT_HTTP_PORT = 80;
     const DEFAULT_HTTPS_PORT = 443;
@@ -74,31 +67,31 @@ class Http extends \Zend_Controller_Request_Http
     protected $_beforeForwardInfo = array();
 
     /**
-     * @var \Magento\Backend\Helper\Data
+     * @var \Magento\App\RouterListInterface
      */
-    protected $_helper;
+    protected $_routerList;
 
     /**
-     * @var \Magento\Core\Model\StoreManager
+     * @var PathInfoProcessorInterface
      */
-    protected $_storeManager;
+    private $_pathInfoProcessor;
 
     /**
-     * @param \Magento\Core\Model\StoreManager $storeManager
-     * @param \Magento\Backend\Helper\Data $helper
-     * @param string|Zend_Uri $uri
+     * @param \Magento\App\RouterListInterface $routerList
+     * @param string $uri
      * @param array $directFrontNames
+     * @param PathInfoProcessorInterface $pathInfoProcessor
      */
     public function __construct(
-        \Magento\Core\Model\StoreManager $storeManager,
-        \Magento\Backend\Helper\Data $helper,
+        \Magento\App\RouterListInterface $routerList,
         $uri = null,
-        $directFrontNames = array()
+        $directFrontNames = array(),
+        \Magento\App\Request\PathInfoProcessorInterface $pathInfoProcessor = null
     ) {
-        $this->_helper = $helper;
+        $this->_routerList = $routerList;
         $this->_directFrontNames = $directFrontNames;
-        $this->_storeManager = $storeManager;
         parent::__construct($uri);
+        $this->_pathInfoProcessor = $pathInfoProcessor;
     }
 
     /**
@@ -145,19 +138,8 @@ class Http extends \Zend_Controller_Request_Http
                 $pathInfo = $requestUri;
             }
 
-            $pathParts = explode('/', ltrim($pathInfo, '/'), 2);
-            $storeCode = $pathParts[0];
-
-            if ($this->_isFrontArea($storeCode)) {
-                $stores = $this->_storeManager->getStores(true, true);
-                if (isset($stores[$storeCode]) && $stores[$storeCode]->isUseStoreInUrl()) {
-                    if (!$this->isDirectAccessFrontendName($storeCode)) {
-                        $this->_storeManager->setCurrentStore($storeCode);
-                        $pathInfo = '/'.(isset($pathParts[1]) ? $pathParts[1] : '');
-                    } elseif (!empty($storeCode)) {
-                        $this->setActionName('noRoute');
-                    }
-                }
+            if ($this->_pathInfoProcessor) {
+                $pathInfo = $this->_pathInfoProcessor->process($this, $pathInfo);
             }
 
             $this->_originalPathInfo = (string)$pathInfo;
@@ -169,23 +151,12 @@ class Http extends \Zend_Controller_Request_Http
         return $this;
     }
 
-    /**
-     * Check area by store code
-     *
-     * @param string $storeCode
-     * @return boolean
-     */
-    protected function _isFrontArea($storeCode)
-    {
-        return $storeCode != $this->_helper->getAreaFrontName();
-    }
-
     /**
      * Specify new path info
      * It happen when occur rewrite based on configuration
      *
      * @param   string $pathInfo
-     * @return  \Magento\Core\Controller\Request\Http
+     * @return  \Magento\App\RequestInterface
      */
     public function rewritePathInfo($pathInfo)
     {
@@ -205,18 +176,7 @@ class Http extends \Zend_Controller_Request_Http
      */
     public function isDirectAccessFrontendName($code)
     {
-        $names = $this->getDirectFrontNames();
-        return isset($names[$code]);
-    }
-
-    /**
-     * Get list of front names available with access without store code
-     *
-     * @return array
-     */
-    public function getDirectFrontNames()
-    {
-        return $this->_directFrontNames;
+        return isset($this->_directFrontNames[$code]);
     }
 
     /**
@@ -266,9 +226,7 @@ class Http extends \Zend_Controller_Request_Http
     public function setRouteName($route)
     {
         $this->_route = $route;
-        $router = \Magento\Core\Model\ObjectManager::getInstance()->get('Magento\Core\Model\App')
-            ->getFrontController()
-            ->getRouterList()->getRouterByRoute($route);
+        $router = $this->_routerList->getRouterByRoute($route);
         if (!$router) {
             return $this;
         }
@@ -279,6 +237,17 @@ class Http extends \Zend_Controller_Request_Http
         return $this;
     }
 
+    /**
+     * Retrieve request front name
+     *
+     * @return string|null
+     */
+    public function getFrontName()
+    {
+        $pathParts = explode('/', trim($this->getPathInfo(), '/'));
+        return reset($pathParts);
+    }
+
     public function getRouteName()
     {
         return $this->_route;
@@ -308,7 +277,7 @@ class Http extends \Zend_Controller_Request_Http
      * @param string|array $key
      * @param mixed $value
      *
-     * @return \Magento\Core\Controller\Request\Http
+     * @return \Magento\App\RequestInterface
      */
     public function setPost($key, $value = null)
     {
@@ -324,7 +293,7 @@ class Http extends \Zend_Controller_Request_Http
      * Specify module name where was found currently used controller
      *
      * @param   string $module
-     * @return  \Magento\Core\Controller\Request\Http
+     * @return  \Magento\App\RequestInterface
      */
     public function setControllerModule($module)
     {
@@ -415,9 +384,7 @@ class Http extends \Zend_Controller_Request_Http
         if ($this->_requestedRouteName === null) {
             if ($this->_rewritedPathInfo !== null && isset($this->_rewritedPathInfo[0])) {
                 $frontName = $this->_rewritedPathInfo[0];
-                $router = \Magento\Core\Model\ObjectManager::getInstance()->get('Magento\Core\Model\App')
-                    ->getFrontController()
-                    ->getRouterList()->getRouterByFrontName($frontName);
+                $router = $this->_routerList->getRouterByFrontName($frontName);
                 $this->_requestedRouteName = $router->getRouteByFrontName($frontName);
             } else {
                 // no rewritten path found, use default route name
@@ -463,7 +430,7 @@ class Http extends \Zend_Controller_Request_Http
      * Set routing info data
      *
      * @param array $data
-     * @return \Magento\Core\Controller\Request\Http
+     * @return \Magento\App\RequestInterface
      */
     public function setRoutingInfo($data)
     {
@@ -477,7 +444,7 @@ class Http extends \Zend_Controller_Request_Http
      * Collect properties changed by _forward in protected storage
      * before _forward was called first time.
      *
-     * @return \Magento\Core\Controller\Varien\Action
+     * @return \Magento\App\ActionInterface
      */
     public function initForward()
     {
@@ -558,7 +525,7 @@ class Http extends \Zend_Controller_Request_Http
             return $_FILES;
         }
 
-        return (isset($_FILES[$key])) ? $_FILES[$key] : $default;
+        return isset($_FILES[$key]) ? $_FILES[$key] : $default;
     }
 
     /**
diff --git a/lib/Magento/App/Request/PathInfoProcessorInterface.php b/lib/Magento/App/Request/PathInfoProcessorInterface.php
new file mode 100644
index 0000000000000000000000000000000000000000..aec0609e98949ee599ec0d9ece8ad753b03c54ee
--- /dev/null
+++ b/lib/Magento/App/Request/PathInfoProcessorInterface.php
@@ -0,0 +1,38 @@
+<?php
+/**
+ * PATH_INFO processor
+ *
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App\Request;
+
+interface PathInfoProcessorInterface
+{
+    /**
+     * Process Request path info
+     *
+     * @param \Magento\App\RequestInterface $request
+     * @param string $pathInfo
+     * @return string
+     */
+    public function process(\Magento\App\RequestInterface $request, $pathInfo);
+}
\ No newline at end of file
diff --git a/app/code/Magento/Core/Model/Resource/SetupFactory.php b/lib/Magento/App/RequestFactory.php
similarity index 67%
rename from app/code/Magento/Core/Model/Resource/SetupFactory.php
rename to lib/Magento/App/RequestFactory.php
index 39fa055554ae4923b1925a0fd5a489e667e1dc91..ec08243681b8d9ff7dcd5a48f5bd177f7cea27ea 100644
--- a/app/code/Magento/Core/Model/Resource/SetupFactory.php
+++ b/lib/Magento/App/RequestFactory.php
@@ -1,6 +1,6 @@
 <?php
 /**
- * Setup model factory
+ * Application request factory
  *
  * Magento
  *
@@ -23,10 +23,9 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
+namespace Magento\App;
 
-namespace Magento\Core\Model\Resource;
-
-class SetupFactory
+class RequestFactory
 {
     /**
      * @var \Magento\ObjectManager
@@ -42,19 +41,13 @@ class SetupFactory
     }
 
     /**
-     * Create setup model instance
+     * Create request
      *
-     * @param $className
      * @param array $arguments
-     * @return \Magento\Core\Model\Resource\SetupInterface
-     * @throws \LogicException
+     * @return \Magento\App\RequestInterface
      */
-    public function create($className, array $arguments = array())
+    public function create(array $arguments = array())
     {
-        $object = $this->_objectManager->create($className, $arguments);
-        if (false == ($object instanceof \Magento\Core\Model\Resource\SetupInterface)) {
-            throw new \LogicException($className . ' doesn\'t implement \Magento\Core\Model\Resource\SetupInterface');
-        }
-        return $object;
+        return $this->_objectManager->create('Magento\App\RequestInterface', $arguments);
     }
-}
+}
\ No newline at end of file
diff --git a/lib/Magento/App/RequestInterface.php b/lib/Magento/App/RequestInterface.php
new file mode 100644
index 0000000000000000000000000000000000000000..e41af2faf05806481322cec3ef25aee25ffa5bfe
--- /dev/null
+++ b/lib/Magento/App/RequestInterface.php
@@ -0,0 +1,66 @@
+<?php
+/**
+ * Application request
+ *
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App;
+
+interface RequestInterface
+{
+    /**
+     * Retrieve module name
+     *
+     * @return string
+     */
+    public function getModuleName();
+
+    /**
+     * Set Module name
+     *
+     * @param string $name
+     */
+    public function setModuleName($name);
+
+    /**
+     * Retrieve action name
+     *
+     * @return string
+     */
+    public function getActionName();
+
+    /**
+     * Set action name
+     *
+     * @param string $name
+     */
+    public function setActionName($name);
+
+    /**
+     * Retrieve param by key
+     *
+     * @param string $key
+     * @param mixed $defaultValue
+     * @return mixed
+     */
+    public function getParam($key, $defaultValue = null);
+}
\ No newline at end of file
diff --git a/lib/Magento/App/Response/Http.php b/lib/Magento/App/Response/Http.php
new file mode 100644
index 0000000000000000000000000000000000000000..01ea81b9d12913c91f2aceecc971a360d8af2e58
--- /dev/null
+++ b/lib/Magento/App/Response/Http.php
@@ -0,0 +1,47 @@
+<?php
+/**
+ * HTTP response
+ *
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App\Response;
+
+class Http extends \Zend_Controller_Response_Http implements \Magento\App\ResponseInterface
+{
+    /**
+     * Get header value by name.
+     * Returns first found header by passed name.
+     * If header with specified name was not found returns false.
+     *
+     * @param string $name
+     * @return array|bool
+     */
+    public function getHeader($name)
+    {
+        foreach ($this->_headers as $header) {
+            if ($header['name'] == $name) {
+                return $header;
+            }
+        }
+        return false;
+    }
+}
diff --git a/lib/Magento/App/ResponseFactory.php b/lib/Magento/App/ResponseFactory.php
new file mode 100644
index 0000000000000000000000000000000000000000..d392b80681140b8cc15d36d31cbff1ee9210ed80
--- /dev/null
+++ b/lib/Magento/App/ResponseFactory.php
@@ -0,0 +1,53 @@
+<?php
+/**
+ * Application response factory
+ *
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App;
+
+class ResponseFactory
+{
+    /**
+     * @var \Magento\ObjectManager
+     */
+    protected $_objectManager;
+
+    /**
+     * @param \Magento\ObjectManager $objectManager
+     */
+    public function __construct(\Magento\ObjectManager $objectManager)
+    {
+        $this->_objectManager = $objectManager;
+    }
+
+    /**
+     * Create response
+     *
+     * @param array $arguments
+     * @return \Magento\App\ResponseInterface
+     */
+    public function create(array $arguments = array())
+    {
+        return $this->_objectManager->create('Magento\App\ResponseInterface', $arguments);
+    }
+}
\ No newline at end of file
diff --git a/lib/Magento/App/ResponseInterface.php b/lib/Magento/App/ResponseInterface.php
new file mode 100644
index 0000000000000000000000000000000000000000..bd12804ea531e8a19bcd9f25de7601c10c1fde26
--- /dev/null
+++ b/lib/Magento/App/ResponseInterface.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Application response
+ *
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App;
+
+interface ResponseInterface
+{
+    /**
+     * Send response to client
+     */
+    public function sendResponse();
+}
\ No newline at end of file
diff --git a/app/code/Magento/Core/Controller/Varien/Router/AbstractRouter.php b/lib/Magento/App/Router/AbstractRouter.php
similarity index 68%
rename from app/code/Magento/Core/Controller/Varien/Router/AbstractRouter.php
rename to lib/Magento/App/Router/AbstractRouter.php
index 66a2bd7080c438296ec12cf2ecfd5b05e37f401c..12f509a38ae0d0a8e284c6cf01469a6704121deb 100644
--- a/app/code/Magento/Core/Controller/Varien/Router/AbstractRouter.php
+++ b/lib/Magento/App/Router/AbstractRouter.php
@@ -1,5 +1,7 @@
 <?php
 /**
+ * Abstract application router
+ *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -18,33 +20,31 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
+namespace Magento\App\Router;
 
-/**
- * Abstract router class
- */
-namespace Magento\Core\Controller\Varien\Router;
+use \Magento\App\FrontControllerInterface,
+    \Magento\App\ActionFactory,
+    \Magento\App\RequestInterface;
 
 abstract class AbstractRouter
 {
     /**
-     * @var \Magento\Core\Controller\Varien\Front
+     * @var \Magento\App\FrontController
      */
     protected $_front;
 
     /**
-     * @var \Magento\Core\Controller\Varien\Action\Factory
+     * @var \Magento\App\ActionFactory
      */
     protected $_controllerFactory;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Factory $controllerFactory
+     * @param \Magento\App\ActionFactory $controllerFactory
      */
-    public function __construct(\Magento\Core\Controller\Varien\Action\Factory $controllerFactory)
+    public function __construct(ActionFactory $controllerFactory)
     {
         $this->_controllerFactory = $controllerFactory;
     }
@@ -52,10 +52,10 @@ abstract class AbstractRouter
     /**
      * Assign front controller instance
      *
-     * @param $front \Magento\Core\Controller\Varien\Front
-     * @return \Magento\Core\Controller\Varien\Router\AbstractRouter
+     * @param $front FrontControllerInterface
+     * @return AbstractRouter
      */
-    public function setFront(\Magento\Core\Controller\Varien\Front $front)
+    public function setFront(FrontControllerInterface $front)
     {
         $this->_front = $front;
         return $this;
@@ -64,7 +64,7 @@ abstract class AbstractRouter
     /**
      * Retrieve front controller instance
      *
-     * @return \Magento\Core\Controller\Varien\Front
+     * @return FrontControllerInterface
      */
     public function getFront()
     {
@@ -96,8 +96,8 @@ abstract class AbstractRouter
     /**
      * Match controller by request
      *
-     * @param \Magento\Core\Controller\Request\Http $request
-     * @return \Magento\Core\Controller\Varien\Action
+     * @param RequestInterface $request
+     * @return \Magento\App\Action\AbstractAction
      */
-    abstract public function match(\Magento\Core\Controller\Request\Http $request);
+    abstract public function match(RequestInterface $request);
 }
diff --git a/app/code/Magento/Core/Controller/Varien/Router/DefaultRouter.php b/lib/Magento/App/Router/DefaultRouter.php
similarity index 69%
rename from app/code/Magento/Core/Controller/Varien/Router/DefaultRouter.php
rename to lib/Magento/App/Router/DefaultRouter.php
index d078b43520636bee2cfc4f67ad8b736e0ae3147a..cedd6b063d9d428cdc24c6218b3184eaf1eaf9a5 100644
--- a/app/code/Magento/Core/Controller/Varien/Router/DefaultRouter.php
+++ b/lib/Magento/App/Router/DefaultRouter.php
@@ -1,5 +1,7 @@
 <?php
 /**
+ * Default application router
+ *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -18,28 +20,28 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
+namespace Magento\App\Router;
 
-namespace Magento\Core\Controller\Varien\Router;
+use \Magento\App\ActionFactory,
+    \Magento\App\RequestInterface;
 
-class DefaultRouter extends \Magento\Core\Controller\Varien\Router\AbstractRouter
+class DefaultRouter extends AbstractRouter
 {
     /**
-     * @var \Magento\Core\Model\NoRouteHandlerList
+     * @var \Magento\App\Router\NoRouteHandlerList
      */
     protected $_noRouteHandlerList;
 
     /**
-     * @param \Magento\Core\Controller\Varien\Action\Factory $controllerFactory
-     * @param \Magento\Core\Model\NoRouteHandlerList $noRouteHandlerList
+     * @param ActionFactory $controllerFactory
+     * @param \Magento\App\Router\NoRouteHandlerList $noRouteHandlerList
      */
     public function __construct(
-        \Magento\Core\Controller\Varien\Action\Factory $controllerFactory,
-        \Magento\Core\Model\NoRouteHandlerList $noRouteHandlerList
+        ActionFactory $controllerFactory,
+        \Magento\App\Router\NoRouteHandlerList $noRouteHandlerList
     ) {
         parent::__construct($controllerFactory);
         $this->_noRouteHandlerList = $noRouteHandlerList;
@@ -48,10 +50,10 @@ class DefaultRouter extends \Magento\Core\Controller\Varien\Router\AbstractRoute
     /**
      * Modify request and set to no-route action
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param RequestInterface $request
      * @return boolean
      */
-    public function match(\Magento\Core\Controller\Request\Http $request)
+    public function match(RequestInterface $request)
     {
         foreach ($this->_noRouteHandlerList->getHandlers() as $noRouteHandler) {
             if ($noRouteHandler->process($request)) {
@@ -59,7 +61,7 @@ class DefaultRouter extends \Magento\Core\Controller\Varien\Router\AbstractRoute
             }
         }
 
-        return $this->_controllerFactory->createController('Magento\Core\Controller\Varien\Action\Forward',
+        return $this->_controllerFactory->createController('Magento\App\Action\Forward',
             array('request' => $request)
         );
     }
diff --git a/app/code/Magento/Core/Model/NoRouteHandlerList.php b/lib/Magento/App/Router/NoRouteHandlerList.php
similarity index 98%
rename from app/code/Magento/Core/Model/NoRouteHandlerList.php
rename to lib/Magento/App/Router/NoRouteHandlerList.php
index 886d3ec7979214767f6f09d3d12e78dcd363f9d9..e98fc4af89084bd7651139377ad0aaa4d579fbe3 100644
--- a/app/code/Magento/Core/Model/NoRouteHandlerList.php
+++ b/lib/Magento/App/Router/NoRouteHandlerList.php
@@ -23,8 +23,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-
-namespace Magento\Core\Model;
+namespace Magento\App\Router;
 
 class NoRouteHandlerList
 {
diff --git a/app/code/Magento/Core/Model/RouterList.php b/lib/Magento/App/RouterList.php
similarity index 95%
rename from app/code/Magento/Core/Model/RouterList.php
rename to lib/Magento/App/RouterList.php
index 8606be974291cfdeb0c139704e0835e26223c016..90781da07b5ab2f04f7ded8a4ffc1b275fd24d2d 100644
--- a/app/code/Magento/Core/Model/RouterList.php
+++ b/lib/Magento/App/RouterList.php
@@ -24,9 +24,11 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model;
+namespace Magento\App;
 
-class RouterList
+use \Magento\App\RouterListInterface;
+
+class RouterList implements RouterListInterface
 {
     /**
      * @var \Magento\ObjectManager
@@ -123,7 +125,7 @@ class RouterList
      * Get router by route
      *
      * @param string $routeId
-     * @return \Magento\Core\Controller\Varien\Router\AbstractRouter
+     * @return \Magento\App\Router\AbstractRouter
      */
     public function getRouterByRoute($routeId)
     {
@@ -162,7 +164,7 @@ class RouterList
      * Get router by frontName
      *
      * @param string $frontName
-     * @return \Magento\Core\Controller\Varien\Router\AbstractRouter
+     * @return \Magento\App\Router\AbstractRouter
      */
     public function getRouterByFrontName($frontName)
     {
diff --git a/lib/Magento/App/RouterListInterface.php b/lib/Magento/App/RouterListInterface.php
new file mode 100644
index 0000000000000000000000000000000000000000..0222bf8f932408d9446abb50f9251708e61520d7
--- /dev/null
+++ b/lib/Magento/App/RouterListInterface.php
@@ -0,0 +1,53 @@
+<?php
+/**
+ * Application router list
+ *
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App;
+
+interface RouterListInterface
+{
+    /**
+     * Get list of active routers
+     * sorted by sortOrder
+     *
+     * @return array
+     */
+    public function getRouters();
+
+    /**
+     * Get router by route
+     *
+     * @param string $routeId
+     * @return \Magento\App\Router\AbstractRouter
+     */
+    public function getRouterByRoute($routeId);
+
+    /**
+     * Get router by frontName
+     *
+     * @param string $frontName
+     * @return \Magento\App\Router\AbstractRouter
+     */
+    public function getRouterByFrontName($frontName);
+}
\ No newline at end of file
diff --git a/app/code/Magento/Core/Model/App/State.php b/lib/Magento/App/State.php
similarity index 92%
rename from app/code/Magento/Core/Model/App/State.php
rename to lib/Magento/App/State.php
index e7c6cfb8b87a25fb76f91c172a1893247006c167..7825ab03b0edfeaeb13f77bb181b8a5641d19bc7 100644
--- a/app/code/Magento/Core/Model/App/State.php
+++ b/lib/Magento/App/State.php
@@ -24,7 +24,9 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-namespace Magento\Core\Model\App;
+namespace Magento\App;
+
+use Zend\Soap\Exception\InvalidArgumentException;
 
 class State
 {
@@ -69,7 +71,7 @@ class State
     /**
      * @param string $installDate
      * @param string $mode
-     * @throws \Magento\Core\Exception
+     * @throws \LogicException
      */
     public function __construct($installDate, $mode = self::MODE_DEFAULT)
     {
@@ -81,7 +83,7 @@ class State
                 $this->_appMode = $mode;
                 break;
             default:
-                throw new \Magento\Core\Exception("Unknown application mode: {$mode}");
+                throw new \InvalidArgumentException("Unknown application mode: {$mode}");
         }
     }
 
@@ -119,6 +121,7 @@ class State
      * Get update mode flag
      *
      * @return bool
+     * @SuppressWarnings(PHPMD.BooleanGetMethodName)
      */
     public function getUpdateMode()
     {
diff --git a/app/code/Magento/Core/Model/Db/Updater.php b/lib/Magento/App/Updater.php
similarity index 59%
rename from app/code/Magento/Core/Model/Db/Updater.php
rename to lib/Magento/App/Updater.php
index 909ae75faea80643f304b0ecd8463bcbc539b320..01fcf8a629ed1deb64edf10497992a910fbaf073 100644
--- a/app/code/Magento/Core/Model/Db/Updater.php
+++ b/lib/Magento/App/Updater.php
@@ -22,21 +22,14 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-namespace Magento\Core\Model\Db;
+namespace Magento\App;
 
-class Updater implements \Magento\Core\Model\Db\UpdaterInterface
+class Updater implements \Magento\App\UpdaterInterface
 {
-    /**
-     * Default setup class name
-     *
-     * @var string
-     */
-    protected $_defaultClass = 'Magento\Core\Model\Resource\Setup';
-
     /**
      * Setup model factory
      *
-     * @var \Magento\Core\Model\Resource\SetupFactory
+     * @var \Magento\App\Updater\SetupFactory
      */
     protected $_factory;
 
@@ -50,7 +43,7 @@ class Updater implements \Magento\Core\Model\Db\UpdaterInterface
     /**
      * Application state model
      *
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
@@ -69,36 +62,38 @@ class Updater implements \Magento\Core\Model\Db\UpdaterInterface
     protected $_resourceList;
 
     /**
-     * @var \Magento\Core\Model\ModuleListInterface
+     * @var \Magento\App\ModuleListInterface
      */
     protected $_moduleList;
 
     /**
-     * @var \Magento\Core\Model\Module\ResourceResolverInterface
+     * @var \Magento\App\Module\ResourceResolverInterface
      */
     protected $_resourceResolver;
 
     /**
-     * @param \Magento\Core\Model\Resource\SetupFactory $factory
-     * @param \Magento\Core\Model\App\State $appState
-     * @param \Magento\Core\Model\ModuleListInterface $moduleList
-     * @param \Magento\Core\Model\Module\ResourceResolverInterface $resourceResolver
-     * @param array $resourceList
+     * @var Updater\SetupFactory
+     */
+    protected $_setupFactory;
+
+    /**
+     * @param Updater\SetupFactory $setupFactory
+     * @param State $appState
+     * @param ModuleListInterface $moduleList
+     * @param Module\ResourceResolverInterface $resourceResolver
      * @param bool $skipModuleUpdate
      */
     public function __construct(
-        \Magento\Core\Model\Resource\SetupFactory $factory,
-        \Magento\Core\Model\App\State $appState,
-        \Magento\Core\Model\ModuleListInterface $moduleList,
-        \Magento\Core\Model\Module\ResourceResolverInterface $resourceResolver,
-        array $resourceList,
+        \Magento\App\Updater\SetupFactory $setupFactory,
+        \Magento\App\State $appState,
+        \Magento\App\ModuleListInterface $moduleList,
+        \Magento\App\Module\ResourceResolverInterface $resourceResolver,
         $skipModuleUpdate = false
     ) {
-        $this->_factory = $factory;
         $this->_appState = $appState;
         $this->_moduleList = $moduleList;
         $this->_resourceResolver = $resourceResolver;
-        $this->_resourceList = $resourceList;
+        $this->_setupFactory = $setupFactory;
         $this->_skipModuleUpdate = (bool)$skipModuleUpdate;
     }
 
@@ -131,28 +126,18 @@ class Updater implements \Magento\Core\Model\Db\UpdaterInterface
         $afterApplyUpdates = array();
         foreach (array_keys($this->_moduleList->getModules()) as $moduleName) {
             foreach ($this->_resourceResolver->getResourceList($moduleName) as $resourceName) {
-                $className = isset($this->_resourceList[$resourceName])
-                    ? $this->_resourceList[$resourceName]
-                    : $this->_defaultClass;
-
-                $setupClass = $this->_factory->create(
-                    $className,
-                    array(
-                        'resourceName' => $resourceName,
-                        'moduleName' => $moduleName,
-                    )
-                );
-                $setupClass->applyUpdates();
-
-                if ($setupClass->getCallAfterApplyAllUpdates()) {
-                    $afterApplyUpdates[] = $setupClass;
+                $setup = $this->_setupFactory->create($resourceName, $moduleName);
+                $setup->applyUpdates();
+
+                if ($setup->getCallAfterApplyAllUpdates()) {
+                    $afterApplyUpdates[] = $setup;
                 }
             }
         }
 
-        /** @var $setupClass \Magento\Core\Model\Resource\SetupInterface*/
-        foreach ($afterApplyUpdates as $setupClass) {
-            $setupClass->afterApplyAllUpdates();
+        /** @var $setup \Magento\App\Updater\SetupInterface*/
+        foreach ($afterApplyUpdates as $setup) {
+            $setup->afterApplyAllUpdates();
         }
 
         $this->_appState->setUpdateMode(false);
@@ -170,12 +155,7 @@ class Updater implements \Magento\Core\Model\Db\UpdaterInterface
         }
         foreach (array_keys($this->_moduleList->getModules()) as $moduleName) {
             foreach ($this->_resourceResolver->getResourceList($moduleName) as $resourceName) {
-                $className = isset($this->_resourceList[$resourceName])
-                    ? $this->_resourceList[$resourceName]
-                    : $this->_defaultClass;
-                $setupClass = $this->_factory->create($className, array('resourceName' => $resourceName,
-                    'moduleName' => $moduleName,));
-                $setupClass->applyDataUpdates();
+                $this->_setupFactory->create($resourceName, $moduleName)->applyDataUpdates();
             }
         }
     }
diff --git a/lib/Magento/App/Updater/SetupFactory.php b/lib/Magento/App/Updater/SetupFactory.php
new file mode 100644
index 0000000000000000000000000000000000000000..3ee75f5409c477daaa3b745c9d593fa5182750ac
--- /dev/null
+++ b/lib/Magento/App/Updater/SetupFactory.php
@@ -0,0 +1,72 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\App\Updater;
+use \Magento\ObjectManager;
+
+class SetupFactory
+{
+    const INSTANCE_TYPE = 'Magento\App\Updater\SetupInterface';
+
+    /**
+     * @var ObjectManager
+     */
+    protected $_objectManager;
+
+    /**
+     * @var array
+     */
+    protected $_resourceTypes;
+
+    /**
+     * @param ObjectManager $objectManager
+     * @param array $resourceTypes
+     */
+    public function __construct(ObjectManager $objectManager, array $resourceTypes)
+    {
+        $this->_objectManager = $objectManager;
+        $this->_resourceTypes = $resourceTypes;
+    }
+
+    /**
+     * @param string $resourceName
+     * @param string $moduleName
+     * @return SetupInterface
+     * @throws \LogicException
+     */
+    public function create($resourceName, $moduleName)
+    {
+        $className = isset($this->_resourceTypes[$resourceName])
+            ? $this->_resourceTypes[$resourceName]
+            : 'Magento\App\Updater\SetupInterface';
+
+        if (false == (is_subclass_of($className, self::INSTANCE_TYPE)) && $className !== self::INSTANCE_TYPE) {
+            throw new \LogicException($className . ' is not a \Magento\App\Updater\SetupInterface');
+        }
+
+        return $this->_objectManager->create($className, array(
+            'resourceName' => $resourceName,
+            'moduleName' => $moduleName,
+        ));
+    }
+}
\ No newline at end of file
diff --git a/app/code/Magento/Core/Model/Resource/SetupInterface.php b/lib/Magento/App/Updater/SetupInterface.php
similarity index 91%
rename from app/code/Magento/Core/Model/Resource/SetupInterface.php
rename to lib/Magento/App/Updater/SetupInterface.php
index 6cfbc2101890d025feb0e55bbf418384ee2a4a76..cfa2d93739a0dbd6ae0b0f13ca68eacdbb31916c 100644
--- a/app/code/Magento/Core/Model/Resource/SetupInterface.php
+++ b/lib/Magento/App/Updater/SetupInterface.php
@@ -21,7 +21,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Resource;
+namespace Magento\App\Updater;
 
 interface SetupInterface
 {
@@ -40,7 +40,7 @@ interface SetupInterface
     /**
      * Apply module resource install, upgrade and data scripts
      *
-     * @return \Magento\Core\Model\Resource\SetupInterface
+     * @return \Magento\App\Updater\SetupInterface
      */
     public function applyUpdates();
 
@@ -48,13 +48,14 @@ interface SetupInterface
      * Check call afterApplyAllUpdates method for setup class
      *
      * @return boolean
+     * @SuppressWarnings(PHPMD.BooleanGetMethodName)
      */
     public function getCallAfterApplyAllUpdates();
 
     /**
      * Run each time after applying of all updates,
      *
-     * @return \Magento\Core\Model\Resource\SetupInterface
+     * @return \Magento\App\Updater\SetupInterface
      */
     public function afterApplyAllUpdates();
 
diff --git a/app/code/Magento/Core/Model/Db/UpdaterInterface.php b/lib/Magento/App/UpdaterInterface.php
similarity index 97%
rename from app/code/Magento/Core/Model/Db/UpdaterInterface.php
rename to lib/Magento/App/UpdaterInterface.php
index 645a4b59811de6b5e593a197c4904d315627be03..edd9c9441c606824fe84ac0cd061d30924696f50 100644
--- a/app/code/Magento/Core/Model/Db/UpdaterInterface.php
+++ b/lib/Magento/App/UpdaterInterface.php
@@ -23,7 +23,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Db;
+namespace Magento\App;
 
 interface UpdaterInterface
 {
diff --git a/app/code/Magento/Core/etc/module.xsd b/lib/Magento/App/etc/module.xsd
similarity index 100%
rename from app/code/Magento/Core/etc/module.xsd
rename to lib/Magento/App/etc/module.xsd
diff --git a/app/code/Magento/Core/Model/Router/NoRouteHandlerInterface.php b/lib/Magento/Appl/Router/NoRouteHandlerInterface.php
similarity index 85%
rename from app/code/Magento/Core/Model/Router/NoRouteHandlerInterface.php
rename to lib/Magento/Appl/Router/NoRouteHandlerInterface.php
index 501f3105566d861656e56e84dee1d36a749522c2..acc2f68b5d7d3b13b713e39cf5faa165db1b6619 100644
--- a/app/code/Magento/Core/Model/Router/NoRouteHandlerInterface.php
+++ b/lib/Magento/Appl/Router/NoRouteHandlerInterface.php
@@ -23,15 +23,15 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Router;
+namespace Magento\Appl\Router;
 
 interface NoRouteHandlerInterface
 {
     /**
      * Check and process no route request
      *
-     * @param \Magento\Core\Controller\Request\Http $request
+     * @param \Magento\App\RequestInterface $request
      * @return bool
      */
-    public function process(\Magento\Core\Controller\Request\Http $request);
+    public function process(\Magento\App\RequestInterface $request);
 }
diff --git a/lib/Magento/Backup/Snapshot.php b/lib/Magento/Backup/Snapshot.php
index 33dc089bd3ae38d884f869d3f65156606e32a2bb..eba6efa4907fc7478b7cd1a563c220da44a50dc0 100644
--- a/lib/Magento/Backup/Snapshot.php
+++ b/lib/Magento/Backup/Snapshot.php
@@ -45,7 +45,7 @@ class Snapshot extends \Magento\Backup\Filesystem
     /**
      * Dirs instance
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
@@ -55,11 +55,11 @@ class Snapshot extends \Magento\Backup\Filesystem
     protected $_backupFactory;
 
     /**
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param \Magento\Backup\Factory $backupFactory
      */
     public function __construct(
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         \Magento\Backup\Factory $backupFactory
     ) {
         $this->_dirs = $dirs;
diff --git a/lib/Magento/Code/Generator/Io.php b/lib/Magento/Code/Generator/Io.php
index 1dbc79d508fc7cbd6e75757d6e50928d94d0ffe7..b974aabb5fdc9fe808366d4a65dcc6d84c20d116 100644
--- a/lib/Magento/Code/Generator/Io.php
+++ b/lib/Magento/Code/Generator/Io.php
@@ -30,7 +30,7 @@ class Io
 {
     /**
      * Default code generation directory
-     * Should correspond the value from \Magento\Core\Model\Dir
+     * Should correspond the value from \Magento\App\Dir
      */
     const DEFAULT_DIRECTORY = 'var/generation';
 
diff --git a/app/code/Magento/Core/Model/Config/Scope.php b/lib/Magento/Config/Scope.php
similarity index 73%
rename from app/code/Magento/Core/Model/Config/Scope.php
rename to lib/Magento/Config/Scope.php
index bcdff198e446831d35aa68ed2f8a1f4bc96c35e9..7ccff434ce2b5f58c3456806503fc28f433a3956 100644
--- a/app/code/Magento/Core/Model/Config/Scope.php
+++ b/lib/Magento/Config/Scope.php
@@ -21,10 +21,17 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Config;
+namespace Magento\Config;
 
 class Scope implements \Magento\Config\ScopeInterface
 {
+    /**
+     * Default application scope
+     *
+     * @var string
+     */
+    protected $_defaultScope;
+
     /**
      * Current config scope
      *
@@ -33,18 +40,20 @@ class Scope implements \Magento\Config\ScopeInterface
     protected $_currentScope;
 
     /**
-     * List of all available config scopes
+     * List of all available areas
      *
-     * @var array
+     * @var \Magento\App\AreaList
      */
-    protected $_availableScopes = array('global', 'adminhtml', 'frontend');
+    protected $_areaList;
 
     /**
+     * @param \Magento\App\AreaList $areaList
      * @param string $defaultScope
      */
-    public function __construct($defaultScope = 'global')
+    public function __construct(\Magento\App\AreaList $areaList, $defaultScope = 'global')
     {
-        $this->_currentScope = $defaultScope;
+        $this->_defaultScope = $this->_currentScope = $defaultScope;
+        $this->_areaList = $areaList;
     }
 
     /**
@@ -74,6 +83,8 @@ class Scope implements \Magento\Config\ScopeInterface
      */
     public function getAllScopes()
     {
-        return $this->_availableScopes;
+        $codes = $this->_areaList->getCodes();
+        array_unshift($codes, $this->_defaultScope);
+        return $codes;
     }
 }
diff --git a/lib/Magento/Config/ScopeInterface.php b/lib/Magento/Config/ScopeInterface.php
index 44892a3acd3c116a5c85e0ea049cd614821666cd..327358d0e6d7cb86ec53ff72d5ec048b85e44253 100644
--- a/lib/Magento/Config/ScopeInterface.php
+++ b/lib/Magento/Config/ScopeInterface.php
@@ -38,4 +38,11 @@ interface ScopeInterface
      * @return array
      */
     public function getAllScopes();
+
+    /**
+     * Set current configuration scope
+     *
+     * @param string $scope
+     */
+    public function setCurrentScope($scope);
 }
diff --git a/lib/Magento/DB/Adapter/Pdo/Mysql.php b/lib/Magento/DB/Adapter/Pdo/Mysql.php
index 71e93675ac4750db7808189073c7849c933e9a58..e37d7b403989482ec61ecda56807bf649d1ee725 100644
--- a/lib/Magento/DB/Adapter/Pdo/Mysql.php
+++ b/lib/Magento/DB/Adapter/Pdo/Mysql.php
@@ -220,16 +220,16 @@ class Mysql extends \Zend_Db_Adapter_Pdo_Mysql implements \Magento\DB\Adapter\Ad
     /**
      * Dirs instance
      *
-     * @var \Magento\Core\Model\Dir
+     * @var \Magento\App\Dir
      */
     protected $_dirs;
 
     /**
-     * @param \Magento\Core\Model\Dir $dirs
+     * @param \Magento\App\Dir $dirs
      * @param array $config
      */
     public function __construct(
-        \Magento\Core\Model\Dir $dirs,
+        \Magento\App\Dir $dirs,
         array $config = array()
     ) {
         $this->_dirs = $dirs;
@@ -1411,7 +1411,7 @@ class Mysql extends \Zend_Db_Adapter_Pdo_Mysql implements \Magento\DB\Adapter\Ad
         $str = '## ' . date('Y-m-d H:i:s') . "\r\n" . $str;
         if (!$this->_debugIoAdapter) {
             $this->_debugIoAdapter = new \Magento\Io\File();
-            $dir = $this->_dirs->getDir(\Magento\Core\Model\Dir::ROOT)
+            $dir = $this->_dirs->getDir(\Magento\App\Dir::ROOT)
                 . DS . $this->_debugIoAdapter->dirname($this->_debugFile);
             $this->_debugIoAdapter->checkAndCreateFolder($dir);
             $this->_debugIoAdapter->open(array('path' => $dir));
diff --git a/lib/Magento/Data/Form/Element/AbstractElement.php b/lib/Magento/Data/Form/Element/AbstractElement.php
index 76a692ffdb710c34e209866335d55c9eaa33c46c..51b4ca27f2004e5e0576a65f19cb8677dba783c1 100644
--- a/lib/Magento/Data/Form/Element/AbstractElement.php
+++ b/lib/Magento/Data/Form/Element/AbstractElement.php
@@ -269,7 +269,7 @@ abstract class AbstractElement extends \Magento\Data\Form\AbstractForm
             $html = '<label class="label" for="' . $this->getHtmlId() . $idSuffix . '"' . $this->_getUiId('label')
                 . '><span>'
                 . $this->_escape($this->getLabel())
-                . ($this->getRequired() ? ' <span class="required">*</span>' : '') . '</span></label>' . "\n";
+                . '</span></label>' . "\n";
         } else {
             $html = '';
         }
diff --git a/lib/Magento/Data/Form/Element/Image.php b/lib/Magento/Data/Form/Element/Image.php
index 2a83d18f990930abb8d2f00de9d930b104fe041d..c45dfb9626794cd73ea9a179a9c1dfa7763382d7 100644
--- a/lib/Magento/Data/Form/Element/Image.php
+++ b/lib/Magento/Data/Form/Element/Image.php
@@ -36,21 +36,21 @@ namespace Magento\Data\Form\Element;
 class Image extends \Magento\Data\Form\Element\AbstractElement
 {
     /**
-     * @var \Magento\Core\Model\UrlInterface
+     * @var \Magento\UrlInterface
      */
     protected $_urlBuilder;
     /**
      * @param \Magento\Core\Helper\Data $coreData
      * @param \Magento\Data\Form\Element\Factory $factoryElement
      * @param \Magento\Data\Form\Element\CollectionFactory $factoryCollection
-     * @param \Magento\Core\Model\UrlInterface $urlBuilder
+     * @param \Magento\UrlInterface $urlBuilder
      * @param array $attributes
      */
     public function __construct(
         \Magento\Core\Helper\Data $coreData,
         \Magento\Data\Form\Element\Factory $factoryElement,
         \Magento\Data\Form\Element\CollectionFactory $factoryCollection,
-        \Magento\Core\Model\UrlInterface $urlBuilder,
+        \Magento\UrlInterface $urlBuilder,
         $attributes = array()
     ) {
         $this->_urlBuilder = $urlBuilder;
diff --git a/lib/Magento/Event.php b/lib/Magento/Event.php
index 3fa528fa1a617d174cd24d58d7e2e7403f677eb5..f7e2b24abfd83cce6c2528acca7f274eaf2b0957 100644
--- a/lib/Magento/Event.php
+++ b/lib/Magento/Event.php
@@ -50,7 +50,7 @@ class Event extends \Magento\Object
      *
      * @param array $data
      */
-    public function __construct(array $data=array())
+    public function __construct(array $data = array())
     {
         $this->_observers = new \Magento\Event\Observer\Collection();
         parent::__construct($data);
diff --git a/app/code/Magento/Core/Model/Event/Config.php b/lib/Magento/Event/Config.php
similarity index 81%
rename from app/code/Magento/Core/Model/Event/Config.php
rename to lib/Magento/Event/Config.php
index 279cceb1804fc9e34b9e02a50b68952dc0a3b424..03f1ef8ff068f5d0bb11ea0c8ad04b23c2c40da1 100644
--- a/app/code/Magento/Core/Model/Event/Config.php
+++ b/lib/Magento/Event/Config.php
@@ -23,21 +23,21 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Event;
+namespace Magento\Event;
 
-class Config implements \Magento\Core\Model\Event\ConfigInterface
+class Config implements \Magento\Event\ConfigInterface
 {
     /**
      * Modules configuration model
      *
-     * @var \Magento\Core\Model\Event\Config\Data
+     * @var \Magento\Event\Config\Data
      */
     protected $_dataContainer;
 
     /**
-     * @param \Magento\Core\Model\Event\Config\Data $dataContainer
+     * @param \Magento\Event\Config\Data $dataContainer
      */
-    public function __construct(\Magento\Core\Model\Event\Config\Data $dataContainer)
+    public function __construct(Config\Data $dataContainer)
     {
         $this->_dataContainer = $dataContainer;
     }
diff --git a/app/code/Magento/Core/Model/Event/Config/Converter.php b/lib/Magento/Event/Config/Converter.php
similarity index 98%
rename from app/code/Magento/Core/Model/Event/Config/Converter.php
rename to lib/Magento/Event/Config/Converter.php
index 20d9fb440b9d6483191548b015912e3f9feb2c41..96c76113f014ddaa75ad264e8a76df5b8862bf2a 100644
--- a/app/code/Magento/Core/Model/Event/Config/Converter.php
+++ b/lib/Magento/Event/Config/Converter.php
@@ -23,7 +23,7 @@
  * @copyright Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license   http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Event\Config;
+namespace Magento\Event\Config;
 
 class Converter implements \Magento\Config\ConverterInterface
 {
diff --git a/app/code/Magento/Core/Model/Event/Config/Data.php b/lib/Magento/Event/Config/Data.php
similarity index 87%
rename from app/code/Magento/Core/Model/Event/Config/Data.php
rename to lib/Magento/Event/Config/Data.php
index 91266ec3923139add406abc5d12532ee9b532e26..8a47948f17c357037f68a0272461aab38a07236b 100644
--- a/app/code/Magento/Core/Model/Event/Config/Data.php
+++ b/lib/Magento/Event/Config/Data.php
@@ -23,7 +23,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Event\Config;
+namespace Magento\Event\Config;
 
 class Data extends \Magento\Config\Data\Scoped
 {
@@ -35,22 +35,22 @@ class Data extends \Magento\Config\Data\Scoped
     protected $_scopePriorityScheme = array('global');
 
     /**
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
     /**
-     * @param \Magento\Core\Model\Event\Config\Reader $reader
+     * @param \Magento\Event\Config\Reader $reader
      * @param \Magento\Config\ScopeInterface $configScope
      * @param \Magento\Config\CacheInterface $cache
      * @param string $cacheId
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\App\State $appState
      */
     public function __construct(
-        \Magento\Core\Model\Event\Config\Reader $reader,
+        \Magento\Event\Config\Reader $reader,
         \Magento\Config\ScopeInterface $configScope,
         \Magento\Config\CacheInterface $cache,
-        \Magento\Core\Model\App\State $appState,
+        \Magento\App\State $appState,
         $cacheId = 'event_config_cache'
     ) {
         $this->_appState = $appState;
diff --git a/app/code/Magento/Core/Model/Event/Config/Reader.php b/lib/Magento/Event/Config/Reader.php
similarity index 86%
rename from app/code/Magento/Core/Model/Event/Config/Reader.php
rename to lib/Magento/Event/Config/Reader.php
index 8c246608eafd18f0d1a2de7b8c06b7819977590e..681ec65a3b3d97b51043c9d468a5a8127b0e7790 100644
--- a/app/code/Magento/Core/Model/Event/Config/Reader.php
+++ b/lib/Magento/Event/Config/Reader.php
@@ -23,7 +23,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Event\Config;
+namespace Magento\Event\Config;
 
 class Reader extends \Magento\Config\Reader\Filesystem
 {
@@ -39,17 +39,17 @@ class Reader extends \Magento\Config\Reader\Filesystem
 
     /**
      * @param \Magento\Config\FileResolverInterface $fileResolver
-     * @param \Magento\Core\Model\Event\Config\Converter $converter
+     * @param Converter $converter
+     * @param SchemaLocator $schemaLocator
      * @param \Magento\Config\ValidationStateInterface $validationState
-     * @param \Magento\Core\Model\Event\Config\SchemaLocator $schemaLocator
      * @param string $fileName
      * @param array $idAttributes
      * @param string $domDocumentClass
      */
     public function __construct(
         \Magento\Config\FileResolverInterface $fileResolver,
-        \Magento\Core\Model\Event\Config\Converter $converter,
-        \Magento\Core\Model\Event\Config\SchemaLocator $schemaLocator,
+        Converter $converter,
+        SchemaLocator $schemaLocator,
         \Magento\Config\ValidationStateInterface $validationState,
         $fileName = 'events.xml',
         $idAttributes = array(),
diff --git a/lib/Magento/Event/Config/SchemaLocator.php b/lib/Magento/Event/Config/SchemaLocator.php
new file mode 100644
index 0000000000000000000000000000000000000000..93c383b59aa3e5deffc9ca523be6045092bc0cf2
--- /dev/null
+++ b/lib/Magento/Event/Config/SchemaLocator.php
@@ -0,0 +1,49 @@
+<?php
+/**
+ * Event observers configuration schema locator
+ *
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Event\Config;
+
+class SchemaLocator implements \Magento\Config\SchemaLocatorInterface
+{
+    /**
+     * Get path to merged config schema
+     *
+     * @return string
+     */
+    public function getSchema()
+    {
+        return realpath(__DIR__ . '/../etc/events.xsd');
+    }
+
+    /**
+     * Get path to pre file validation schema
+     *
+     * @return string
+     */
+    public function getPerFileSchema()
+    {
+        return $this->getSchema();
+    }
+}
diff --git a/app/code/Magento/Core/Model/Event/ConfigInterface.php b/lib/Magento/Event/ConfigInterface.php
similarity index 96%
rename from app/code/Magento/Core/Model/Event/ConfigInterface.php
rename to lib/Magento/Event/ConfigInterface.php
index aac170632a6a45f560596f67e722d5068f273c3e..e14dc9dfd1e8956f3e9e2993ba41a0d76bbf8a79 100644
--- a/app/code/Magento/Core/Model/Event/ConfigInterface.php
+++ b/lib/Magento/Event/ConfigInterface.php
@@ -23,7 +23,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Event;
+namespace Magento\Event;
 
 interface ConfigInterface
 {
diff --git a/app/code/Magento/Core/Model/Event/Invoker/InvokerDefault.php b/lib/Magento/Event/Invoker/InvokerDefault.php
similarity index 80%
rename from app/code/Magento/Core/Model/Event/Invoker/InvokerDefault.php
rename to lib/Magento/Event/Invoker/InvokerDefault.php
index 04443104489cc3a588f24ccf4b65a66f39c4912f..a2230ec5cc820d9c8ce7ab1a03aa35e123863d1e 100644
--- a/app/code/Magento/Core/Model/Event/Invoker/InvokerDefault.php
+++ b/lib/Magento/Event/Invoker/InvokerDefault.php
@@ -23,29 +23,29 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Event\Invoker;
+namespace Magento\Event\Invoker;
 
-class InvokerDefault implements \Magento\Core\Model\Event\InvokerInterface
+class InvokerDefault implements \Magento\Event\InvokerInterface
 {
     /**
      * Observer model factory
      *
-     * @var \Magento\Core\Model\ObserverFactory
+     * @var \Magento\Event\ObserverFactory
      */
     protected $_observerFactory;
 
     /**
      * Application state
      *
-     * @var \Magento\Core\Model\App\State
+     * @var \Magento\App\State
      */
     protected $_appState;
 
     /**
-     * @param \Magento\Core\Model\ObserverFactory $observerFactory
-     * @param \Magento\Core\Model\App\State $appState
+     * @param \Magento\Event\ObserverFactory $observerFactory
+     * @param \Magento\App\State $appState
      */
-    public function __construct(\Magento\Core\Model\ObserverFactory $observerFactory, \Magento\Core\Model\App\State $appState)
+    public function __construct(\Magento\Event\ObserverFactory $observerFactory, \Magento\App\State $appState)
     {
         $this->_observerFactory = $observerFactory;
         $this->_appState = $appState;
@@ -78,14 +78,14 @@ class InvokerDefault implements \Magento\Core\Model\Event\InvokerInterface
      * @param object $object
      * @param string $method
      * @param \Magento\Event\Observer $observer
-     * @return \Magento\Core\Model\Event\InvokerInterface
+     * @return \Magento\Event\InvokerInterface
      * @throws \Magento\Core\Exception
      */
     protected function _callObserverMethod($object, $method, $observer)
     {
         if (method_exists($object, $method)) {
             $object->$method($observer);
-        } elseif ($this->_appState->getMode() == \Magento\Core\Model\App\State::MODE_DEVELOPER) {
+        } elseif ($this->_appState->getMode() == \Magento\App\State::MODE_DEVELOPER) {
             throw new \Magento\Core\Exception('Method "' . $method . '" is not defined in "' . get_class($object) . '"');
         }
         return $this;
diff --git a/app/code/Magento/Core/Model/Event/InvokerInterface.php b/lib/Magento/Event/InvokerInterface.php
similarity index 97%
rename from app/code/Magento/Core/Model/Event/InvokerInterface.php
rename to lib/Magento/Event/InvokerInterface.php
index aa420f0d040f2c935da3c35b6887ce4ea49c0c60..e5a9545e5a84e75a64b14d1f35f116ba032614f7 100644
--- a/app/code/Magento/Core/Model/Event/InvokerInterface.php
+++ b/lib/Magento/Event/InvokerInterface.php
@@ -23,7 +23,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Event;
+namespace Magento\Event;
 
 interface InvokerInterface
 {
diff --git a/app/code/Magento/Core/Model/Event/Manager.php b/lib/Magento/Event/Manager.php
similarity index 72%
rename from app/code/Magento/Core/Model/Event/Manager.php
rename to lib/Magento/Event/Manager.php
index 372ab1442b40c9620acef95743123f3f45429acc..019f776dcd9d76b54e16f9563e0e95c1954d28e9 100644
--- a/app/code/Magento/Core/Model/Event/Manager.php
+++ b/lib/Magento/Event/Manager.php
@@ -24,9 +24,9 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model\Event;
+namespace Magento\Event;
 
-class Manager
+class Manager implements ManagerInterface
 {
     /**
      * Events cache
@@ -38,14 +38,14 @@ class Manager
     /**
      * Event invoker
      *
-     * @var \Magento\Core\Model\Event\InvokerInterface
+     * @var \Magento\Event\InvokerInterface
      */
     protected $_invoker;
 
     /**
      * Event config
      *
-     * @var \Magento\Core\Model\Event\ConfigInterface
+     * @var \Magento\Event\ConfigInterface
      */
     protected $_eventConfig;
 
@@ -59,26 +59,26 @@ class Manager
     /**
      * Magento event observer factory
      *
-     * @var \Magento\Event\ObserverFactory
+     * @var \Magento\Event\WrapperFactory
      */
-    protected $_eventObserverFactory;
+    protected $wrapperFactory;
 
     /**
-     * @param \Magento\Core\Model\Event\InvokerInterface $invoker
-     * @param \Magento\Core\Model\Event\ConfigInterface $eventConfig
+     * @param InvokerInterface $invoker
+     * @param ConfigInterface $eventConfig
      * @param \Magento\EventFactory $eventFactory
-     * @param \Magento\Event\ObserverFactory $eventObserverFactory
+     * @param WrapperFactory $wrapperFactory
      */
     public function __construct(
-        \Magento\Core\Model\Event\InvokerInterface $invoker,
-        \Magento\Core\Model\Event\ConfigInterface $eventConfig,
+        \Magento\Event\InvokerInterface $invoker,
+        \Magento\Event\ConfigInterface $eventConfig,
         \Magento\EventFactory $eventFactory,
-        \Magento\Event\ObserverFactory $eventObserverFactory
+        \Magento\Event\WrapperFactory $wrapperFactory
     ) {
         $this->_invoker = $invoker;
         $this->_eventConfig = $eventConfig;
         $this->_eventFactory = $eventFactory;
-        $this->_eventObserverFactory = $eventObserverFactory;
+        $this->wrapperFactory = $wrapperFactory;
     }
 
     /**
@@ -98,12 +98,12 @@ class Manager
             $event = $this->_eventFactory->create(array('data' => $data));
             $event->setName($eventName);
 
-            /** @var $observer \Magento\Event\Observer */
-            $observer = $this->_eventObserverFactory->create();
-            $observer->setData(array_merge(array('event' => $event), $data));
+            /** @var $wrapper \Magento\Event\Observer */
+            $wrapper = $this->wrapperFactory->create();
+            $wrapper->setData(array_merge(array('event' => $event), $data));
 
             \Magento\Profiler::start('OBSERVER:' . $observerConfig['name']);
-            $this->_invoker->dispatch($observerConfig, $observer);
+            $this->_invoker->dispatch($observerConfig, $wrapper);
             \Magento\Profiler::stop('OBSERVER:' .  $observerConfig['name']);
         }
         \Magento\Profiler::stop('EVENT:' . $eventName);
diff --git a/lib/Magento/Event/ManagerInterface.php b/lib/Magento/Event/ManagerInterface.php
new file mode 100644
index 0000000000000000000000000000000000000000..df1ffbbd1865091c6a71cb32628f964f5eec007f
--- /dev/null
+++ b/lib/Magento/Event/ManagerInterface.php
@@ -0,0 +1,38 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+namespace Magento\Event;
+
+interface ManagerInterface
+{
+    /**
+     * Dispatch event
+     *
+     * Calls all observer callbacks registered for this event
+     * and multiple observers matching event name pattern
+     *
+     * @param string $eventName
+     * @param array $data
+     */
+    public function dispatch($eventName, array $data = array());
+}
\ No newline at end of file
diff --git a/lib/Magento/Event/Observer.php b/lib/Magento/Event/Observer.php
index 91773921c4a86b657ee6f817a93f1a82763691ce..2009f2ca3af7ae8713907e8b2f52438bc98114f4 100644
--- a/lib/Magento/Event/Observer.php
+++ b/lib/Magento/Event/Observer.php
@@ -24,27 +24,19 @@
  * @license    http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-
-/**
- * Event observer object
- *
- * @category   Magento
- * @package    \Magento\Event
- * @author      Magento Core Team <core@magentocommerce.com>
- */
 namespace Magento\Event;
 
 class Observer extends \Magento\Object
 {
     /**
-     * Checkes the observer's event_regex against event's name
+     * Checks the observer's event_regex against event's name
      *
      * @param \Magento\Event $event
      * @return boolean
      */
     public function isValidFor(\Magento\Event $event)
     {
-        return $this->getEventName()===$event->getName();
+        return $this->getEventName() === $event->getName();
     }
 
     /**
diff --git a/app/code/Magento/Core/Model/ObserverFactory.php b/lib/Magento/Event/ObserverFactory.php
similarity index 92%
rename from app/code/Magento/Core/Model/ObserverFactory.php
rename to lib/Magento/Event/ObserverFactory.php
index 88b4a9596feded502700cd424386c1580725028a..337dd0132ae925a4b63ca5b45ddcbe7f399d3b67 100644
--- a/app/code/Magento/Core/Model/ObserverFactory.php
+++ b/lib/Magento/Event/ObserverFactory.php
@@ -24,7 +24,7 @@
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-namespace Magento\Core\Model;
+namespace Magento\Event;
 
 class ObserverFactory
 {
@@ -45,7 +45,7 @@ class ObserverFactory
      * Get observer model instance
      *
      * @param string $className
-     * @return \Magento\Core\Model\AbstractModel|bool
+     * @return mixed
      */
     public function get($className)
     {
@@ -57,7 +57,7 @@ class ObserverFactory
      *
      * @param string $className
      * @param array $arguments
-     * @return \Magento\Core\Model\AbstractModel|bool
+     * @return mixed
      */
     public function create($className, array $arguments = array())
     {
diff --git a/lib/Magento/HTTP/HandlerFactory.php b/lib/Magento/Event/WrapperFactory.php
similarity index 79%
rename from lib/Magento/HTTP/HandlerFactory.php
rename to lib/Magento/Event/WrapperFactory.php
index 7f7044d5fd3fc33afbc7c9f2a08d87e57ec2cd11..fe3b9be61a490bf46fc6cd7448a2009ae6e42ded 100644
--- a/lib/Magento/HTTP/HandlerFactory.php
+++ b/lib/Magento/Event/WrapperFactory.php
@@ -1,6 +1,6 @@
 <?php
 /**
- * Request Handler factory
+ * Observer model factory
  *
  * Magento
  *
@@ -22,15 +22,13 @@
  *
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */ 
-namespace Magento\HTTP;
+ */
 
-class HandlerFactory
-{
+namespace Magento\Event;
 
+class WrapperFactory
+{
     /**
-     * Application object manager
-     *
      * @var \Magento\ObjectManager
      */
     protected $_objectManager;
@@ -44,13 +42,13 @@ class HandlerFactory
     }
 
     /**
-     * Create new http request handler
+     * Create wrapper instance
      *
-     * @param string $name
-     * @return \Magento\HTTP\HandlerInterface
+     * @param array $arguments
+     * @return \Magento\Event\Observer
      */
-    public function create($name)
+    public function create(array $arguments = array())
     {
-        return $this->_objectManager->create($name);
+        return $this->_objectManager->create('Magento\Event\Observer', $arguments);
     }
 }
diff --git a/app/code/Magento/Core/etc/events.xsd b/lib/Magento/Event/etc/events.xsd
similarity index 100%
rename from app/code/Magento/Core/etc/events.xsd
rename to lib/Magento/Event/etc/events.xsd
diff --git a/app/code/Magento/Core/Controller/Varien/DispatchableInterface.php b/lib/Magento/EventFactory.php
similarity index 66%
rename from app/code/Magento/Core/Controller/Varien/DispatchableInterface.php
rename to lib/Magento/EventFactory.php
index 6acab3d8d6fa3c07f0ea2047d3f4b7772c423cb7..ea5bf004cd10b11c76980adfd862bff9e90988e6 100644
--- a/app/code/Magento/Core/Controller/Varien/DispatchableInterface.php
+++ b/lib/Magento/EventFactory.php
@@ -18,30 +18,33 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
+namespace Magento;
 
-/**
- * Controller dispatchable interface
- *
- * @category    Magento
- * @package     Magento_Core
- * @author      Magento Core Team <core@magentocommerce.com>
- */
-namespace Magento\Core\Controller\Varien;
-
-interface DispatchableInterface
+class EventFactory
 {
     /**
-     * Dispatch controller action
-     *
-     * @abstract
-     * @param string $action action name
-     * @return void
+     * @var ObjectManager
+     */
+    protected $_objectManager;
+
+    /**
+     * @param ObjectManager $objectManager
+     */
+    public function __construct(ObjectManager $objectManager)
+    {
+        $this->_objectManager = $objectManager;
+    }
+
+    /**
+     * @param array $arguments
+     * @return Event
      */
-    public function dispatch($action);
-}
+    public function create($arguments = array())
+    {
+        return $this->_objectManager->create('Magento\Event', $arguments);
+    }
+}
\ No newline at end of file
diff --git a/lib/Magento/HTTP/Handler/Composite.php b/lib/Magento/HTTP/Handler/Composite.php
deleted file mode 100644
index 2fc21cb09ceaec31dec87bf03e149c5923922879..0000000000000000000000000000000000000000
--- a/lib/Magento/HTTP/Handler/Composite.php
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-/**
- * Composite http request handler. Used to apply multiple request handlers
- *
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\HTTP\Handler;
-
-class Composite implements \Magento\HTTP\HandlerInterface
-{
-    /**
-     * Leaf request handlers
-     *
-     * @var \Magento\HTTP\HandlerInterface[]
-     */
-    protected $_children;
-
-    /**
-     * Handler factory
-     *
-     * @var \Magento\HTTP\HandlerFactory
-     */
-    protected $_handlerFactory;
-
-    /**
-     * @param \Magento\HTTP\HandlerFactory $factory
-     * @param array $handlers
-     */
-    public function __construct(\Magento\HTTP\HandlerFactory $factory, array $handlers)
-    {
-        usort($handlers, array($this, '_cmp'));
-        $this->_children = $handlers;
-        $this->_handlerFactory = $factory;
-    }
-
-    /**
-     * Sort handlers
-     *
-     * @param array $handlerA
-     * @param array $handlerB
-     * @return int
-     */
-    protected function _cmp($handlerA, $handlerB)
-    {
-        $sortOrderA = intval($handlerA['sortOrder']);
-        $sortOrderB = intval($handlerB['sortOrder']);
-        if ($sortOrderA == $sortOrderB) {
-            return 0;
-        }
-        return ($sortOrderA < $sortOrderB) ? -1 : 1;
-    }
-
-    /**
-     * Handle http request
-     *
-     * @param \Zend_Controller_Request_Http $request
-     * @param \Zend_Controller_Response_Http $response
-     */
-    public function handle(\Zend_Controller_Request_Http $request, \Zend_Controller_Response_Http $response)
-    {
-        foreach ($this->_children as $handlerConfig) {
-            $this->_handlerFactory->create($handlerConfig['class'])->handle($request, $response);
-            if ($request->isDispatched()) {
-                break;
-            }
-        }
-    }
-}
-
diff --git a/lib/Magento/HTTP/HandlerInterface.php b/lib/Magento/HTTP/HandlerInterface.php
deleted file mode 100644
index 346c29f4471d239d1c1cb682447c61cdcee9b9f4..0000000000000000000000000000000000000000
--- a/lib/Magento/HTTP/HandlerInterface.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-/**
- * Http request handler interface
- *
- * Magento
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@magentocommerce.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade Magento to newer
- * versions in the future. If you wish to customize Magento for your
- * needs please refer to http://www.magentocommerce.com for more information.
- *
- * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
- * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
- */
-namespace Magento\HTTP;
-
-interface HandlerInterface
-{
-    /**
-     * Handle http request
-     *
-     * @param \Zend_Controller_Request_Http $request
-     * @param \Zend_Controller_Response_Http $response
-     */
-    public function handle(\Zend_Controller_Request_Http $request, \Zend_Controller_Response_Http $response);
-}
diff --git a/lib/Magento/Interception/PluginList/PluginList.php b/lib/Magento/Interception/PluginList/PluginList.php
index 1213838b55cf6b126741f79dd843fd27f8e0ef35..bf9037d4e367d01cdcb9e09ebff08e087df2a42b 100644
--- a/lib/Magento/Interception/PluginList/PluginList.php
+++ b/lib/Magento/Interception/PluginList/PluginList.php
@@ -25,6 +25,8 @@
  */
 namespace Magento\Interception\PluginList;
 
+use Zend\Soap\Exception\InvalidArgumentException;
+
 class PluginList
     extends \Magento\Config\Data\Scoped
     implements \Magento\Interception\PluginList
@@ -139,6 +141,9 @@ class PluginList
                         continue;
                     }
                     $pluginType = $this->_omConfig->getInstanceType($plugin['instance']);
+                    if (!class_exists($pluginType)) {
+                        throw new InvalidArgumentException('Plugin class ' . $pluginType . ' doesn\'t exist');
+                    }
                     foreach ($this->_definitions->getMethodList($pluginType) as $pluginMethod) {
                         $this->_data['processed'][$type][$pluginMethod][] = $plugin['instance'];
                     }
diff --git a/app/code/Magento/Core/Model/UrlInterface.php b/lib/Magento/UrlInterface.php
similarity index 88%
rename from app/code/Magento/Core/Model/UrlInterface.php
rename to lib/Magento/UrlInterface.php
index d46aa032b13da72d4d7ca716ef0e612ff8d634bb..6110c1043881c11794af8ffc2e671773951d90c4 100644
--- a/app/code/Magento/Core/Model/UrlInterface.php
+++ b/lib/Magento/UrlInterface.php
@@ -23,7 +23,7 @@
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
-namespace Magento\Core\Model;
+namespace Magento;
 
 interface UrlInterface
 {
@@ -49,7 +49,7 @@ interface UrlInterface
      * Initialize object data from retrieved url
      *
      * @param   string $url
-     * @return  \Magento\Core\Model\UrlInterface
+     * @return  \Magento\UrlInterface
      */
     public function parseUrl($url);
 
@@ -64,7 +64,7 @@ interface UrlInterface
      * Set use_url_cache flag
      *
      * @param boolean $flag
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function setUseUrlCache($flag);
 
@@ -72,7 +72,7 @@ interface UrlInterface
      * Set use session rule
      *
      * @param bool $useSession
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function setUseSession($useSession);
 
@@ -80,7 +80,7 @@ interface UrlInterface
      * Set route front name
      *
      * @param string $name
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function setRouteFrontName($name);
 
@@ -110,15 +110,15 @@ interface UrlInterface
     /**
      * Set request
      *
-     * @param \Zend_Controller_Request_Http $request
-     * @return \Magento\Core\Model\UrlInterface
+     * @param \Magento\App\RequestInterface $request
+     * @return \Magento\UrlInterface
      */
-    public function setRequest(\Zend_Controller_Request_Http $request);
+    public function setRequest(\Magento\App\RequestInterface $request);
 
     /**
      * Zend request object
      *
-     * @return \Magento\Core\Controller\Request\Http
+     * @return \Magento\App\RequestInterface
      */
     public function getRequest();
 
@@ -140,7 +140,7 @@ interface UrlInterface
      * Set store entity
      *
      * @param mixed $params
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function setStore($params);
 
@@ -163,7 +163,7 @@ interface UrlInterface
      * Set Route Parameters
      *
      * @param array $data
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function setRoutePath($data);
 
@@ -186,7 +186,7 @@ interface UrlInterface
      * Set route name
      *
      * @param string $data
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function setRouteName($data);
 
@@ -211,7 +211,7 @@ interface UrlInterface
      * Reset action name and route path if has change
      *
      * @param string $data
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function setControllerName($data);
 
@@ -228,7 +228,7 @@ interface UrlInterface
      * Reseted route path if action name has change
      *
      * @param string $data
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function setActionName($data);
 
@@ -245,7 +245,7 @@ interface UrlInterface
      *
      * @param array $data
      * @param boolean $unsetOldParams
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function setRouteParams(array $data, $unsetOldParams = true);
 
@@ -261,7 +261,7 @@ interface UrlInterface
      *
      * @param string $key
      * @param mixed $data
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function setRouteParam($key, $data);
 
@@ -285,14 +285,14 @@ interface UrlInterface
     /**
      * If the host was switched but session cookie won't recognize it - add session id to query
      *
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function checkCookieDomains();
 
     /**
      * Add session param
      *
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function addSessionParam();
 
@@ -300,7 +300,7 @@ interface UrlInterface
      * Set URL query param(s)
      *
      * @param mixed $data
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function setQuery($data);
 
@@ -316,14 +316,14 @@ interface UrlInterface
      * Set query Params as array
      *
      * @param array $data
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function setQueryParams(array $data);
 
     /**
      * Purge Query params array
      *
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function purgeQueryParams();
 
@@ -339,7 +339,7 @@ interface UrlInterface
      *
      * @param string $key
      * @param mixed $data
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function setQueryParam($key, $data);
 
@@ -355,7 +355,7 @@ interface UrlInterface
      * Set fragment to URL
      *
      * @param string $data
-     * @return \Magento\Core\Model\UrlInterface
+     * @return \Magento\UrlInterface
      */
     public function setFragment($data);
 
diff --git a/lib/Magento/View/ConfigInterface.php b/lib/Magento/View/ConfigInterface.php
new file mode 100644
index 0000000000000000000000000000000000000000..59ffb9b33fd158b9c837ba3fe5ad8cf3cd81d784
--- /dev/null
+++ b/lib/Magento/View/ConfigInterface.php
@@ -0,0 +1,41 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+
+namespace Magento\View;
+
+/**
+ * Config Interface
+ *
+ * @package Magento\View
+ */
+interface ConfigInterface
+{
+    /**
+     * Render view config object for current package and theme
+     *
+     * @param array $params
+     * @return \Magento\Config\View
+     */
+    public function getViewConfig(array $params = array());
+}
diff --git a/app/code/Magento/Core/Model/ThemeInterface.php b/lib/Magento/View/Design/ThemeInterface.php
similarity index 88%
rename from app/code/Magento/Core/Model/ThemeInterface.php
rename to lib/Magento/View/Design/ThemeInterface.php
index dfb9d2ab861587e6f4060726ca273c54509cb7bc..5097da6046215d4d65f291301a8a7271201e0bf1 100644
--- a/app/code/Magento/Core/Model/ThemeInterface.php
+++ b/lib/Magento/View/Design/ThemeInterface.php
@@ -18,17 +18,17 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
+namespace Magento\View\Design;
+
 /**
- * Minimal required interface a theme has to implement
+ * Theme Interface
+ *
+ * @package Magento\View\Design
  */
-namespace Magento\Core\Model;
-
 interface ThemeInterface
 {
     /**
@@ -65,7 +65,7 @@ interface ThemeInterface
     /**
      * Retrieve parent theme instance
      *
-     * @return \Magento\Core\Model\ThemeInterface|null
+     * @return ThemeInterface|null
      */
     public function getParentTheme();
 
@@ -75,4 +75,11 @@ interface ThemeInterface
      * @return string
      */
     public function getCode();
+
+    /**
+     * Check if theme is physical
+     *
+     * @return bool
+     */
+    public function isPhysical();
 }
diff --git a/app/code/Magento/Core/Model/View/DesignInterface.php b/lib/Magento/View/DesignInterface.php
similarity index 84%
rename from app/code/Magento/Core/Model/View/DesignInterface.php
rename to lib/Magento/View/DesignInterface.php
index 438fdb47c9a258bdd78975e6d8b4b169162662f9..b5be26f55ffe473e1d54733335188d77aa0b21ea 100644
--- a/app/code/Magento/Core/Model/View/DesignInterface.php
+++ b/lib/Magento/View/DesignInterface.php
@@ -18,14 +18,17 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-namespace Magento\Core\Model\View;
+namespace Magento\View;
 
+/**
+ * Design Interface
+ *
+ * @package Magento\View
+ */
 interface DesignInterface
 {
     /**
@@ -37,7 +40,7 @@ interface DesignInterface
      * Set package area
      *
      * @param string $area
-     * @return \Magento\Core\Model\View\DesignInterface
+     * @return DesignInterface
      */
     public function setArea($area);
 
@@ -51,9 +54,9 @@ interface DesignInterface
     /**
      * Set theme path
      *
-     * @param \Magento\Core\Model\Theme|int|string $theme
+     * @param Design\ThemeInterface|int|string $theme
      * @param string $area
-     * @return \Magento\Core\Model\View\DesignInterface
+     * @return DesignInterface
      */
     public function setDesignTheme($theme, $area = null);
 
@@ -69,14 +72,14 @@ interface DesignInterface
     /**
      * Set default design theme
      *
-     * @return \Magento\Core\Model\View\DesignInterface
+     * @return DesignInterface
      */
     public function setDefaultDesignTheme();
 
     /**
      * Design theme model getter
      *
-     * @return \Magento\Core\Model\Theme
+     * @return Design\ThemeInterface
      */
     public function getDesignTheme();
 
diff --git a/app/code/Magento/Core/Block.php b/lib/Magento/View/Element/BlockInterface.php
similarity index 88%
rename from app/code/Magento/Core/Block.php
rename to lib/Magento/View/Element/BlockInterface.php
index 795cbacacd584ef3df37427e373598995bb321f6..94de53510da474e921c01cff91922832c8eb6efb 100644
--- a/app/code/Magento/Core/Block.php
+++ b/lib/Magento/View/Element/BlockInterface.php
@@ -1,5 +1,7 @@
 <?php
 /**
+ * Magento Block. Used to present information to user
+ *
  * Magento
  *
  * NOTICE OF LICENSE
@@ -18,18 +20,15 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
+namespace Magento\View\Element;
 
 /**
- * Magento Block interface
+ * @package Magento\View
  */
-namespace Magento\Core;
-
-interface Block
+interface BlockInterface
 {
     /**
      * Produce and return block's html output
diff --git a/app/code/Magento/Core/Model/Layout/Element.php b/lib/Magento/View/Layout/Element.php
similarity index 63%
rename from app/code/Magento/Core/Model/Layout/Element.php
rename to lib/Magento/View/Layout/Element.php
index c3b2d5c2b1fb7e0f37a067e7e7c4d912b845cea7..922451428385e6c6b70038353aed6895e8b96857 100644
--- a/app/code/Magento/Core/Model/Layout/Element.php
+++ b/lib/Magento/View/Layout/Element.php
@@ -18,42 +18,53 @@
  * versions in the future. If you wish to customize Magento for your
  * needs please refer to http://www.magentocommerce.com for more information.
  *
- * @category    Magento
- * @package     Magento_Core
  * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-
-namespace Magento\Core\Model\Layout;
+namespace Magento\View\Layout;
 
 class Element extends \Magento\Simplexml\Element
 {
-    public function prepare($args)
+    /**#@+
+     * Supported layout directives
+     */
+    const TYPE_BLOCK = 'block';
+    const TYPE_CONTAINER = 'container';
+    const TYPE_ACTION = 'action';
+    const TYPE_ARGUMENTS = 'arguments';
+    const TYPE_ARGUMENT = 'argument';
+    const TYPE_REFERENCE_BLOCK = 'referenceBlock';
+    const TYPE_REFERENCE_CONTAINER = 'referenceContainer';
+    const TYPE_REMOVE = 'remove';
+    const TYPE_MOVE = 'move';
+    /**#@-*/
+
+    public function prepare()
     {
         switch ($this->getName()) {
-            case \Magento\Core\Model\Layout::TYPE_BLOCK:
-                $this->prepareBlock($args);
+            case self::TYPE_BLOCK:
+                $this->prepareBlock();
                 break;
 
-            case \Magento\Core\Model\Layout::TYPE_REFERENCE_BLOCK:
-            case \Magento\Core\Model\Layout::TYPE_REFERENCE_CONTAINER:
-                $this->prepareReference($args);
+            case self::TYPE_REFERENCE_BLOCK:
+            case self::TYPE_REFERENCE_CONTAINER:
+                $this->prepareReference();
                 break;
 
-            case \Magento\Core\Model\Layout::TYPE_ACTION:
-                $this->prepareAction($args);
+            case self::TYPE_ACTION:
+                $this->prepareAction();
                 break;
 
-            case \Magento\Core\Model\Layout::TYPE_ARGUMENT:
-                $this->prepareActionArgument($args);
+            case self::TYPE_ARGUMENT:
+                $this->prepareActionArgument();
                 break;
 
             default:
                 break;
         }
         foreach ($this as $child) {
-            $child->prepare($args);
+            $child->prepare();
         }
         return $this;
     }
@@ -62,8 +73,8 @@ class Element extends \Magento\Simplexml\Element
     {
         $tagName = (string)$this->getName();
         if (empty($this['name']) || !in_array($tagName, array(
-                \Magento\Core\Model\Layout::TYPE_BLOCK,
-                \Magento\Core\Model\Layout::TYPE_REFERENCE_BLOCK,
+                self::TYPE_BLOCK,
+                self::TYPE_REFERENCE_BLOCK,
         ))) {
             return false;
         }
@@ -81,10 +92,10 @@ class Element extends \Magento\Simplexml\Element
     {
         $tagName = $this->getName();
         if (!in_array($tagName, array(
-            \Magento\Core\Model\Layout::TYPE_BLOCK,
-            \Magento\Core\Model\Layout::TYPE_REFERENCE_BLOCK,
-            \Magento\Core\Model\Layout::TYPE_CONTAINER,
-            \Magento\Core\Model\Layout::TYPE_REFERENCE_CONTAINER
+            self::TYPE_BLOCK,
+            self::TYPE_REFERENCE_BLOCK,
+            self::TYPE_CONTAINER,
+            self::TYPE_REFERENCE_CONTAINER
         ))) {
             return false;
         }
@@ -108,7 +119,12 @@ class Element extends \Magento\Simplexml\Element
         return $sibling;
     }
 
-    public function prepareBlock($args)
+    /**
+     * Add parent element name to parent attribute
+     *
+     * @return Element
+     */
+    public function prepareBlock()
     {
         $parent = $this->getParent();
         if (isset($parent['name']) && !isset($this['parent'])) {
@@ -118,12 +134,20 @@ class Element extends \Magento\Simplexml\Element
         return $this;
     }
 
-    public function prepareReference($args)
+    /**
+     * @return Element
+     */
+    public function prepareReference()
     {
         return $this;
     }
 
-    public function prepareAction($args)
+    /**
+     * Add parent element name to block attribute
+     *
+     * @return Element
+     */
+    public function prepareAction()
     {
         $parent = $this->getParent();
         $this->addAttribute('block', (string)$parent['name']);
@@ -131,7 +155,10 @@ class Element extends \Magento\Simplexml\Element
         return $this;
     }
 
-    public function prepareActionArgument($args)
+    /**
+     * @return Element
+     */
+    public function prepareActionArgument()
     {
         return $this;
     }
diff --git a/lib/Magento/View/Layout/ProcessorFactory.php b/lib/Magento/View/Layout/ProcessorFactory.php
new file mode 100644
index 0000000000000000000000000000000000000000..5aa72ffe51b58bdb76778381533830375b515fd7
--- /dev/null
+++ b/lib/Magento/View/Layout/ProcessorFactory.php
@@ -0,0 +1,70 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+
+namespace Magento\View\Layout;
+
+/**
+ * Factory class for Processor
+ */
+class ProcessorFactory
+{
+    /**
+     * Object Manager instance
+     *
+     * @var \Magento\ObjectManager
+     */
+    protected $_objectManager = null;
+
+    /**
+     * Instance name to create
+     *
+     * @var string
+     */
+    protected $_instanceName = null;
+
+    /**
+     * Factory constructor
+     *
+     * @param \Magento\ObjectManager $objectManager
+     * @param string $instanceName
+     */
+    public function __construct(
+        \Magento\ObjectManager $objectManager,
+        $instanceName = 'Magento\View\Layout\ProcessorInterface'
+    ) {
+        $this->_objectManager = $objectManager;
+        $this->_instanceName = $instanceName;
+    }
+
+    /**
+     * Create class instance with specified parameters
+     *
+     * @param array $data
+     * @return ProcessorInterface
+     */
+    public function create(array $data = array())
+    {
+        return $this->_objectManager->create($this->_instanceName, $data);
+    }
+}
\ No newline at end of file
diff --git a/lib/Magento/View/Layout/ProcessorInterface.php b/lib/Magento/View/Layout/ProcessorInterface.php
new file mode 100644
index 0000000000000000000000000000000000000000..b6fc393a04c31b48b3689f449399d99f1cc20cb8
--- /dev/null
+++ b/lib/Magento/View/Layout/ProcessorInterface.php
@@ -0,0 +1,145 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+
+namespace Magento\View\Layout;
+
+interface ProcessorInterface
+{
+    /**
+     * Add XML update instruction
+     *
+     * @param string $update
+     * @return ProcessorInterface
+     */
+    public function addUpdate($update);
+
+    /**
+     * Get all registered updates as array
+     *
+     * @return array
+     */
+    public function asArray();
+
+    /**
+     * Get all registered updates as string
+     *
+     * @return string
+     */
+    public function asString();
+
+    /**
+     * Add handle(s) to update
+     *
+     * @param array|string $handleName
+     * @return ProcessorInterface
+     */
+    public function addHandle($handleName);
+
+    /**
+     * Remove handle from update
+     *
+     * @param string $handleName
+     * @return ProcessorInterface
+     */
+    public function removeHandle($handleName);
+
+    /**
+     * Get handle names array
+     *
+     * @return array
+     */
+    public function getHandles();
+
+    /**
+     * Add the first existing (declared in layout updates) page handle along with all parents to the update.
+     * Return whether any page handles have been added or not.
+     *
+     * @param array $handlesToTry
+     * @return ProcessorInterface
+     */
+    public function addPageHandles(array $handlesToTry);
+
+    /**
+     * Retrieve full hierarchy of types and fragment types in the system
+     *
+     * Result format:
+     * array(
+     *     'handle_name_1' => array(
+     *         'name'     => 'handle_name_1',
+     *         'label'    => 'Handle Name 1',
+     *         'children' => array(
+     *             'handle_name_2' => array(
+     *                 'name'     => 'handle_name_2',
+     *                 'label'    => 'Handle Name 2',
+     *                 'type'     => self::TYPE_PAGE or self::TYPE_FRAGMENT,
+     *                 'children' => array(
+     *                     // ...
+     *                 )
+     *             ),
+     *             // ...
+     *         )
+     *     ),
+     *     // ...
+     * )
+     *
+     * @return array
+     */
+    public function getPageHandlesHierarchy();
+
+    /**
+     * Load layout updates by handles
+     *
+     * @param array|string $handles
+     * @throws \Magento\Exception
+     * @return ProcessorInterface
+     */
+    public function load($handles = array());
+
+    /**
+     * Get layout updates as \Magento\View\Layout\Element object
+     *
+     * @return \SimpleXMLElement
+     */
+    public function asSimplexml();
+
+    /**
+     * Retrieve already merged layout updates from files for specified area/theme/package/store
+     *
+     * @return \Magento\View\Layout\Element
+     */
+    public function getFileLayoutUpdatesXml();
+
+    /**
+     * Retrieve containers from the update handles that have been already loaded
+     *
+     * Result format:
+     * array(
+     *     'container_name' => 'Container Label',
+     *     // ...
+     * )
+     *
+     * @return array
+     */
+    public function getContainers();
+}
diff --git a/lib/Magento/View/LayoutFactory.php b/lib/Magento/View/LayoutFactory.php
new file mode 100644
index 0000000000000000000000000000000000000000..f14846307426cbf10ea69853ec710629ec99c3dd
--- /dev/null
+++ b/lib/Magento/View/LayoutFactory.php
@@ -0,0 +1,70 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+
+namespace Magento\View;
+
+/**
+ * Factory class for Layout
+ */
+class LayoutFactory
+{
+    /**
+     * Object Manager instance
+     *
+     * @var \Magento\ObjectManager
+     */
+    protected $_objectManager = null;
+
+    /**
+     * Instance name to create
+     *
+     * @var string
+     */
+    protected $_instanceName = null;
+
+    /**
+     * Factory constructor
+     *
+     * @param \Magento\ObjectManager $objectManager
+     * @param string $instanceName
+     */
+    public function __construct(
+        \Magento\ObjectManager $objectManager,
+        $instanceName = 'Magento\View\LayoutInterface'
+    ) {
+        $this->_objectManager = $objectManager;
+        $this->_instanceName = $instanceName;
+    }
+
+    /**
+     * Create class instance with specified parameters
+     *
+     * @param array $data
+     * @return LayoutInterface
+     */
+    public function create(array $data = array())
+    {
+        return $this->_objectManager->create($this->_instanceName, $data);
+    }
+}
\ No newline at end of file
diff --git a/lib/Magento/View/LayoutInterface.php b/lib/Magento/View/LayoutInterface.php
new file mode 100644
index 0000000000000000000000000000000000000000..db3dfbacbec67e93d5320c08188171d4eedd7979
--- /dev/null
+++ b/lib/Magento/View/LayoutInterface.php
@@ -0,0 +1,333 @@
+<?php
+/**
+ * Magento
+ *
+ * NOTICE OF LICENSE
+ *
+ * This source file is subject to the Open Software License (OSL 3.0)
+ * that is bundled with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://opensource.org/licenses/osl-3.0.php
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@magentocommerce.com so we can send you a copy immediately.
+ *
+ * DISCLAIMER
+ *
+ * Do not edit or add to this file if you wish to upgrade Magento to newer
+ * versions in the future. If you wish to customize Magento for your
+ * needs please refer to http://www.magentocommerce.com for more information.
+ *
+ * @copyright   Copyright (c) 2013 X.commerce, Inc. (http://www.magentocommerce.com)
+ * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
+ */
+
+namespace Magento\View;
+
+interface LayoutInterface
+{
+    /**
+     * Retrieve the layout processor
+     *
+     * @return Layout\ProcessorInterface
+     */
+    public function getUpdate();
+
+    /**
+     * Layout xml generation
+     *
+     * @return LayoutInterface
+     */
+    public function generateXml();
+
+    /**
+     * Create structure of elements from the loaded XML configuration
+     */
+    public function generateElements();
+
+    /**
+     * Find an element in layout, render it and return string with its output
+     *
+     * @param string $name
+     * @param bool $useCache
+     * @return string
+     */
+    public function renderElement($name, $useCache = true);
+
+    /**
+     * Add an element to output
+     *
+     * @param string $name
+     * @return LayoutInterface
+     */
+    public function addOutputElement($name);
+
+    /**
+     * Get all blocks marked for output
+     *
+     * @return string
+     */
+    public function getOutput();
+
+    /**
+     * Check if element exists in layout structure
+     *
+     * @param string $name
+     * @return bool
+     */
+    public function hasElement($name);
+
+    /**
+     * Remove block from registry
+     *
+     * @param string $name
+     * @return LayoutInterface
+     */
+    public function unsetElement($name);
+
+    /**
+     * Retrieve all blocks from registry as array
+     *
+     * @return array
+     */
+    public function getAllBlocks();
+
+    /**
+     * Get block object by name
+     *
+     * @param string $name
+     * @return Element\BlockInterface|bool
+     */
+    public function getBlock($name);
+
+    /**
+     * Get child block if exists
+     *
+     * @param string $parentName
+     * @param string $alias
+     * @return null
+     */
+    public function getChildBlock($parentName, $alias);
+
+    /**
+     * Set child element into layout structure
+     *
+     * @param string $parentName
+     * @param string $elementName
+     * @param string $alias
+     * @return LayoutInterface
+     */
+    public function setChild($parentName, $elementName, $alias);
+
+    /**
+     * Reorder a child of a specified element
+     *
+     * If $offsetOrSibling is null, it will put the element to the end
+     * If $offsetOrSibling is numeric (integer) value, it will put the element after/before specified position
+     * Otherwise -- after/before specified sibling
+     *
+     * @param string $parentName
+     * @param string $childName
+     * @param string|int|null $offsetOrSibling
+     * @param bool $after
+     */
+    public function reorderChild($parentName, $childName, $offsetOrSibling, $after = true);
+
+    /**
+     * Remove child element from parent
+     *
+     * @param string $parentName
+     * @param string $alias
+     * @return LayoutInterface
+     */
+    public function unsetChild($parentName, $alias);
+
+    /**
+     * Get list of child names
+     *
+     * @param string $parentName
+     * @return array
+     */
+    public function getChildNames($parentName);
+
+    /**
+     * Get list of child blocks
+     *
+     * Returns associative array of <alias> => <block instance>
+     *
+     * @param string $parentName
+     * @return array
+     */
+    public function getChildBlocks($parentName);
+
+    /**
+     * Get child name by alias
+     *
+     * @param string $parentName
+     * @param string $alias
+     * @return bool|string
+     */
+    public function getChildName($parentName, $alias);
+
+    /**
+     * Add element to parent group
+     *
+     * @param string $blockName
+     * @param string $parentGroupName
+     * @return bool
+     */
+    public function addToParentGroup($blockName, $parentGroupName);
+
+    /**
+     * Get element names for specified group
+     *
+     * @param string $blockName
+     * @param string $groupName
+     * @return array
+     */
+    public function getGroupChildNames($blockName, $groupName);
+
+    /**
+     * Gets parent name of an element with specified name
+     *
+     * @param string $childName
+     * @return bool|string
+     */
+    public function getParentName($childName);
+
+    /**
+     * Block Factory
+     *
+     * @param  string $type
+     * @param  string $name
+     * @param  array $attributes
+     * @return Element\BlockInterface
+     */
+    public function createBlock($type, $name = '', array $attributes = array());
+
+    /**
+     * Add a block to registry, create new object if needed
+     *
+     * @param string|Element\BlockInterface $block
+     * @param string $name
+     * @param string $parent
+     * @param string $alias
+     * @return Element\BlockInterface
+     */
+    public function addBlock($block, $name = '', $parent = '', $alias = '');
+
+    /**
+     * Insert container into layout structure
+     *
+     * @param string $name
+     * @param string $label
+     * @param array $options
+     * @param string $parent
+     * @param string $alias
+     */
+    public function addContainer($name, $label, array $options = array(), $parent = '', $alias = '');
+
+    /**
+     * Rename element in layout and layout structure
+     *
+     * @param string $oldName
+     * @param string $newName
+     * @return bool
+     */
+    public function renameElement($oldName, $newName);
+
+    /**
+     * Get element alias by name
+     *
+     * @param string $name
+     * @return bool|string
+     */
+    public function getElementAlias($name);
+
+    /**
+     * Remove an element from output
+     *
+     * @param string $name
+     * @return LayoutInterface
+     */
+    public function removeOutputElement($name);
+
+    /**
+     * Retrieve messages block
+     *
+     * @return \Magento\Core\Block\Messages
+     */
+    public function getMessagesBlock();
+
+    /**
+     * Get block singleton
+     *
+     * @param string $type
+     * @return Element\BlockInterface
+     */
+    public function getBlockSingleton($type);
+
+    /**
+     * Retrieve block factory
+     *
+     * @return \Magento\Core\Model\BlockFactory
+     */
+    public function getBlockFactory();
+
+    /**
+     * Retrieve layout area
+     *
+     * @return string
+     */
+    public function getArea();
+
+    /**
+     * Set layout area
+     *
+     * @param $area
+     * @return LayoutInterface
+     */
+    public function setArea($area);
+
+    /**
+     * Get property value of an element
+     *
+     * @param string $name
+     * @param string $attribute
+     * @return mixed
+     */
+    public function getElementProperty($name, $attribute);
+
+    /**
+     * Whether specified element is a block
+     *
+     * @param string $name
+     * @return bool
+     */
+    public function isBlock($name);
+
+    /**
+     * Checks if element with specified name is container
+     *
+     * @param string $name
+     * @return bool
+     */
+    public function isContainer($name);
+
+    /**
+     * Whether the specified element may be manipulated externally
+     *
+     * @param string $name
+     * @return bool
+     */
+    public function isManipulationAllowed($name);
+
+    /**
+     * Save block in blocks registry
+     *
+     * @param string $name
+     * @param  Element\BlockInterface $block
+     * @return LayoutInterface
+     */
+    public function setBlock($name, $block);
+}
diff --git a/lib/Twig/AUTHORS b/lib/Twig/AUTHORS
deleted file mode 100644
index eb5db0516b33e2eb8f1275b6bf5b96a333a272da..0000000000000000000000000000000000000000
--- a/lib/Twig/AUTHORS
+++ /dev/null
@@ -1,9 +0,0 @@
-Twig is written and maintained by the Twig Team:
-
-Lead Developer:
-
-- Fabien Potencier <fabien.potencier@symfony-project.org>
-
-Project Founder:
-
-- Armin Ronacher <armin.ronacher@active-4.com>
diff --git a/lib/Twig/Autoloader.php b/lib/Twig/Autoloader.php
deleted file mode 100644
index 7007d3157c5932e32aeddf64972958034172f047..0000000000000000000000000000000000000000
--- a/lib/Twig/Autoloader.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Autoloads Twig classes.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Autoloader
-{
-    /**
-     * Registers Twig_Autoloader as an SPL autoloader.
-     *
-     * @param Boolean $prepend Whether to prepend the autoloader or not.
-     */
-    public static function register($prepend = false)
-    {
-        if (version_compare(phpversion(), '5.3.0', '>=')) {
-            spl_autoload_register(array(new self, 'autoload'), true, $prepend);
-        } else {
-            spl_autoload_register(array(new self, 'autoload'));
-        }
-    }
-
-    /**
-     * Handles autoloading of classes.
-     *
-     * @param string $class A class name.
-     */
-    public static function autoload($class)
-    {
-        if (0 !== strpos($class, 'Twig')) {
-            return;
-        }
-
-        if (is_file($file = dirname(__FILE__).'/../'.str_replace(array('_', "\0"), array('/', ''), $class).'.php')) {
-            require $file;
-        }
-    }
-}
diff --git a/lib/Twig/Compiler.php b/lib/Twig/Compiler.php
deleted file mode 100644
index 99aecbcca57fa141da7105ad7dce5cbd2fd740b3..0000000000000000000000000000000000000000
--- a/lib/Twig/Compiler.php
+++ /dev/null
@@ -1,267 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Compiles a node to PHP code.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Compiler implements Twig_CompilerInterface
-{
-    protected $lastLine;
-    protected $source;
-    protected $indentation;
-    protected $env;
-    protected $debugInfo;
-    protected $sourceOffset;
-    protected $sourceLine;
-    protected $filename;
-
-    /**
-     * Constructor.
-     *
-     * @param Twig_Environment $env The twig environment instance
-     */
-    public function __construct(Twig_Environment $env)
-    {
-        $this->env = $env;
-        $this->debugInfo = array();
-    }
-
-    public function getFilename()
-    {
-        return $this->filename;
-    }
-
-    /**
-     * Returns the environment instance related to this compiler.
-     *
-     * @return Twig_Environment The environment instance
-     */
-    public function getEnvironment()
-    {
-        return $this->env;
-    }
-
-    /**
-     * Gets the current PHP code after compilation.
-     *
-     * @return string The PHP code
-     */
-    public function getSource()
-    {
-        return $this->source;
-    }
-
-    /**
-     * Compiles a node.
-     *
-     * @param Twig_NodeInterface $node        The node to compile
-     * @param integer            $indentation The current indentation
-     *
-     * @return Twig_Compiler The current compiler instance
-     */
-    public function compile(Twig_NodeInterface $node, $indentation = 0)
-    {
-        $this->lastLine = null;
-        $this->source = '';
-        $this->sourceOffset = 0;
-        // source code starts at 1 (as we then increment it when we encounter new lines)
-        $this->sourceLine = 1;
-        $this->indentation = $indentation;
-
-        if ($node instanceof Twig_Node_Module) {
-            $this->filename = $node->getAttribute('filename');
-        }
-
-        $node->compile($this);
-
-        return $this;
-    }
-
-    public function subcompile(Twig_NodeInterface $node, $raw = true)
-    {
-        if (false === $raw) {
-            $this->addIndentation();
-        }
-
-        $node->compile($this);
-
-        return $this;
-    }
-
-    /**
-     * Adds a raw string to the compiled code.
-     *
-     * @param string $string The string
-     *
-     * @return Twig_Compiler The current compiler instance
-     */
-    public function raw($string)
-    {
-        $this->source .= $string;
-
-        return $this;
-    }
-
-    /**
-     * Writes a string to the compiled code by adding indentation.
-     *
-     * @return Twig_Compiler The current compiler instance
-     */
-    public function write()
-    {
-        $strings = func_get_args();
-        foreach ($strings as $string) {
-            $this->addIndentation();
-            $this->source .= $string;
-        }
-
-        return $this;
-    }
-
-    /**
-     * Appends an indentation to the current PHP code after compilation.
-     *
-     * @return Twig_Compiler The current compiler instance
-     */
-    public function addIndentation()
-    {
-        $this->source .= str_repeat(' ', $this->indentation * 4);
-
-        return $this;
-    }
-
-    /**
-     * Adds a quoted string to the compiled code.
-     *
-     * @param string $value The string
-     *
-     * @return Twig_Compiler The current compiler instance
-     */
-    public function string($value)
-    {
-        $this->source .= sprintf('"%s"', addcslashes($value, "\0\t\"\$\\"));
-
-        return $this;
-    }
-
-    /**
-     * Returns a PHP representation of a given value.
-     *
-     * @param mixed $value The value to convert
-     *
-     * @return Twig_Compiler The current compiler instance
-     */
-    public function repr($value)
-    {
-        if (is_int($value) || is_float($value)) {
-            if (false !== $locale = setlocale(LC_NUMERIC, 0)) {
-                setlocale(LC_NUMERIC, 'C');
-            }
-
-            $this->raw($value);
-
-            if (false !== $locale) {
-                setlocale(LC_NUMERIC, $locale);
-            }
-        } elseif (null === $value) {
-            $this->raw('null');
-        } elseif (is_bool($value)) {
-            $this->raw($value ? 'true' : 'false');
-        } elseif (is_array($value)) {
-            $this->raw('array(');
-            $i = 0;
-            foreach ($value as $key => $value) {
-                if ($i++) {
-                    $this->raw(', ');
-                }
-                $this->repr($key);
-                $this->raw(' => ');
-                $this->repr($value);
-            }
-            $this->raw(')');
-        } else {
-            $this->string($value);
-        }
-
-        return $this;
-    }
-
-    /**
-     * Adds debugging information.
-     *
-     * @param Twig_NodeInterface $node The related twig node
-     *
-     * @return Twig_Compiler The current compiler instance
-     */
-    public function addDebugInfo(Twig_NodeInterface $node)
-    {
-        if ($node->getLine() != $this->lastLine) {
-            $this->write("// line {$node->getLine()}\n");
-
-            // when mbstring.func_overload is set to 2
-            // mb_substr_count() replaces substr_count()
-            // but they have different signatures!
-            if (((int) ini_get('mbstring.func_overload')) & 2) {
-                // this is much slower than the "right" version
-                $this->sourceLine += mb_substr_count(mb_substr($this->source, $this->sourceOffset), "\n");
-            } else {
-                $this->sourceLine += substr_count($this->source, "\n", $this->sourceOffset);
-            }
-            $this->sourceOffset = strlen($this->source);
-            $this->debugInfo[$this->sourceLine] = $node->getLine();
-
-            $this->lastLine = $node->getLine();
-        }
-
-        return $this;
-    }
-
-    public function getDebugInfo()
-    {
-        return $this->debugInfo;
-    }
-
-    /**
-     * Indents the generated code.
-     *
-     * @param integer $step The number of indentation to add
-     *
-     * @return Twig_Compiler The current compiler instance
-     */
-    public function indent($step = 1)
-    {
-        $this->indentation += $step;
-
-        return $this;
-    }
-
-    /**
-     * Outdents the generated code.
-     *
-     * @param integer $step The number of indentation to remove
-     *
-     * @return Twig_Compiler The current compiler instance
-     */
-    public function outdent($step = 1)
-    {
-        // can't outdent by more steps than the current indentation level
-        if ($this->indentation < $step) {
-            throw new LogicException('Unable to call outdent() as the indentation would become negative');
-        }
-
-        $this->indentation -= $step;
-
-        return $this;
-    }
-}
diff --git a/lib/Twig/CompilerInterface.php b/lib/Twig/CompilerInterface.php
deleted file mode 100644
index e293ec9113b4f9441f5b8cf8e19c209c8a2527c3..0000000000000000000000000000000000000000
--- a/lib/Twig/CompilerInterface.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface implemented by compiler classes.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-interface Twig_CompilerInterface
-{
-    /**
-     * Compiles a node.
-     *
-     * @param Twig_NodeInterface $node The node to compile
-     *
-     * @return Twig_CompilerInterface The current compiler instance
-     */
-    public function compile(Twig_NodeInterface $node);
-
-    /**
-     * Gets the current PHP code after compilation.
-     *
-     * @return string The PHP code
-     */
-    public function getSource();
-}
diff --git a/lib/Twig/Environment.php b/lib/Twig/Environment.php
deleted file mode 100644
index 47e00740bf0e214dbc75dbd84686f80d83ba1ca7..0000000000000000000000000000000000000000
--- a/lib/Twig/Environment.php
+++ /dev/null
@@ -1,1224 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Stores the Twig configuration.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Environment
-{
-    const VERSION = '1.13.0';
-
-    protected $charset;
-    protected $loader;
-    protected $debug;
-    protected $autoReload;
-    protected $cache;
-    protected $lexer;
-    protected $parser;
-    protected $compiler;
-    protected $baseTemplateClass;
-    protected $extensions;
-    protected $parsers;
-    protected $visitors;
-    protected $filters;
-    protected $tests;
-    protected $functions;
-    protected $globals;
-    protected $runtimeInitialized;
-    protected $extensionInitialized;
-    protected $loadedTemplates;
-    protected $strictVariables;
-    protected $unaryOperators;
-    protected $binaryOperators;
-    protected $templateClassPrefix = '__TwigTemplate_';
-    protected $functionCallbacks;
-    protected $filterCallbacks;
-    protected $staging;
-
-    /**
-     * Constructor.
-     *
-     * Available options:
-     *
-     *  * debug: When set to true, it automatically set "auto_reload" to true as
-     *           well (default to false).
-     *
-     *  * charset: The charset used by the templates (default to UTF-8).
-     *
-     *  * base_template_class: The base template class to use for generated
-     *                         templates (default to Twig_Template).
-     *
-     *  * cache: An absolute path where to store the compiled templates, or
-     *           false to disable compilation cache (default).
-     *
-     *  * auto_reload: Whether to reload the template is the original source changed.
-     *                 If you don't provide the auto_reload option, it will be
-     *                 determined automatically base on the debug value.
-     *
-     *  * strict_variables: Whether to ignore invalid variables in templates
-     *                      (default to false).
-     *
-     *  * autoescape: Whether to enable auto-escaping (default to html):
-     *                  * false: disable auto-escaping
-     *                  * true: equivalent to html
-     *                  * html, js: set the autoescaping to one of the supported strategies
-     *                  * PHP callback: a PHP callback that returns an escaping strategy based on the template "filename"
-     *
-     *  * optimizations: A flag that indicates which optimizations to apply
-     *                   (default to -1 which means that all optimizations are enabled;
-     *                   set it to 0 to disable).
-     *
-     * @param Twig_LoaderInterface $loader  A Twig_LoaderInterface instance
-     * @param array                $options An array of options
-     */
-    public function __construct(Twig_LoaderInterface $loader = null, $options = array())
-    {
-        if (null !== $loader) {
-            $this->setLoader($loader);
-        }
-
-        $options = array_merge(array(
-            'debug'               => false,
-            'charset'             => 'UTF-8',
-            'base_template_class' => 'Twig_Template',
-            'strict_variables'    => false,
-            'autoescape'          => 'html',
-            'cache'               => false,
-            'auto_reload'         => null,
-            'optimizations'       => -1,
-        ), $options);
-
-        $this->debug              = (bool) $options['debug'];
-        $this->charset            = strtoupper($options['charset']);
-        $this->baseTemplateClass  = $options['base_template_class'];
-        $this->autoReload         = null === $options['auto_reload'] ? $this->debug : (bool) $options['auto_reload'];
-        $this->strictVariables    = (bool) $options['strict_variables'];
-        $this->runtimeInitialized = false;
-        $this->setCache($options['cache']);
-        $this->functionCallbacks = array();
-        $this->filterCallbacks = array();
-
-        $this->addExtension(new Twig_Extension_Core());
-        $this->addExtension(new Twig_Extension_Escaper($options['autoescape']));
-        $this->addExtension(new Twig_Extension_Optimizer($options['optimizations']));
-        $this->extensionInitialized = false;
-        $this->staging = new Twig_Extension_Staging();
-    }
-
-    /**
-     * Gets the base template class for compiled templates.
-     *
-     * @return string The base template class name
-     */
-    public function getBaseTemplateClass()
-    {
-        return $this->baseTemplateClass;
-    }
-
-    /**
-     * Sets the base template class for compiled templates.
-     *
-     * @param string $class The base template class name
-     */
-    public function setBaseTemplateClass($class)
-    {
-        $this->baseTemplateClass = $class;
-    }
-
-    /**
-     * Enables debugging mode.
-     */
-    public function enableDebug()
-    {
-        $this->debug = true;
-    }
-
-    /**
-     * Disables debugging mode.
-     */
-    public function disableDebug()
-    {
-        $this->debug = false;
-    }
-
-    /**
-     * Checks if debug mode is enabled.
-     *
-     * @return Boolean true if debug mode is enabled, false otherwise
-     */
-    public function isDebug()
-    {
-        return $this->debug;
-    }
-
-    /**
-     * Enables the auto_reload option.
-     */
-    public function enableAutoReload()
-    {
-        $this->autoReload = true;
-    }
-
-    /**
-     * Disables the auto_reload option.
-     */
-    public function disableAutoReload()
-    {
-        $this->autoReload = false;
-    }
-
-    /**
-     * Checks if the auto_reload option is enabled.
-     *
-     * @return Boolean true if auto_reload is enabled, false otherwise
-     */
-    public function isAutoReload()
-    {
-        return $this->autoReload;
-    }
-
-    /**
-     * Enables the strict_variables option.
-     */
-    public function enableStrictVariables()
-    {
-        $this->strictVariables = true;
-    }
-
-    /**
-     * Disables the strict_variables option.
-     */
-    public function disableStrictVariables()
-    {
-        $this->strictVariables = false;
-    }
-
-    /**
-     * Checks if the strict_variables option is enabled.
-     *
-     * @return Boolean true if strict_variables is enabled, false otherwise
-     */
-    public function isStrictVariables()
-    {
-        return $this->strictVariables;
-    }
-
-    /**
-     * Gets the cache directory or false if cache is disabled.
-     *
-     * @return string|false
-     */
-    public function getCache()
-    {
-        return $this->cache;
-    }
-
-     /**
-      * Sets the cache directory or false if cache is disabled.
-      *
-      * @param string|false $cache The absolute path to the compiled templates,
-      *                            or false to disable cache
-      */
-    public function setCache($cache)
-    {
-        $this->cache = $cache ? $cache : false;
-    }
-
-    /**
-     * Gets the cache filename for a given template.
-     *
-     * @param string $name The template name
-     *
-     * @return string The cache file name
-     */
-    public function getCacheFilename($name)
-    {
-        if (false === $this->cache) {
-            return false;
-        }
-
-        $class = substr($this->getTemplateClass($name), strlen($this->templateClassPrefix));
-
-        return $this->getCache().'/'.substr($class, 0, 2).'/'.substr($class, 2, 2).'/'.substr($class, 4).'.php';
-    }
-
-    /**
-     * Gets the template class associated with the given string.
-     *
-     * @param string  $name  The name for which to calculate the template class name
-     * @param integer $index The index if it is an embedded template
-     *
-     * @return string The template class name
-     */
-    public function getTemplateClass($name, $index = null)
-    {
-        return $this->templateClassPrefix.md5($this->getLoader()->getCacheKey($name)).(null === $index ? '' : '_'.$index);
-    }
-
-    /**
-     * Gets the template class prefix.
-     *
-     * @return string The template class prefix
-     */
-    public function getTemplateClassPrefix()
-    {
-        return $this->templateClassPrefix;
-    }
-
-    /**
-     * Renders a template.
-     *
-     * @param string $name    The template name
-     * @param array  $context An array of parameters to pass to the template
-     *
-     * @return string The rendered template
-     */
-    public function render($name, array $context = array())
-    {
-        return $this->loadTemplate($name)->render($context);
-    }
-
-    /**
-     * Displays a template.
-     *
-     * @param string $name    The template name
-     * @param array  $context An array of parameters to pass to the template
-     */
-    public function display($name, array $context = array())
-    {
-        $this->loadTemplate($name)->display($context);
-    }
-
-    /**
-     * Loads a template by name.
-     *
-     * @param string  $name  The template name
-     * @param integer $index The index if it is an embedded template
-     *
-     * @return Twig_TemplateInterface A template instance representing the given template name
-     */
-    public function loadTemplate($name, $index = null)
-    {
-        $cls = $this->getTemplateClass($name, $index);
-
-        if (isset($this->loadedTemplates[$cls])) {
-            return $this->loadedTemplates[$cls];
-        }
-
-        if (!class_exists($cls, false)) {
-            if (false === $cache = $this->getCacheFilename($name)) {
-                eval('?>'.$this->compileSource($this->getLoader()->getSource($name), $name));
-            } else {
-                if (!is_file($cache) || ($this->isAutoReload() && !$this->isTemplateFresh($name, filemtime($cache)))) {
-                    $this->writeCacheFile($cache, $this->compileSource($this->getLoader()->getSource($name), $name));
-                }
-
-                require_once $cache;
-            }
-        }
-
-        if (!$this->runtimeInitialized) {
-            $this->initRuntime();
-        }
-
-        return $this->loadedTemplates[$cls] = new $cls($this);
-    }
-
-    /**
-     * Returns true if the template is still fresh.
-     *
-     * Besides checking the loader for freshness information,
-     * this method also checks if the enabled extensions have
-     * not changed.
-     *
-     * @param string    $name The template name
-     * @param timestamp $time The last modification time of the cached template
-     *
-     * @return Boolean true if the template is fresh, false otherwise
-     */
-    public function isTemplateFresh($name, $time)
-    {
-        foreach ($this->extensions as $extension) {
-            $r = new ReflectionObject($extension);
-            if (filemtime($r->getFileName()) > $time) {
-                return false;
-            }
-        }
-
-        return $this->getLoader()->isFresh($name, $time);
-    }
-
-    public function resolveTemplate($names)
-    {
-        if (!is_array($names)) {
-            $names = array($names);
-        }
-
-        foreach ($names as $name) {
-            if ($name instanceof Twig_Template) {
-                return $name;
-            }
-
-            try {
-                return $this->loadTemplate($name);
-            } catch (Twig_Error_Loader $e) {
-            }
-        }
-
-        if (1 === count($names)) {
-            throw $e;
-        }
-
-        throw new Twig_Error_Loader(sprintf('Unable to find one of the following templates: "%s".', implode('", "', $names)));
-    }
-
-    /**
-     * Clears the internal template cache.
-     */
-    public function clearTemplateCache()
-    {
-        $this->loadedTemplates = array();
-    }
-
-    /**
-     * Clears the template cache files on the filesystem.
-     */
-    public function clearCacheFiles()
-    {
-        if (false === $this->cache) {
-            return;
-        }
-
-        foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($this->cache), RecursiveIteratorIterator::LEAVES_ONLY) as $file) {
-            if ($file->isFile()) {
-                @unlink($file->getPathname());
-            }
-        }
-    }
-
-    /**
-     * Gets the Lexer instance.
-     *
-     * @return Twig_LexerInterface A Twig_LexerInterface instance
-     */
-    public function getLexer()
-    {
-        if (null === $this->lexer) {
-            $this->lexer = new Twig_Lexer($this);
-        }
-
-        return $this->lexer;
-    }
-
-    /**
-     * Sets the Lexer instance.
-     *
-     * @param Twig_LexerInterface A Twig_LexerInterface instance
-     */
-    public function setLexer(Twig_LexerInterface $lexer)
-    {
-        $this->lexer = $lexer;
-    }
-
-    /**
-     * Tokenizes a source code.
-     *
-     * @param string $source The template source code
-     * @param string $name   The template name
-     *
-     * @return Twig_TokenStream A Twig_TokenStream instance
-     */
-    public function tokenize($source, $name = null)
-    {
-        return $this->getLexer()->tokenize($source, $name);
-    }
-
-    /**
-     * Gets the Parser instance.
-     *
-     * @return Twig_ParserInterface A Twig_ParserInterface instance
-     */
-    public function getParser()
-    {
-        if (null === $this->parser) {
-            $this->parser = new Twig_Parser($this);
-        }
-
-        return $this->parser;
-    }
-
-    /**
-     * Sets the Parser instance.
-     *
-     * @param Twig_ParserInterface A Twig_ParserInterface instance
-     */
-    public function setParser(Twig_ParserInterface $parser)
-    {
-        $this->parser = $parser;
-    }
-
-    /**
-     * Parses a token stream.
-     *
-     * @param Twig_TokenStream $tokens A Twig_TokenStream instance
-     *
-     * @return Twig_Node_Module A Node tree
-     */
-    public function parse(Twig_TokenStream $tokens)
-    {
-        return $this->getParser()->parse($tokens);
-    }
-
-    /**
-     * Gets the Compiler instance.
-     *
-     * @return Twig_CompilerInterface A Twig_CompilerInterface instance
-     */
-    public function getCompiler()
-    {
-        if (null === $this->compiler) {
-            $this->compiler = new Twig_Compiler($this);
-        }
-
-        return $this->compiler;
-    }
-
-    /**
-     * Sets the Compiler instance.
-     *
-     * @param Twig_CompilerInterface $compiler A Twig_CompilerInterface instance
-     */
-    public function setCompiler(Twig_CompilerInterface $compiler)
-    {
-        $this->compiler = $compiler;
-    }
-
-    /**
-     * Compiles a Node.
-     *
-     * @param Twig_NodeInterface $node A Twig_NodeInterface instance
-     *
-     * @return string The compiled PHP source code
-     */
-    public function compile(Twig_NodeInterface $node)
-    {
-        return $this->getCompiler()->compile($node)->getSource();
-    }
-
-    /**
-     * Compiles a template source code.
-     *
-     * @param string $source The template source code
-     * @param string $name   The template name
-     *
-     * @return string The compiled PHP source code
-     */
-    public function compileSource($source, $name = null)
-    {
-        try {
-            return $this->compile($this->parse($this->tokenize($source, $name)));
-        } catch (Twig_Error $e) {
-            $e->setTemplateFile($name);
-            throw $e;
-        } catch (Exception $e) {
-            throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the compilation of a template ("%s").', $e->getMessage()), -1, $name, $e);
-        }
-    }
-
-    /**
-     * Sets the Loader instance.
-     *
-     * @param Twig_LoaderInterface $loader A Twig_LoaderInterface instance
-     */
-    public function setLoader(Twig_LoaderInterface $loader)
-    {
-        $this->loader = $loader;
-    }
-
-    /**
-     * Gets the Loader instance.
-     *
-     * @return Twig_LoaderInterface A Twig_LoaderInterface instance
-     */
-    public function getLoader()
-    {
-        if (null === $this->loader) {
-            throw new LogicException('You must set a loader first.');
-        }
-
-        return $this->loader;
-    }
-
-    /**
-     * Sets the default template charset.
-     *
-     * @param string $charset The default charset
-     */
-    public function setCharset($charset)
-    {
-        $this->charset = strtoupper($charset);
-    }
-
-    /**
-     * Gets the default template charset.
-     *
-     * @return string The default charset
-     */
-    public function getCharset()
-    {
-        return $this->charset;
-    }
-
-    /**
-     * Initializes the runtime environment.
-     */
-    public function initRuntime()
-    {
-        $this->runtimeInitialized = true;
-
-        foreach ($this->getExtensions() as $extension) {
-            $extension->initRuntime($this);
-        }
-    }
-
-    /**
-     * Returns true if the given extension is registered.
-     *
-     * @param string $name The extension name
-     *
-     * @return Boolean Whether the extension is registered or not
-     */
-    public function hasExtension($name)
-    {
-        return isset($this->extensions[$name]);
-    }
-
-    /**
-     * Gets an extension by name.
-     *
-     * @param string $name The extension name
-     *
-     * @return Twig_ExtensionInterface A Twig_ExtensionInterface instance
-     */
-    public function getExtension($name)
-    {
-        if (!isset($this->extensions[$name])) {
-            throw new Twig_Error_Runtime(sprintf('The "%s" extension is not enabled.', $name));
-        }
-
-        return $this->extensions[$name];
-    }
-
-    /**
-     * Registers an extension.
-     *
-     * @param Twig_ExtensionInterface $extension A Twig_ExtensionInterface instance
-     */
-    public function addExtension(Twig_ExtensionInterface $extension)
-    {
-        if ($this->extensionInitialized) {
-            throw new LogicException(sprintf('Unable to register extension "%s" as extensions have already been initialized.', $extension->getName()));
-        }
-
-        $this->extensions[$extension->getName()] = $extension;
-    }
-
-    /**
-     * Removes an extension by name.
-     *
-     * This method is deprecated and you should not use it.
-     *
-     * @param string $name The extension name
-     *
-     * @deprecated since 1.12 (to be removed in 2.0)
-     */
-    public function removeExtension($name)
-    {
-        if ($this->extensionInitialized) {
-            throw new LogicException(sprintf('Unable to remove extension "%s" as extensions have already been initialized.', $name));
-        }
-
-        unset($this->extensions[$name]);
-    }
-
-    /**
-     * Registers an array of extensions.
-     *
-     * @param array $extensions An array of extensions
-     */
-    public function setExtensions(array $extensions)
-    {
-        foreach ($extensions as $extension) {
-            $this->addExtension($extension);
-        }
-    }
-
-    /**
-     * Returns all registered extensions.
-     *
-     * @return array An array of extensions
-     */
-    public function getExtensions()
-    {
-        return $this->extensions;
-    }
-
-    /**
-     * Registers a Token Parser.
-     *
-     * @param Twig_TokenParserInterface $parser A Twig_TokenParserInterface instance
-     */
-    public function addTokenParser(Twig_TokenParserInterface $parser)
-    {
-        if ($this->extensionInitialized) {
-            throw new LogicException('Unable to add a token parser as extensions have already been initialized.');
-        }
-
-        $this->staging->addTokenParser($parser);
-    }
-
-    /**
-     * Gets the registered Token Parsers.
-     *
-     * @return Twig_TokenParserBrokerInterface A broker containing token parsers
-     */
-    public function getTokenParsers()
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        return $this->parsers;
-    }
-
-    /**
-     * Gets registered tags.
-     *
-     * Be warned that this method cannot return tags defined by Twig_TokenParserBrokerInterface classes.
-     *
-     * @return Twig_TokenParserInterface[] An array of Twig_TokenParserInterface instances
-     */
-    public function getTags()
-    {
-        $tags = array();
-        foreach ($this->getTokenParsers()->getParsers() as $parser) {
-            if ($parser instanceof Twig_TokenParserInterface) {
-                $tags[$parser->getTag()] = $parser;
-            }
-        }
-
-        return $tags;
-    }
-
-    /**
-     * Registers a Node Visitor.
-     *
-     * @param Twig_NodeVisitorInterface $visitor A Twig_NodeVisitorInterface instance
-     */
-    public function addNodeVisitor(Twig_NodeVisitorInterface $visitor)
-    {
-        if ($this->extensionInitialized) {
-            throw new LogicException('Unable to add a node visitor as extensions have already been initialized.', $extension->getName());
-        }
-
-        $this->staging->addNodeVisitor($visitor);
-    }
-
-    /**
-     * Gets the registered Node Visitors.
-     *
-     * @return Twig_NodeVisitorInterface[] An array of Twig_NodeVisitorInterface instances
-     */
-    public function getNodeVisitors()
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        return $this->visitors;
-    }
-
-    /**
-     * Registers a Filter.
-     *
-     * @param string|Twig_SimpleFilter               $name   The filter name or a Twig_SimpleFilter instance
-     * @param Twig_FilterInterface|Twig_SimpleFilter $filter A Twig_FilterInterface instance or a Twig_SimpleFilter instance
-     */
-    public function addFilter($name, $filter = null)
-    {
-        if (!$name instanceof Twig_SimpleFilter && !($filter instanceof Twig_SimpleFilter || $filter instanceof Twig_FilterInterface)) {
-            throw new LogicException('A filter must be an instance of Twig_FilterInterface or Twig_SimpleFilter');
-        }
-
-        if ($name instanceof Twig_SimpleFilter) {
-            $filter = $name;
-            $name = $filter->getName();
-        }
-        
-        if ($this->extensionInitialized) {
-            throw new LogicException(sprintf('Unable to add filter "%s" as extensions have already been initialized.', $name));
-        }
-        
-        $this->staging->addFilter($name, $filter);
-    }
-
-    /**
-     * Get a filter by name.
-     *
-     * Subclasses may override this method and load filters differently;
-     * so no list of filters is available.
-     *
-     * @param string $name The filter name
-     *
-     * @return Twig_Filter|false A Twig_Filter instance or false if the filter does not exist
-     */
-    public function getFilter($name)
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        if (isset($this->filters[$name])) {
-            return $this->filters[$name];
-        }
-
-        foreach ($this->filters as $pattern => $filter) {
-            $pattern = str_replace('\\*', '(.*?)', preg_quote($pattern, '#'), $count);
-
-            if ($count) {
-                if (preg_match('#^'.$pattern.'$#', $name, $matches)) {
-                    array_shift($matches);
-                    $filter->setArguments($matches);
-
-                    return $filter;
-                }
-            }
-        }
-
-        foreach ($this->filterCallbacks as $callback) {
-            if (false !== $filter = call_user_func($callback, $name)) {
-                return $filter;
-            }
-        }
-
-        return false;
-    }
-
-    public function registerUndefinedFilterCallback($callable)
-    {
-        $this->filterCallbacks[] = $callable;
-    }
-
-    /**
-     * Gets the registered Filters.
-     *
-     * Be warned that this method cannot return filters defined with registerUndefinedFunctionCallback.
-     *
-     * @return Twig_FilterInterface[] An array of Twig_FilterInterface instances
-     *
-     * @see registerUndefinedFilterCallback
-     */
-    public function getFilters()
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        return $this->filters;
-    }
-
-    /**
-     * Registers a Test.
-     *
-     * @param string|Twig_SimpleTest             $name The test name or a Twig_SimpleTest instance
-     * @param Twig_TestInterface|Twig_SimpleTest $test A Twig_TestInterface instance or a Twig_SimpleTest instance
-     */
-    public function addTest($name, $test = null)
-    {
-        if (!$name instanceof Twig_SimpleTest && !($test instanceof Twig_SimpleTest || $test instanceof Twig_TestInterface)) {
-            throw new LogicException('A test must be an instance of Twig_TestInterface or Twig_SimpleTest');
-        }
-
-        if ($name instanceof Twig_SimpleTest) {
-            $test = $name;
-            $name = $test->getName();
-        }
-        
-        if ($this->extensionInitialized) {
-            throw new LogicException(sprintf('Unable to add test "%s" as extensions have already been initialized.', $name));
-        }
-
-        $this->staging->addTest($name, $test);
-    }
-
-    /**
-     * Gets the registered Tests.
-     *
-     * @return Twig_TestInterface[] An array of Twig_TestInterface instances
-     */
-    public function getTests()
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        return $this->tests;
-    }
-
-    /**
-     * Gets a test by name.
-     *
-     * @param string $name The test name
-     *
-     * @return Twig_Test|false A Twig_Test instance or false if the test does not exist
-     */
-    public function getTest($name)
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        if (isset($this->tests[$name])) {
-            return $this->tests[$name];
-        }
-
-        return false;
-    }
-
-    /**
-     * Registers a Function.
-     *
-     * @param string|Twig_SimpleFunction                 $name     The function name or a Twig_SimpleFunction instance
-     * @param Twig_FunctionInterface|Twig_SimpleFunction $function A Twig_FunctionInterface instance or a Twig_SimpleFunction instance
-     */
-    public function addFunction($name, $function = null)
-    {
-        if (!$name instanceof Twig_SimpleFunction && !($function instanceof Twig_SimpleFunction || $function instanceof Twig_FunctionInterface)) {
-            throw new LogicException('A function must be an instance of Twig_FunctionInterface or Twig_SimpleFunction');
-        }
-
-        if ($name instanceof Twig_SimpleFunction) {
-            $function = $name;
-            $name = $function->getName();
-        }
-        
-        if ($this->extensionInitialized) {
-            throw new LogicException(sprintf('Unable to add function "%s" as extensions have already been initialized.', $name));
-        }
-        
-        $this->staging->addFunction($name, $function);
-    }
-
-    /**
-     * Get a function by name.
-     *
-     * Subclasses may override this method and load functions differently;
-     * so no list of functions is available.
-     *
-     * @param string $name function name
-     *
-     * @return Twig_Function|false A Twig_Function instance or false if the function does not exist
-     */
-    public function getFunction($name)
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        if (isset($this->functions[$name])) {
-            return $this->functions[$name];
-        }
-
-        foreach ($this->functions as $pattern => $function) {
-            $pattern = str_replace('\\*', '(.*?)', preg_quote($pattern, '#'), $count);
-
-            if ($count) {
-                if (preg_match('#^'.$pattern.'$#', $name, $matches)) {
-                    array_shift($matches);
-                    $function->setArguments($matches);
-
-                    return $function;
-                }
-            }
-        }
-
-        foreach ($this->functionCallbacks as $callback) {
-            if (false !== $function = call_user_func($callback, $name)) {
-                return $function;
-            }
-        }
-
-        return false;
-    }
-
-    public function registerUndefinedFunctionCallback($callable)
-    {
-        $this->functionCallbacks[] = $callable;
-    }
-
-    /**
-     * Gets registered functions.
-     *
-     * Be warned that this method cannot return functions defined with registerUndefinedFunctionCallback.
-     *
-     * @return Twig_FunctionInterface[] An array of Twig_FunctionInterface instances
-     *
-     * @see registerUndefinedFunctionCallback
-     */
-    public function getFunctions()
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        return $this->functions;
-    }
-
-    /**
-     * Registers a Global.
-     *
-     * New globals can be added before compiling or rendering a template;
-     * but after, you can only update existing globals.
-     *
-     * @param string $name  The global name
-     * @param mixed  $value The global value
-     */
-    public function addGlobal($name, $value)
-    {
-        if ($this->extensionInitialized || $this->runtimeInitialized) {
-            if (null === $this->globals) {
-                $this->globals = $this->initGlobals();
-            }
-
-            /* This condition must be uncommented in Twig 2.0
-            if (!array_key_exists($name, $this->globals)) {
-                throw new LogicException(sprintf('Unable to add global "%s" as the runtime or the extensions have already been initialized.', $name));
-            }
-            */
-        }
-
-        if ($this->extensionInitialized || $this->runtimeInitialized) {
-            // update the value
-            $this->globals[$name] = $value;
-        } else {
-            $this->staging->addGlobal($name, $value);
-        }
-    }
-
-    /**
-     * Gets the registered Globals.
-     *
-     * @return array An array of globals
-     */
-    public function getGlobals()
-    {
-        if (!$this->runtimeInitialized && !$this->extensionInitialized) {
-            return $this->initGlobals();
-        }
-
-        if (null === $this->globals) {
-            $this->globals = $this->initGlobals();
-        }
-
-        return $this->globals;
-    }
-
-    /**
-     * Merges a context with the defined globals.
-     *
-     * @param array $context An array representing the context
-     *
-     * @return array The context merged with the globals
-     */
-    public function mergeGlobals(array $context)
-    {
-        // we don't use array_merge as the context being generally
-        // bigger than globals, this code is faster.
-        foreach ($this->getGlobals() as $key => $value) {
-            if (!array_key_exists($key, $context)) {
-                $context[$key] = $value;
-            }
-        }
-
-        return $context;
-    }
-
-    /**
-     * Gets the registered unary Operators.
-     *
-     * @return array An array of unary operators
-     */
-    public function getUnaryOperators()
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        return $this->unaryOperators;
-    }
-
-    /**
-     * Gets the registered binary Operators.
-     *
-     * @return array An array of binary operators
-     */
-    public function getBinaryOperators()
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        return $this->binaryOperators;
-    }
-
-    public function computeAlternatives($name, $items)
-    {
-        $alternatives = array();
-        foreach ($items as $item) {
-            $lev = levenshtein($name, $item);
-            if ($lev <= strlen($name) / 3 || false !== strpos($item, $name)) {
-                $alternatives[$item] = $lev;
-            }
-        }
-        asort($alternatives);
-
-        return array_keys($alternatives);
-    }
-
-    protected function initGlobals()
-    {
-        $globals = array();
-        foreach ($this->extensions as $extension) {
-            $extGlob = $extension->getGlobals();
-            if (!is_array($extGlob)) {
-                throw new UnexpectedValueException(sprintf('"%s::getGlobals()" must return an array of globals.', get_class($extension)));
-            }
-
-            $globals[] = $extGlob;
-        }
-
-        $globals[] = $this->staging->getGlobals();
-
-        return call_user_func_array('array_merge', $globals);
-    }
-
-    protected function initExtensions()
-    {
-        if ($this->extensionInitialized) {
-            return;
-        }
-
-        $this->extensionInitialized = true;
-        $this->parsers = new Twig_TokenParserBroker();
-        $this->filters = array();
-        $this->functions = array();
-        $this->tests = array();
-        $this->visitors = array();
-        $this->unaryOperators = array();
-        $this->binaryOperators = array();
-
-        foreach ($this->extensions as $extension) {
-            $this->initExtension($extension);
-        }
-        $this->initExtension($this->staging);
-    }
-
-    protected function initExtension(Twig_ExtensionInterface $extension)
-    {
-        // filters
-        foreach ($extension->getFilters() as $name => $filter) {
-            if ($name instanceof Twig_SimpleFilter) {
-                $filter = $name;
-                $name = $filter->getName();
-            } elseif ($filter instanceof Twig_SimpleFilter) {
-                $name = $filter->getName();
-            }
-
-            $this->filters[$name] = $filter;
-        }
-
-        // functions
-        foreach ($extension->getFunctions() as $name => $function) {
-            if ($name instanceof Twig_SimpleFunction) {
-                $function = $name;
-                $name = $function->getName();
-            } elseif ($function instanceof Twig_SimpleFunction) {
-                $name = $function->getName();
-            }
-
-            $this->functions[$name] = $function;
-        }
-
-        // tests
-        foreach ($extension->getTests() as $name => $test) {
-            if ($name instanceof Twig_SimpleTest) {
-                $test = $name;
-                $name = $test->getName();
-            } elseif ($test instanceof Twig_SimpleTest) {
-                $name = $test->getName();
-            }
-
-            $this->tests[$name] = $test;
-        }
-
-        // token parsers
-        foreach ($extension->getTokenParsers() as $parser) {
-            if ($parser instanceof Twig_TokenParserInterface) {
-                $this->parsers->addTokenParser($parser);
-            } elseif ($parser instanceof Twig_TokenParserBrokerInterface) {
-                $this->parsers->addTokenParserBroker($parser);
-            } else {
-                throw new LogicException('getTokenParsers() must return an array of Twig_TokenParserInterface or Twig_TokenParserBrokerInterface instances');
-            }
-        }
-
-        // node visitors
-        foreach ($extension->getNodeVisitors() as $visitor) {
-            $this->visitors[] = $visitor;
-        }
-
-        // operators
-        if ($operators = $extension->getOperators()) {
-            if (2 !== count($operators)) {
-                throw new InvalidArgumentException(sprintf('"%s::getOperators()" does not return a valid operators array.', get_class($extension)));
-            }
-
-            $this->unaryOperators = array_merge($this->unaryOperators, $operators[0]);
-            $this->binaryOperators = array_merge($this->binaryOperators, $operators[1]);
-        }
-    }
-
-    protected function writeCacheFile($file, $content)
-    {
-        $dir = dirname($file);
-        if (!is_dir($dir)) {
-            if (false === @mkdir($dir, 0777, true) && !is_dir($dir)) {
-                throw new RuntimeException(sprintf("Unable to create the cache directory (%s).", $dir));
-            }
-        } elseif (!is_writable($dir)) {
-            throw new RuntimeException(sprintf("Unable to write in the cache directory (%s).", $dir));
-        }
-
-        $tmpFile = tempnam(dirname($file), basename($file));
-        if (false !== @file_put_contents($tmpFile, $content)) {
-            // rename does not work on Win32 before 5.2.6
-            if (@rename($tmpFile, $file) || (@copy($tmpFile, $file) && unlink($tmpFile))) {
-                @chmod($file, 0666 & ~umask());
-
-                return;
-            }
-        }
-
-        throw new RuntimeException(sprintf('Failed to write cache file "%s".', $file));
-    }
-}
diff --git a/lib/Twig/Error.php b/lib/Twig/Error.php
deleted file mode 100644
index e77ec98d75d3bc2d7c2ced57910ab03567c3af91..0000000000000000000000000000000000000000
--- a/lib/Twig/Error.php
+++ /dev/null
@@ -1,232 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Twig base exception.
- *
- * This exception class and its children must only be used when
- * an error occurs during the loading of a template, when a syntax error
- * is detected in a template, or when rendering a template. Other
- * errors must use regular PHP exception classes (like when the template
- * cache directory is not writable for instance).
- *
- * To help debugging template issues, this class tracks the original template
- * name and line where the error occurred.
- *
- * Whenever possible, you must set these information (original template name
- * and line number) yourself by passing them to the constructor. If some or all
- * these information are not available from where you throw the exception, then
- * this class will guess them automatically (when the line number is set to -1
- * and/or the filename is set to null). As this is a costly operation, this
- * can be disabled by passing false for both the filename and the line number
- * when creating a new instance of this class.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Error extends Exception
-{
-    protected $lineno;
-    protected $filename;
-    protected $rawMessage;
-    protected $previous;
-
-    /**
-     * Constructor.
-     *
-     * Set both the line number and the filename to false to
-     * disable automatic guessing of the original template name
-     * and line number.
-     *
-     * Set the line number to -1 to enable its automatic guessing.
-     * Set the filename to null to enable its automatic guessing.
-     *
-     * By default, automatic guessing is enabled.
-     *
-     * @param string    $message  The error message
-     * @param integer   $lineno   The template line where the error occurred
-     * @param string    $filename The template file name where the error occurred
-     * @param Exception $previous The previous exception
-     */
-    public function __construct($message, $lineno = -1, $filename = null, Exception $previous = null)
-    {
-        if (version_compare(PHP_VERSION, '5.3.0', '<')) {
-            $this->previous = $previous;
-            parent::__construct('');
-        } else {
-            parent::__construct('', 0, $previous);
-        }
-
-        $this->lineno = $lineno;
-        $this->filename = $filename;
-
-        if (-1 === $this->lineno || null === $this->filename) {
-            $this->guessTemplateInfo();
-        }
-
-        $this->rawMessage = $message;
-
-        $this->updateRepr();
-    }
-
-    /**
-     * Gets the raw message.
-     *
-     * @return string The raw message
-     */
-    public function getRawMessage()
-    {
-        return $this->rawMessage;
-    }
-
-    /**
-     * Gets the filename where the error occurred.
-     *
-     * @return string The filename
-     */
-    public function getTemplateFile()
-    {
-        return $this->filename;
-    }
-
-    /**
-     * Sets the filename where the error occurred.
-     *
-     * @param string $filename The filename
-     */
-    public function setTemplateFile($filename)
-    {
-        $this->filename = $filename;
-
-        $this->updateRepr();
-    }
-
-    /**
-     * Gets the template line where the error occurred.
-     *
-     * @return integer The template line
-     */
-    public function getTemplateLine()
-    {
-        return $this->lineno;
-    }
-
-    /**
-     * Sets the template line where the error occurred.
-     *
-     * @param integer $lineno The template line
-     */
-    public function setTemplateLine($lineno)
-    {
-        $this->lineno = $lineno;
-
-        $this->updateRepr();
-    }
-
-    public function guess()
-    {
-        $this->guessTemplateInfo();
-        $this->updateRepr();
-    }
-
-    /**
-     * For PHP < 5.3.0, provides access to the getPrevious() method.
-     *
-     * @param string $method    The method name
-     * @param array  $arguments The parameters to be passed to the method
-     *
-     * @return Exception The previous exception or null
-     *
-     * @throws BadMethodCallException
-     */
-    public function __call($method, $arguments)
-    {
-        if ('getprevious' == strtolower($method)) {
-            return $this->previous;
-        }
-
-        throw new BadMethodCallException(sprintf('Method "Twig_Error::%s()" does not exist.', $method));
-    }
-
-    protected function updateRepr()
-    {
-        $this->message = $this->rawMessage;
-
-        $dot = false;
-        if ('.' === substr($this->message, -1)) {
-            $this->message = substr($this->message, 0, -1);
-            $dot = true;
-        }
-
-        if ($this->filename) {
-            if (is_string($this->filename) || (is_object($this->filename) && method_exists($this->filename, '__toString'))) {
-                $filename = sprintf('"%s"', $this->filename);
-            } else {
-                $filename = json_encode($this->filename);
-            }
-            $this->message .= sprintf(' in %s', $filename);
-        }
-
-        if ($this->lineno && $this->lineno >= 0) {
-            $this->message .= sprintf(' at line %d', $this->lineno);
-        }
-
-        if ($dot) {
-            $this->message .= '.';
-        }
-    }
-
-    protected function guessTemplateInfo()
-    {
-        $template = null;
-        foreach (debug_backtrace() as $trace) {
-            if (isset($trace['object']) && $trace['object'] instanceof Twig_Template && 'Twig_Template' !== get_class($trace['object'])) {
-                if (null === $this->filename || $this->filename == $trace['object']->getTemplateName()) {
-                    $template = $trace['object'];
-                }
-            }
-        }
-
-        // update template filename
-        if (null !== $template && null === $this->filename) {
-            $this->filename = $template->getTemplateName();
-        }
-
-        if (null === $template || $this->lineno > -1) {
-            return;
-        }
-
-        $r = new ReflectionObject($template);
-        $file = $r->getFileName();
-
-        $exceptions = array($e = $this);
-        while (($e instanceof self || method_exists($e, 'getPrevious')) && $e = $e->getPrevious()) {
-            $exceptions[] = $e;
-        }
-
-        while ($e = array_pop($exceptions)) {
-            $traces = $e->getTrace();
-            while ($trace = array_shift($traces)) {
-                if (!isset($trace['file']) || !isset($trace['line']) || $file != $trace['file']) {
-                    continue;
-                }
-
-                foreach ($template->getDebugInfo() as $codeLine => $templateLine) {
-                    if ($codeLine <= $trace['line']) {
-                        // update template line
-                        $this->lineno = $templateLine;
-
-                        return;
-                    }
-                }
-            }
-        }
-    }
-}
diff --git a/lib/Twig/Error/Loader.php b/lib/Twig/Error/Loader.php
deleted file mode 100644
index 68efb574a1e67c52b0a54cb3fe39a848f497d4af..0000000000000000000000000000000000000000
--- a/lib/Twig/Error/Loader.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Exception thrown when an error occurs during template loading.
- *
- * Automatic template information guessing is always turned off as
- * if a template cannot be loaded, there is nothing to guess.
- * However, when a template is loaded from another one, then, we need
- * to find the current context and this is automatically done by
- * Twig_Template::displayWithErrorHandling().
- *
- * This strategy makes Twig_Environment::resolveTemplate() much faster.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Error_Loader extends Twig_Error
-{
-    public function __construct($message, $lineno = -1, $filename = null, Exception $previous = null)
-    {
-        parent::__construct($message, false, false, $previous);
-    }
-}
diff --git a/lib/Twig/Error/Runtime.php b/lib/Twig/Error/Runtime.php
deleted file mode 100644
index 8b6ceddb9d8c9705297928d10e1a055d907746ef..0000000000000000000000000000000000000000
--- a/lib/Twig/Error/Runtime.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Exception thrown when an error occurs at runtime.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Error_Runtime extends Twig_Error
-{
-}
diff --git a/lib/Twig/Error/Syntax.php b/lib/Twig/Error/Syntax.php
deleted file mode 100644
index 0f5c5792883c5c9d698e35b1fc1d3ec9add43088..0000000000000000000000000000000000000000
--- a/lib/Twig/Error/Syntax.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Exception thrown when a syntax error occurs during lexing or parsing of a template.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Error_Syntax extends Twig_Error
-{
-}
diff --git a/lib/Twig/ExistsLoaderInterface.php b/lib/Twig/ExistsLoaderInterface.php
deleted file mode 100644
index ce4347655076985d6ab49dc4c9c20c60150384b5..0000000000000000000000000000000000000000
--- a/lib/Twig/ExistsLoaderInterface.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Adds an exists() method for loaders.
- *
- * @author Florin Patan <florinpatan@gmail.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-interface Twig_ExistsLoaderInterface
-{
-    /**
-     * Check if we have the source code of a template, given its name.
-     *
-     * @param string $name The name of the template to check if we can load
-     *
-     * @return boolean If the template source code is handled by this loader or not
-     */
-    public function exists($name);
-}
diff --git a/lib/Twig/ExpressionParser.php b/lib/Twig/ExpressionParser.php
deleted file mode 100644
index 9cf193449f6a43c85f1e1e67af64e7b3fad76354..0000000000000000000000000000000000000000
--- a/lib/Twig/ExpressionParser.php
+++ /dev/null
@@ -1,600 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Parses expressions.
- *
- * This parser implements a "Precedence climbing" algorithm.
- *
- * @see http://www.engr.mun.ca/~theo/Misc/exp_parsing.htm
- * @see http://en.wikipedia.org/wiki/Operator-precedence_parser
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_ExpressionParser
-{
-    const OPERATOR_LEFT = 1;
-    const OPERATOR_RIGHT = 2;
-
-    protected $parser;
-    protected $unaryOperators;
-    protected $binaryOperators;
-
-    public function __construct(Twig_Parser $parser, array $unaryOperators, array $binaryOperators)
-    {
-        $this->parser = $parser;
-        $this->unaryOperators = $unaryOperators;
-        $this->binaryOperators = $binaryOperators;
-    }
-
-    public function parseExpression($precedence = 0)
-    {
-        $expr = $this->getPrimary();
-        $token = $this->parser->getCurrentToken();
-        while ($this->isBinary($token) && $this->binaryOperators[$token->getValue()]['precedence'] >= $precedence) {
-            $op = $this->binaryOperators[$token->getValue()];
-            $this->parser->getStream()->next();
-
-            if (isset($op['callable'])) {
-                $expr = call_user_func($op['callable'], $this->parser, $expr);
-            } else {
-                $expr1 = $this->parseExpression(self::OPERATOR_LEFT === $op['associativity'] ? $op['precedence'] + 1 : $op['precedence']);
-                $class = $op['class'];
-                $expr = new $class($expr, $expr1, $token->getLine());
-            }
-
-            $token = $this->parser->getCurrentToken();
-        }
-
-        if (0 === $precedence) {
-            return $this->parseConditionalExpression($expr);
-        }
-
-        return $expr;
-    }
-
-    protected function getPrimary()
-    {
-        $token = $this->parser->getCurrentToken();
-
-        if ($this->isUnary($token)) {
-            $operator = $this->unaryOperators[$token->getValue()];
-            $this->parser->getStream()->next();
-            $expr = $this->parseExpression($operator['precedence']);
-            $class = $operator['class'];
-
-            return $this->parsePostfixExpression(new $class($expr, $token->getLine()));
-        } elseif ($token->test(Twig_Token::PUNCTUATION_TYPE, '(')) {
-            $this->parser->getStream()->next();
-            $expr = $this->parseExpression();
-            $this->parser->getStream()->expect(Twig_Token::PUNCTUATION_TYPE, ')', 'An opened parenthesis is not properly closed');
-
-            return $this->parsePostfixExpression($expr);
-        }
-
-        return $this->parsePrimaryExpression();
-    }
-
-    protected function parseConditionalExpression($expr)
-    {
-        while ($this->parser->getStream()->test(Twig_Token::PUNCTUATION_TYPE, '?')) {
-            $this->parser->getStream()->next();
-            if (!$this->parser->getStream()->test(Twig_Token::PUNCTUATION_TYPE, ':')) {
-                $expr2 = $this->parseExpression();
-                if ($this->parser->getStream()->test(Twig_Token::PUNCTUATION_TYPE, ':')) {
-                    $this->parser->getStream()->next();
-                    $expr3 = $this->parseExpression();
-                } else {
-                    $expr3 = new Twig_Node_Expression_Constant('', $this->parser->getCurrentToken()->getLine());
-                }
-            } else {
-                $this->parser->getStream()->next();
-                $expr2 = $expr;
-                $expr3 = $this->parseExpression();
-            }
-
-            $expr = new Twig_Node_Expression_Conditional($expr, $expr2, $expr3, $this->parser->getCurrentToken()->getLine());
-        }
-
-        return $expr;
-    }
-
-    protected function isUnary(Twig_Token $token)
-    {
-        return $token->test(Twig_Token::OPERATOR_TYPE) && isset($this->unaryOperators[$token->getValue()]);
-    }
-
-    protected function isBinary(Twig_Token $token)
-    {
-        return $token->test(Twig_Token::OPERATOR_TYPE) && isset($this->binaryOperators[$token->getValue()]);
-    }
-
-    public function parsePrimaryExpression()
-    {
-        $token = $this->parser->getCurrentToken();
-        switch ($token->getType()) {
-            case Twig_Token::NAME_TYPE:
-                $this->parser->getStream()->next();
-                switch ($token->getValue()) {
-                    case 'true':
-                    case 'TRUE':
-                        $node = new Twig_Node_Expression_Constant(true, $token->getLine());
-                        break;
-
-                    case 'false':
-                    case 'FALSE':
-                        $node = new Twig_Node_Expression_Constant(false, $token->getLine());
-                        break;
-
-                    case 'none':
-                    case 'NONE':
-                    case 'null':
-                    case 'NULL':
-                        $node = new Twig_Node_Expression_Constant(null, $token->getLine());
-                        break;
-
-                    default:
-                        if ('(' === $this->parser->getCurrentToken()->getValue()) {
-                            $node = $this->getFunctionNode($token->getValue(), $token->getLine());
-                        } else {
-                            $node = new Twig_Node_Expression_Name($token->getValue(), $token->getLine());
-                        }
-                }
-                break;
-
-            case Twig_Token::NUMBER_TYPE:
-                $this->parser->getStream()->next();
-                $node = new Twig_Node_Expression_Constant($token->getValue(), $token->getLine());
-                break;
-
-            case Twig_Token::STRING_TYPE:
-            case Twig_Token::INTERPOLATION_START_TYPE:
-                $node = $this->parseStringExpression();
-                break;
-
-            default:
-                if ($token->test(Twig_Token::PUNCTUATION_TYPE, '[')) {
-                    $node = $this->parseArrayExpression();
-                } elseif ($token->test(Twig_Token::PUNCTUATION_TYPE, '{')) {
-                    $node = $this->parseHashExpression();
-                } else {
-                    throw new Twig_Error_Syntax(sprintf('Unexpected token "%s" of value "%s"', Twig_Token::typeToEnglish($token->getType(), $token->getLine()), $token->getValue()), $token->getLine(), $this->parser->getFilename());
-                }
-        }
-
-        return $this->parsePostfixExpression($node);
-    }
-
-    public function parseStringExpression()
-    {
-        $stream = $this->parser->getStream();
-
-        $nodes = array();
-        // a string cannot be followed by another string in a single expression
-        $nextCanBeString = true;
-        while (true) {
-            if ($stream->test(Twig_Token::STRING_TYPE) && $nextCanBeString) {
-                $token = $stream->next();
-                $nodes[] = new Twig_Node_Expression_Constant($token->getValue(), $token->getLine());
-                $nextCanBeString = false;
-            } elseif ($stream->test(Twig_Token::INTERPOLATION_START_TYPE)) {
-                $stream->next();
-                $nodes[] = $this->parseExpression();
-                $stream->expect(Twig_Token::INTERPOLATION_END_TYPE);
-                $nextCanBeString = true;
-            } else {
-                break;
-            }
-        }
-
-        $expr = array_shift($nodes);
-        foreach ($nodes as $node) {
-            $expr = new Twig_Node_Expression_Binary_Concat($expr, $node, $node->getLine());
-        }
-
-        return $expr;
-    }
-
-    public function parseArrayExpression()
-    {
-        $stream = $this->parser->getStream();
-        $stream->expect(Twig_Token::PUNCTUATION_TYPE, '[', 'An array element was expected');
-
-        $node = new Twig_Node_Expression_Array(array(), $stream->getCurrent()->getLine());
-        $first = true;
-        while (!$stream->test(Twig_Token::PUNCTUATION_TYPE, ']')) {
-            if (!$first) {
-                $stream->expect(Twig_Token::PUNCTUATION_TYPE, ',', 'An array element must be followed by a comma');
-
-                // trailing ,?
-                if ($stream->test(Twig_Token::PUNCTUATION_TYPE, ']')) {
-                    break;
-                }
-            }
-            $first = false;
-
-            $node->addElement($this->parseExpression());
-        }
-        $stream->expect(Twig_Token::PUNCTUATION_TYPE, ']', 'An opened array is not properly closed');
-
-        return $node;
-    }
-
-    public function parseHashExpression()
-    {
-        $stream = $this->parser->getStream();
-        $stream->expect(Twig_Token::PUNCTUATION_TYPE, '{', 'A hash element was expected');
-
-        $node = new Twig_Node_Expression_Array(array(), $stream->getCurrent()->getLine());
-        $first = true;
-        while (!$stream->test(Twig_Token::PUNCTUATION_TYPE, '}')) {
-            if (!$first) {
-                $stream->expect(Twig_Token::PUNCTUATION_TYPE, ',', 'A hash value must be followed by a comma');
-
-                // trailing ,?
-                if ($stream->test(Twig_Token::PUNCTUATION_TYPE, '}')) {
-                    break;
-                }
-            }
-            $first = false;
-
-            // a hash key can be:
-            //
-            //  * a number -- 12
-            //  * a string -- 'a'
-            //  * a name, which is equivalent to a string -- a
-            //  * an expression, which must be enclosed in parentheses -- (1 + 2)
-            if ($stream->test(Twig_Token::STRING_TYPE) || $stream->test(Twig_Token::NAME_TYPE) || $stream->test(Twig_Token::NUMBER_TYPE)) {
-                $token = $stream->next();
-                $key = new Twig_Node_Expression_Constant($token->getValue(), $token->getLine());
-            } elseif ($stream->test(Twig_Token::PUNCTUATION_TYPE, '(')) {
-                $key = $this->parseExpression();
-            } else {
-                $current = $stream->getCurrent();
-
-                throw new Twig_Error_Syntax(sprintf('A hash key must be a quoted string, a number, a name, or an expression enclosed in parentheses (unexpected token "%s" of value "%s"', Twig_Token::typeToEnglish($current->getType(), $current->getLine()), $current->getValue()), $current->getLine(), $this->parser->getFilename());
-            }
-
-            $stream->expect(Twig_Token::PUNCTUATION_TYPE, ':', 'A hash key must be followed by a colon (:)');
-            $value = $this->parseExpression();
-
-            $node->addElement($value, $key);
-        }
-        $stream->expect(Twig_Token::PUNCTUATION_TYPE, '}', 'An opened hash is not properly closed');
-
-        return $node;
-    }
-
-    public function parsePostfixExpression($node)
-    {
-        while (true) {
-            $token = $this->parser->getCurrentToken();
-            if ($token->getType() == Twig_Token::PUNCTUATION_TYPE) {
-                if ('.' == $token->getValue() || '[' == $token->getValue()) {
-                    $node = $this->parseSubscriptExpression($node);
-                } elseif ('|' == $token->getValue()) {
-                    $node = $this->parseFilterExpression($node);
-                } else {
-                    break;
-                }
-            } else {
-                break;
-            }
-        }
-
-        return $node;
-    }
-
-    public function getFunctionNode($name, $line)
-    {
-        switch ($name) {
-            case 'parent':
-                $args = $this->parseArguments();
-                if (!count($this->parser->getBlockStack())) {
-                    throw new Twig_Error_Syntax('Calling "parent" outside a block is forbidden', $line, $this->parser->getFilename());
-                }
-
-                if (!$this->parser->getParent() && !$this->parser->hasTraits()) {
-                    throw new Twig_Error_Syntax('Calling "parent" on a template that does not extend nor "use" another template is forbidden', $line, $this->parser->getFilename());
-                }
-
-                return new Twig_Node_Expression_Parent($this->parser->peekBlockStack(), $line);
-            case 'block':
-                return new Twig_Node_Expression_BlockReference($this->parseArguments()->getNode(0), false, $line);
-            case 'attribute':
-                $args = $this->parseArguments();
-                if (count($args) < 2) {
-                    throw new Twig_Error_Syntax('The "attribute" function takes at least two arguments (the variable and the attributes)', $line, $this->parser->getFilename());
-                }
-
-                return new Twig_Node_Expression_GetAttr($args->getNode(0), $args->getNode(1), count($args) > 2 ? $args->getNode(2) : new Twig_Node_Expression_Array(array(), $line), Twig_TemplateInterface::ANY_CALL, $line);
-            default:
-                if (null !== $alias = $this->parser->getImportedSymbol('function', $name)) {
-                    $arguments = new Twig_Node_Expression_Array(array(), $line);
-                    foreach ($this->parseArguments() as $n) {
-                        $arguments->addElement($n);
-                    }
-
-                    $node = new Twig_Node_Expression_MethodCall($alias['node'], $alias['name'], $arguments, $line);
-                    $node->setAttribute('safe', true);
-
-                    return $node;
-                }
-
-                $args = $this->parseArguments(true);
-                $class = $this->getFunctionNodeClass($name, $line);
-
-                return new $class($name, $args, $line);
-        }
-    }
-
-    public function parseSubscriptExpression($node)
-    {
-        $stream = $this->parser->getStream();
-        $token = $stream->next();
-        $lineno = $token->getLine();
-        $arguments = new Twig_Node_Expression_Array(array(), $lineno);
-        $type = Twig_TemplateInterface::ANY_CALL;
-        if ($token->getValue() == '.') {
-            $token = $stream->next();
-            if (
-                $token->getType() == Twig_Token::NAME_TYPE
-                ||
-                $token->getType() == Twig_Token::NUMBER_TYPE
-                ||
-                ($token->getType() == Twig_Token::OPERATOR_TYPE && preg_match(Twig_Lexer::REGEX_NAME, $token->getValue()))
-            ) {
-                $arg = new Twig_Node_Expression_Constant($token->getValue(), $lineno);
-
-                if ($stream->test(Twig_Token::PUNCTUATION_TYPE, '(')) {
-                    $type = Twig_TemplateInterface::METHOD_CALL;
-                    foreach ($this->parseArguments() as $n) {
-                        $arguments->addElement($n);
-                    }
-                }
-            } else {
-                throw new Twig_Error_Syntax('Expected name or number', $lineno, $this->parser->getFilename());
-            }
-
-            if ($node instanceof Twig_Node_Expression_Name && null !== $this->parser->getImportedSymbol('template', $node->getAttribute('name'))) {
-                if (!$arg instanceof Twig_Node_Expression_Constant) {
-                    throw new Twig_Error_Syntax(sprintf('Dynamic macro names are not supported (called on "%s")', $node->getAttribute('name')), $token->getLine(), $this->parser->getFilename());
-                }
-
-                $node = new Twig_Node_Expression_MethodCall($node, 'get'.$arg->getAttribute('value'), $arguments, $lineno);
-                $node->setAttribute('safe', true);
-
-                return $node;
-            }
-        } else {
-            $type = Twig_TemplateInterface::ARRAY_CALL;
-
-            // slice?
-            $slice = false;
-            if ($stream->test(Twig_Token::PUNCTUATION_TYPE, ':')) {
-                $slice = true;
-                $arg = new Twig_Node_Expression_Constant(0, $token->getLine());
-            } else {
-                $arg = $this->parseExpression();
-            }
-
-            if ($stream->test(Twig_Token::PUNCTUATION_TYPE, ':')) {
-                $slice = true;
-                $stream->next();
-            }
-
-            if ($slice) {
-                if ($stream->test(Twig_Token::PUNCTUATION_TYPE, ']')) {
-                    $length = new Twig_Node_Expression_Constant(null, $token->getLine());
-                } else {
-                    $length = $this->parseExpression();
-                }
-
-                $class = $this->getFilterNodeClass('slice', $token->getLine());
-                $arguments = new Twig_Node(array($arg, $length));
-                $filter = new $class($node, new Twig_Node_Expression_Constant('slice', $token->getLine()), $arguments, $token->getLine());
-
-                $stream->expect(Twig_Token::PUNCTUATION_TYPE, ']');
-
-                return $filter;
-            }
-
-            $stream->expect(Twig_Token::PUNCTUATION_TYPE, ']');
-        }
-
-        return new Twig_Node_Expression_GetAttr($node, $arg, $arguments, $type, $lineno);
-    }
-
-    public function parseFilterExpression($node)
-    {
-        $this->parser->getStream()->next();
-
-        return $this->parseFilterExpressionRaw($node);
-    }
-
-    public function parseFilterExpressionRaw($node, $tag = null)
-    {
-        while (true) {
-            $token = $this->parser->getStream()->expect(Twig_Token::NAME_TYPE);
-
-            $name = new Twig_Node_Expression_Constant($token->getValue(), $token->getLine());
-            if (!$this->parser->getStream()->test(Twig_Token::PUNCTUATION_TYPE, '(')) {
-                $arguments = new Twig_Node();
-            } else {
-                $arguments = $this->parseArguments(true);
-            }
-
-            $class = $this->getFilterNodeClass($name->getAttribute('value'), $token->getLine());
-
-            $node = new $class($node, $name, $arguments, $token->getLine(), $tag);
-
-            if (!$this->parser->getStream()->test(Twig_Token::PUNCTUATION_TYPE, '|')) {
-                break;
-            }
-
-            $this->parser->getStream()->next();
-        }
-
-        return $node;
-    }
-
-    /**
-     * Parses arguments.
-     *
-     * @param Boolean $namedArguments Whether to allow named arguments or not
-     * @param Boolean $definition     Whether we are parsing arguments for a function definition
-     */
-    public function parseArguments($namedArguments = false, $definition = false)
-    {
-        $args = array();
-        $stream = $this->parser->getStream();
-
-        $stream->expect(Twig_Token::PUNCTUATION_TYPE, '(', 'A list of arguments must begin with an opening parenthesis');
-        while (!$stream->test(Twig_Token::PUNCTUATION_TYPE, ')')) {
-            if (!empty($args)) {
-                $stream->expect(Twig_Token::PUNCTUATION_TYPE, ',', 'Arguments must be separated by a comma');
-            }
-
-            if ($definition) {
-                $token = $stream->expect(Twig_Token::NAME_TYPE, null, 'An argument must be a name');
-                $value = new Twig_Node_Expression_Name($token->getValue(), $this->parser->getCurrentToken()->getLine());
-            } else {
-                $value = $this->parseExpression();
-            }
-
-            $name = null;
-            if ($namedArguments && $stream->test(Twig_Token::OPERATOR_TYPE, '=')) {
-                $token = $stream->next();
-                if (!$value instanceof Twig_Node_Expression_Name) {
-                    throw new Twig_Error_Syntax(sprintf('A parameter name must be a string, "%s" given', get_class($value)), $token->getLine(), $this->parser->getFilename());
-                }
-                $name = $value->getAttribute('name');
-
-                if ($definition) {
-                    $value = $this->parsePrimaryExpression();
-
-                    if (!$this->checkConstantExpression($value)) {
-                        throw new Twig_Error_Syntax(sprintf('A default value for an argument must be a constant (a boolean, a string, a number, or an array).'), $token->getLine(), $this->parser->getFilename());
-                    }
-                } else {
-                    $value = $this->parseExpression();
-                }
-            }
-
-            if ($definition) {
-                if (null === $name) {
-                    $name = $value->getAttribute('name');
-                    $value = new Twig_Node_Expression_Constant(null, $this->parser->getCurrentToken()->getLine());
-                }
-                $args[$name] = $value;
-            } else {
-                if (null === $name) {
-                    $args[] = $value;
-                } else {
-                    $args[$name] = $value;
-                }
-            }
-        }
-        $stream->expect(Twig_Token::PUNCTUATION_TYPE, ')', 'A list of arguments must be closed by a parenthesis');
-
-        return new Twig_Node($args);
-    }
-
-    public function parseAssignmentExpression()
-    {
-        $targets = array();
-        while (true) {
-            $token = $this->parser->getStream()->expect(Twig_Token::NAME_TYPE, null, 'Only variables can be assigned to');
-            if (in_array($token->getValue(), array('true', 'false', 'none'))) {
-                throw new Twig_Error_Syntax(sprintf('You cannot assign a value to "%s"', $token->getValue()), $token->getLine(), $this->parser->getFilename());
-            }
-            $targets[] = new Twig_Node_Expression_AssignName($token->getValue(), $token->getLine());
-
-            if (!$this->parser->getStream()->test(Twig_Token::PUNCTUATION_TYPE, ',')) {
-                break;
-            }
-            $this->parser->getStream()->next();
-        }
-
-        return new Twig_Node($targets);
-    }
-
-    public function parseMultitargetExpression()
-    {
-        $targets = array();
-        while (true) {
-            $targets[] = $this->parseExpression();
-            if (!$this->parser->getStream()->test(Twig_Token::PUNCTUATION_TYPE, ',')) {
-                break;
-            }
-            $this->parser->getStream()->next();
-        }
-
-        return new Twig_Node($targets);
-    }
-
-    protected function getFunctionNodeClass($name, $line)
-    {
-        $env = $this->parser->getEnvironment();
-
-        if (false === $function = $env->getFunction($name)) {
-            $message = sprintf('The function "%s" does not exist', $name);
-            if ($alternatives = $env->computeAlternatives($name, array_keys($env->getFunctions()))) {
-                $message = sprintf('%s. Did you mean "%s"', $message, implode('", "', $alternatives));
-            }
-
-            throw new Twig_Error_Syntax($message, $line, $this->parser->getFilename());
-        }
-
-        if ($function instanceof Twig_SimpleFunction) {
-            return $function->getNodeClass();
-        }
-
-        return $function instanceof Twig_Function_Node ? $function->getClass() : 'Twig_Node_Expression_Function';
-    }
-
-    protected function getFilterNodeClass($name, $line)
-    {
-        $env = $this->parser->getEnvironment();
-
-        if (false === $filter = $env->getFilter($name)) {
-            $message = sprintf('The filter "%s" does not exist', $name);
-            if ($alternatives = $env->computeAlternatives($name, array_keys($env->getFilters()))) {
-                $message = sprintf('%s. Did you mean "%s"', $message, implode('", "', $alternatives));
-            }
-
-            throw new Twig_Error_Syntax($message, $line, $this->parser->getFilename());
-        }
-
-        if ($filter instanceof Twig_SimpleFilter) {
-            return $filter->getNodeClass();
-        }
-
-        return $filter instanceof Twig_Filter_Node ? $filter->getClass() : 'Twig_Node_Expression_Filter';
-    }
-
-    // checks that the node only contains "constant" elements
-    protected function checkConstantExpression(Twig_NodeInterface $node)
-    {
-        if (!($node instanceof Twig_Node_Expression_Constant || $node instanceof Twig_Node_Expression_Array)) {
-            return false;
-        }
-
-        foreach ($node as $n) {
-            if (!$this->checkConstantExpression($n)) {
-                return false;
-            }
-        }
-
-        return true;
-    }
-}
diff --git a/lib/Twig/Extension.php b/lib/Twig/Extension.php
deleted file mode 100644
index 931fc0338ca5b5c0f6017e5c7afca5955a20ecea..0000000000000000000000000000000000000000
--- a/lib/Twig/Extension.php
+++ /dev/null
@@ -1,93 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-abstract class Twig_Extension implements Twig_ExtensionInterface
-{
-    /**
-     * Initializes the runtime environment.
-     *
-     * This is where you can load some file that contains filter functions for instance.
-     *
-     * @param Twig_Environment $environment The current Twig_Environment instance
-     */
-    public function initRuntime(Twig_Environment $environment)
-    {
-    }
-
-    /**
-     * Returns the token parser instances to add to the existing list.
-     *
-     * @return array An array of Twig_TokenParserInterface or Twig_TokenParserBrokerInterface instances
-     */
-    public function getTokenParsers()
-    {
-        return array();
-    }
-
-    /**
-     * Returns the node visitor instances to add to the existing list.
-     *
-     * @return array An array of Twig_NodeVisitorInterface instances
-     */
-    public function getNodeVisitors()
-    {
-        return array();
-    }
-
-    /**
-     * Returns a list of filters to add to the existing list.
-     *
-     * @return array An array of filters
-     */
-    public function getFilters()
-    {
-        return array();
-    }
-
-    /**
-     * Returns a list of tests to add to the existing list.
-     *
-     * @return array An array of tests
-     */
-    public function getTests()
-    {
-        return array();
-    }
-
-    /**
-     * Returns a list of functions to add to the existing list.
-     *
-     * @return array An array of functions
-     */
-    public function getFunctions()
-    {
-        return array();
-    }
-
-    /**
-     * Returns a list of operators to add to the existing list.
-     *
-     * @return array An array of operators
-     */
-    public function getOperators()
-    {
-        return array();
-    }
-
-    /**
-     * Returns a list of global variables to add to the existing list.
-     *
-     * @return array An array of global variables
-     */
-    public function getGlobals()
-    {
-        return array();
-    }
-}
diff --git a/lib/Twig/Extension/Core.php b/lib/Twig/Extension/Core.php
deleted file mode 100644
index c3ca51a1ec7420ed66e13e9b735f3ac6fce0d3ad..0000000000000000000000000000000000000000
--- a/lib/Twig/Extension/Core.php
+++ /dev/null
@@ -1,1355 +0,0 @@
-<?php
-
-if (!defined('ENT_SUBSTITUTE')) {
-    define('ENT_SUBSTITUTE', 8);
-}
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Extension_Core extends Twig_Extension
-{
-    protected $dateFormats = array('F j, Y H:i', '%d days');
-    protected $numberFormat = array(0, '.', ',');
-    protected $timezone = null;
-
-    /**
-     * Sets the default format to be used by the date filter.
-     *
-     * @param string $format             The default date format string
-     * @param string $dateIntervalFormat The default date interval format string
-     */
-    public function setDateFormat($format = null, $dateIntervalFormat = null)
-    {
-        if (null !== $format) {
-            $this->dateFormats[0] = $format;
-        }
-
-        if (null !== $dateIntervalFormat) {
-            $this->dateFormats[1] = $dateIntervalFormat;
-        }
-    }
-
-    /**
-     * Gets the default format to be used by the date filter.
-     *
-     * @return array The default date format string and the default date interval format string
-     */
-    public function getDateFormat()
-    {
-        return $this->dateFormats;
-    }
-
-    /**
-     * Sets the default timezone to be used by the date filter.
-     *
-     * @param DateTimeZone|string $timezone The default timezone string or a DateTimeZone object
-     */
-    public function setTimezone($timezone)
-    {
-        $this->timezone = $timezone instanceof DateTimeZone ? $timezone : new DateTimeZone($timezone);
-    }
-
-    /**
-     * Gets the default timezone to be used by the date filter.
-     *
-     * @return DateTimeZone The default timezone currently in use
-     */
-    public function getTimezone()
-    {
-        if (null === $this->timezone) {
-            $this->timezone = new DateTimeZone(date_default_timezone_get());
-        }
-
-        return $this->timezone;
-    }
-
-    /**
-     * Sets the default format to be used by the number_format filter.
-     *
-     * @param integer $decimal      The number of decimal places to use.
-     * @param string  $decimalPoint The character(s) to use for the decimal point.
-     * @param string  $thousandSep  The character(s) to use for the thousands separator.
-     */
-    public function setNumberFormat($decimal, $decimalPoint, $thousandSep)
-    {
-        $this->numberFormat = array($decimal, $decimalPoint, $thousandSep);
-    }
-
-    /**
-     * Get the default format used by the number_format filter.
-     *
-     * @return array The arguments for number_format()
-     */
-    public function getNumberFormat()
-    {
-        return $this->numberFormat;
-    }
-
-    /**
-     * Returns the token parser instance to add to the existing list.
-     *
-     * @return array An array of Twig_TokenParser instances
-     */
-    public function getTokenParsers()
-    {
-        return array(
-            new Twig_TokenParser_For(),
-            new Twig_TokenParser_If(),
-            new Twig_TokenParser_Extends(),
-            new Twig_TokenParser_Include(),
-            new Twig_TokenParser_Block(),
-            new Twig_TokenParser_Use(),
-            new Twig_TokenParser_Filter(),
-            new Twig_TokenParser_Macro(),
-            new Twig_TokenParser_Import(),
-            new Twig_TokenParser_From(),
-            new Twig_TokenParser_Set(),
-            new Twig_TokenParser_Spaceless(),
-            new Twig_TokenParser_Flush(),
-            new Twig_TokenParser_Do(),
-            new Twig_TokenParser_Embed(),
-        );
-    }
-
-    /**
-     * Returns a list of filters to add to the existing list.
-     *
-     * @return array An array of filters
-     */
-    public function getFilters()
-    {
-        $filters = array(
-            // formatting filters
-            new Twig_SimpleFilter('date', 'twig_date_format_filter', array('needs_environment' => true)),
-            new Twig_SimpleFilter('date_modify', 'twig_date_modify_filter', array('needs_environment' => true)),
-            new Twig_SimpleFilter('format', 'sprintf'),
-            new Twig_SimpleFilter('replace', 'strtr'),
-            new Twig_SimpleFilter('number_format', 'twig_number_format_filter', array('needs_environment' => true)),
-            new Twig_SimpleFilter('abs', 'abs'),
-
-            // encoding
-            new Twig_SimpleFilter('url_encode', 'twig_urlencode_filter'),
-            new Twig_SimpleFilter('json_encode', 'twig_jsonencode_filter'),
-            new Twig_SimpleFilter('convert_encoding', 'twig_convert_encoding'),
-
-            // string filters
-            new Twig_SimpleFilter('title', 'twig_title_string_filter', array('needs_environment' => true)),
-            new Twig_SimpleFilter('capitalize', 'twig_capitalize_string_filter', array('needs_environment' => true)),
-            new Twig_SimpleFilter('upper', 'strtoupper'),
-            new Twig_SimpleFilter('lower', 'strtolower'),
-            new Twig_SimpleFilter('striptags', 'strip_tags'),
-            new Twig_SimpleFilter('trim', 'trim'),
-            new Twig_SimpleFilter('nl2br', 'nl2br', array('pre_escape' => 'html', 'is_safe' => array('html'))),
-
-            // array helpers
-            new Twig_SimpleFilter('join', 'twig_join_filter'),
-            new Twig_SimpleFilter('split', 'twig_split_filter'),
-            new Twig_SimpleFilter('sort', 'twig_sort_filter'),
-            new Twig_SimpleFilter('merge', 'twig_array_merge'),
-            new Twig_SimpleFilter('batch', 'twig_array_batch'),
-
-            // string/array filters
-            new Twig_SimpleFilter('reverse', 'twig_reverse_filter', array('needs_environment' => true)),
-            new Twig_SimpleFilter('length', 'twig_length_filter', array('needs_environment' => true)),
-            new Twig_SimpleFilter('slice', 'twig_slice', array('needs_environment' => true)),
-            new Twig_SimpleFilter('first', 'twig_first', array('needs_environment' => true)),
-            new Twig_SimpleFilter('last', 'twig_last', array('needs_environment' => true)),
-
-            // iteration and runtime
-            new Twig_SimpleFilter('default', '_twig_default_filter', array('node_class' => 'Twig_Node_Expression_Filter_Default')),
-            new Twig_SimpleFilter('keys', 'twig_get_array_keys_filter'),
-
-            // escaping
-            new Twig_SimpleFilter('escape', 'twig_escape_filter', array('needs_environment' => true, 'is_safe_callback' => 'twig_escape_filter_is_safe')),
-            new Twig_SimpleFilter('e', 'twig_escape_filter', array('needs_environment' => true, 'is_safe_callback' => 'twig_escape_filter_is_safe')),
-        );
-
-        if (function_exists('mb_get_info')) {
-            $filters[] = new Twig_SimpleFilter('upper', 'twig_upper_filter', array('needs_environment' => true));
-            $filters[] = new Twig_SimpleFilter('lower', 'twig_lower_filter', array('needs_environment' => true));
-        }
-
-        return $filters;
-    }
-
-    /**
-     * Returns a list of global functions to add to the existing list.
-     *
-     * @return array An array of global functions
-     */
-    public function getFunctions()
-    {
-        return array(
-            new Twig_SimpleFunction('range', 'range'),
-            new Twig_SimpleFunction('constant', 'twig_constant'),
-            new Twig_SimpleFunction('cycle', 'twig_cycle'),
-            new Twig_SimpleFunction('random', 'twig_random', array('needs_environment' => true)),
-            new Twig_SimpleFunction('date', 'twig_date_converter', array('needs_environment' => true)),
-            new Twig_SimpleFunction('include', 'twig_include', array('needs_environment' => true, 'needs_context' => true)),
-        );
-    }
-
-    /**
-     * Returns a list of tests to add to the existing list.
-     *
-     * @return array An array of tests
-     */
-    public function getTests()
-    {
-        return array(
-            new Twig_SimpleTest('even', null, array('node_class' => 'Twig_Node_Expression_Test_Even')),
-            new Twig_SimpleTest('odd', null, array('node_class' => 'Twig_Node_Expression_Test_Odd')),
-            new Twig_SimpleTest('defined', null, array('node_class' => 'Twig_Node_Expression_Test_Defined')),
-            new Twig_SimpleTest('sameas', null, array('node_class' => 'Twig_Node_Expression_Test_Sameas')),
-            new Twig_SimpleTest('none', null, array('node_class' => 'Twig_Node_Expression_Test_Null')),
-            new Twig_SimpleTest('null', null, array('node_class' => 'Twig_Node_Expression_Test_Null')),
-            new Twig_SimpleTest('divisibleby', null, array('node_class' => 'Twig_Node_Expression_Test_Divisibleby')),
-            new Twig_SimpleTest('constant', null, array('node_class' => 'Twig_Node_Expression_Test_Constant')),
-            new Twig_SimpleTest('empty', 'twig_test_empty'),
-            new Twig_SimpleTest('iterable', 'twig_test_iterable'),
-        );
-    }
-
-    /**
-     * Returns a list of operators to add to the existing list.
-     *
-     * @return array An array of operators
-     */
-    public function getOperators()
-    {
-        return array(
-            array(
-                'not' => array('precedence' => 50, 'class' => 'Twig_Node_Expression_Unary_Not'),
-                '-'   => array('precedence' => 500, 'class' => 'Twig_Node_Expression_Unary_Neg'),
-                '+'   => array('precedence' => 500, 'class' => 'Twig_Node_Expression_Unary_Pos'),
-            ),
-            array(
-                'or'     => array('precedence' => 10, 'class' => 'Twig_Node_Expression_Binary_Or', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                'and'    => array('precedence' => 15, 'class' => 'Twig_Node_Expression_Binary_And', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                'b-or'   => array('precedence' => 16, 'class' => 'Twig_Node_Expression_Binary_BitwiseOr', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                'b-xor'  => array('precedence' => 17, 'class' => 'Twig_Node_Expression_Binary_BitwiseXor', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                'b-and'  => array('precedence' => 18, 'class' => 'Twig_Node_Expression_Binary_BitwiseAnd', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '=='     => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_Equal', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '!='     => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_NotEqual', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '<'      => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_Less', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '>'      => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_Greater', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '>='     => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_GreaterEqual', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '<='     => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_LessEqual', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                'not in' => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_NotIn', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                'in'     => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_In', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '..'     => array('precedence' => 25, 'class' => 'Twig_Node_Expression_Binary_Range', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '+'      => array('precedence' => 30, 'class' => 'Twig_Node_Expression_Binary_Add', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '-'      => array('precedence' => 30, 'class' => 'Twig_Node_Expression_Binary_Sub', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '~'      => array('precedence' => 40, 'class' => 'Twig_Node_Expression_Binary_Concat', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '*'      => array('precedence' => 60, 'class' => 'Twig_Node_Expression_Binary_Mul', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '/'      => array('precedence' => 60, 'class' => 'Twig_Node_Expression_Binary_Div', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '//'     => array('precedence' => 60, 'class' => 'Twig_Node_Expression_Binary_FloorDiv', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '%'      => array('precedence' => 60, 'class' => 'Twig_Node_Expression_Binary_Mod', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                'is'     => array('precedence' => 100, 'callable' => array($this, 'parseTestExpression'), 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                'is not' => array('precedence' => 100, 'callable' => array($this, 'parseNotTestExpression'), 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '**'     => array('precedence' => 200, 'class' => 'Twig_Node_Expression_Binary_Power', 'associativity' => Twig_ExpressionParser::OPERATOR_RIGHT),
-            ),
-        );
-    }
-
-    public function parseNotTestExpression(Twig_Parser $parser, $node)
-    {
-        return new Twig_Node_Expression_Unary_Not($this->parseTestExpression($parser, $node), $parser->getCurrentToken()->getLine());
-    }
-
-    public function parseTestExpression(Twig_Parser $parser, $node)
-    {
-        $stream = $parser->getStream();
-        $name = $stream->expect(Twig_Token::NAME_TYPE)->getValue();
-        $arguments = null;
-        if ($stream->test(Twig_Token::PUNCTUATION_TYPE, '(')) {
-            $arguments = $parser->getExpressionParser()->parseArguments(true);
-        }
-
-        $class = $this->getTestNodeClass($parser, $name, $node->getLine());
-
-        return new $class($node, $name, $arguments, $parser->getCurrentToken()->getLine());
-    }
-
-    protected function getTestNodeClass(Twig_Parser $parser, $name, $line)
-    {
-        $env = $parser->getEnvironment();
-        $testMap = $env->getTests();
-        if (!isset($testMap[$name])) {
-            $message = sprintf('The test "%s" does not exist', $name);
-            if ($alternatives = $env->computeAlternatives($name, array_keys($env->getTests()))) {
-                $message = sprintf('%s. Did you mean "%s"', $message, implode('", "', $alternatives));
-            }
-
-            throw new Twig_Error_Syntax($message, $line, $parser->getFilename());
-        }
-
-        if ($testMap[$name] instanceof Twig_SimpleTest) {
-            return $testMap[$name]->getNodeClass();
-        }
-
-        return $testMap[$name] instanceof Twig_Test_Node ? $testMap[$name]->getClass() : 'Twig_Node_Expression_Test';
-    }
-
-    /**
-     * Returns the name of the extension.
-     *
-     * @return string The extension name
-     */
-    public function getName()
-    {
-        return 'core';
-    }
-}
-
-/**
- * Cycles over a value.
- *
- * @param ArrayAccess|array $values   An array or an ArrayAccess instance
- * @param integer           $position The cycle position
- *
- * @return string The next value in the cycle
- */
-function twig_cycle($values, $position)
-{
-    if (!is_array($values) && !$values instanceof ArrayAccess) {
-        return $values;
-    }
-
-    return $values[$position % count($values)];
-}
-
-/**
- * Returns a random value depending on the supplied parameter type:
- * - a random item from a Traversable or array
- * - a random character from a string
- * - a random integer between 0 and the integer parameter
- *
- * @param Twig_Environment                 $env    A Twig_Environment instance
- * @param Traversable|array|integer|string $values The values to pick a random item from
- *
- * @throws Twig_Error_Runtime When $values is an empty array (does not apply to an empty string which is returned as is).
- *
- * @return mixed A random value from the given sequence
- */
-function twig_random(Twig_Environment $env, $values = null)
-{
-    if (null === $values) {
-        return mt_rand();
-    }
-
-    if (is_int($values) || is_float($values)) {
-        return $values < 0 ? mt_rand($values, 0) : mt_rand(0, $values);
-    }
-
-    if ($values instanceof Traversable) {
-        $values = iterator_to_array($values);
-    } elseif (is_string($values)) {
-        if ('' === $values) {
-            return '';
-        }
-        if (null !== $charset = $env->getCharset()) {
-            if ('UTF-8' != $charset) {
-                $values = twig_convert_encoding($values, 'UTF-8', $charset);
-            }
-
-            // unicode version of str_split()
-            // split at all positions, but not after the start and not before the end
-            $values = preg_split('/(?<!^)(?!$)/u', $values);
-
-            if ('UTF-8' != $charset) {
-                foreach ($values as $i => $value) {
-                    $values[$i] = twig_convert_encoding($value, $charset, 'UTF-8');
-                }
-            }
-        } else {
-            return $values[mt_rand(0, strlen($values) - 1)];
-        }
-    }
-
-    if (!is_array($values)) {
-        return $values;
-    }
-
-    if (0 === count($values)) {
-        throw new Twig_Error_Runtime('The random function cannot pick from an empty array.');
-    }
-
-    return $values[array_rand($values, 1)];
-}
-
-/**
- * Converts a date to the given format.
- *
- * <pre>
- *   {{ post.published_at|date("m/d/Y") }}
- * </pre>
- *
- * @param Twig_Environment             $env      A Twig_Environment instance
- * @param DateTime|DateInterval|string $date     A date
- * @param string                       $format   A format
- * @param DateTimeZone|string          $timezone A timezone
- *
- * @return string The formatted date
- */
-function twig_date_format_filter(Twig_Environment $env, $date, $format = null, $timezone = null)
-{
-    if (null === $format) {
-        $formats = $env->getExtension('core')->getDateFormat();
-        $format = $date instanceof DateInterval ? $formats[1] : $formats[0];
-    }
-
-    if ($date instanceof DateInterval) {
-        return $date->format($format);
-    }
-
-    return twig_date_converter($env, $date, $timezone)->format($format);
-}
-
-/**
- * Returns a new date object modified
- *
- * <pre>
- *   {{ post.published_at|date_modify("-1day")|date("m/d/Y") }}
- * </pre>
- *
- * @param Twig_Environment  $env      A Twig_Environment instance
- * @param DateTime|string   $date     A date
- * @param string            $modifier A modifier string
- *
- * @return DateTime A new date object
- */
-function twig_date_modify_filter(Twig_Environment $env, $date, $modifier)
-{
-    $date = twig_date_converter($env, $date, false);
-    $date->modify($modifier);
-
-    return $date;
-}
-
-/**
- * Converts an input to a DateTime instance.
- *
- * <pre>
- *    {% if date(user.created_at) < date('+2days') %}
- *      {# do something #}
- *    {% endif %}
- * </pre>
- *
- * @param Twig_Environment    $env      A Twig_Environment instance
- * @param DateTime|string     $date     A date
- * @param DateTimeZone|string $timezone A timezone
- *
- * @return DateTime A DateTime instance
- */
-function twig_date_converter(Twig_Environment $env, $date = null, $timezone = null)
-{
-    // determine the timezone
-    if (!$timezone) {
-        $defaultTimezone = $env->getExtension('core')->getTimezone();
-    } elseif (!$timezone instanceof DateTimeZone) {
-        $defaultTimezone = new DateTimeZone($timezone);
-    } else {
-        $defaultTimezone = $timezone;
-    }
-
-    if ($date instanceof DateTime) {
-        $date = clone $date;
-        if (false !== $timezone) {
-            $date->setTimezone($defaultTimezone);
-        }
-
-        return $date;
-    }
-
-    $asString = (string) $date;
-    if (ctype_digit($asString) || (!empty($asString) && '-' === $asString[0] && ctype_digit(substr($asString, 1)))) {
-        $date = '@'.$date;
-    }
-
-    $date = new DateTime($date, $defaultTimezone);
-    if (false !== $timezone) {
-        $date->setTimezone($defaultTimezone);
-    }
-
-    return $date;
-}
-
-/**
- * Number format filter.
- *
- * All of the formatting options can be left null, in that case the defaults will
- * be used.  Supplying any of the parameters will override the defaults set in the
- * environment object.
- *
- * @param Twig_Environment    $env          A Twig_Environment instance
- * @param mixed               $number       A float/int/string of the number to format
- * @param integer             $decimal      The number of decimal points to display.
- * @param string              $decimalPoint The character(s) to use for the decimal point.
- * @param string              $thousandSep  The character(s) to use for the thousands separator.
- *
- * @return string The formatted number
- */
-function twig_number_format_filter(Twig_Environment $env, $number, $decimal = null, $decimalPoint = null, $thousandSep = null)
-{
-    $defaults = $env->getExtension('core')->getNumberFormat();
-    if (null === $decimal) {
-        $decimal = $defaults[0];
-    }
-
-    if (null === $decimalPoint) {
-        $decimalPoint = $defaults[1];
-    }
-
-    if (null === $thousandSep) {
-        $thousandSep = $defaults[2];
-    }
-
-    return number_format((float) $number, $decimal, $decimalPoint, $thousandSep);
-}
-
-/**
- * URL encodes a string as a path segment or an array as a query string.
- *
- * @param string|array $url A URL or an array of query parameters
- * @param bool         $raw true to use rawurlencode() instead of urlencode
- *
- * @return string The URL encoded value
- */
-function twig_urlencode_filter($url, $raw = false)
-{
-    if (is_array($url)) {
-        return http_build_query($url, '', '&');
-    }
-
-    if ($raw) {
-        return rawurlencode($url);
-    }
-
-    return urlencode($url);
-}
-
-if (version_compare(PHP_VERSION, '5.3.0', '<')) {
-    /**
-     * JSON encodes a variable.
-     *
-     * @param mixed   $value   The value to encode.
-     * @param integer $options Not used on PHP 5.2.x
-     *
-     * @return mixed The JSON encoded value
-     */
-    function twig_jsonencode_filter($value, $options = 0)
-    {
-        if ($value instanceof Twig_Markup) {
-            $value = (string) $value;
-        } elseif (is_array($value)) {
-            array_walk_recursive($value, '_twig_markup2string');
-        }
-
-        return json_encode($value);
-    }
-} else {
-    /**
-     * JSON encodes a variable.
-     *
-     * @param mixed   $value   The value to encode.
-     * @param integer $options Bitmask consisting of JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT
-     *
-     * @return mixed The JSON encoded value
-     */
-    function twig_jsonencode_filter($value, $options = 0)
-    {
-        if ($value instanceof Twig_Markup) {
-            $value = (string) $value;
-        } elseif (is_array($value)) {
-            array_walk_recursive($value, '_twig_markup2string');
-        }
-
-        return json_encode($value, $options);
-    }
-}
-
-function _twig_markup2string(&$value)
-{
-    if ($value instanceof Twig_Markup) {
-        $value = (string) $value;
-    }
-}
-
-/**
- * Merges an array with another one.
- *
- * <pre>
- *  {% set items = { 'apple': 'fruit', 'orange': 'fruit' } %}
- *
- *  {% set items = items|merge({ 'peugeot': 'car' }) %}
- *
- *  {# items now contains { 'apple': 'fruit', 'orange': 'fruit', 'peugeot': 'car' } #}
- * </pre>
- *
- * @param array $arr1 An array
- * @param array $arr2 An array
- *
- * @return array The merged array
- */
-function twig_array_merge($arr1, $arr2)
-{
-    if (!is_array($arr1) || !is_array($arr2)) {
-        throw new Twig_Error_Runtime('The merge filter only works with arrays or hashes.');
-    }
-
-    return array_merge($arr1, $arr2);
-}
-
-/**
- * Slices a variable.
- *
- * @param Twig_Environment $env          A Twig_Environment instance
- * @param mixed            $item         A variable
- * @param integer          $start        Start of the slice
- * @param integer          $length       Size of the slice
- * @param Boolean          $preserveKeys Whether to preserve key or not (when the input is an array)
- *
- * @return mixed The sliced variable
- */
-function twig_slice(Twig_Environment $env, $item, $start, $length = null, $preserveKeys = false)
-{
-    if ($item instanceof Traversable) {
-        $item = iterator_to_array($item, false);
-    }
-
-    if (is_array($item)) {
-        return array_slice($item, $start, $length, $preserveKeys);
-    }
-
-    $item = (string) $item;
-
-    if (function_exists('mb_get_info') && null !== $charset = $env->getCharset()) {
-        return mb_substr($item, $start, null === $length ? mb_strlen($item, $charset) - $start : $length, $charset);
-    }
-
-    return null === $length ? substr($item, $start) : substr($item, $start, $length);
-}
-
-/**
- * Returns the first element of the item.
- *
- * @param Twig_Environment $env  A Twig_Environment instance
- * @param mixed            $item A variable
- *
- * @return mixed The first element of the item
- */
-function twig_first(Twig_Environment $env, $item)
-{
-    $elements = twig_slice($env, $item, 0, 1, false);
-
-    return is_string($elements) ? $elements[0] : current($elements);
-}
-
-/**
- * Returns the last element of the item.
- *
- * @param Twig_Environment $env  A Twig_Environment instance
- * @param mixed            $item A variable
- *
- * @return mixed The last element of the item
- */
-function twig_last(Twig_Environment $env, $item)
-{
-    $elements = twig_slice($env, $item, -1, 1, false);
-
-    return is_string($elements) ? $elements[0] : current($elements);
-}
-
-/**
- * Joins the values to a string.
- *
- * The separator between elements is an empty string per default, you can define it with the optional parameter.
- *
- * <pre>
- *  {{ [1, 2, 3]|join('|') }}
- *  {# returns 1|2|3 #}
- *
- *  {{ [1, 2, 3]|join }}
- *  {# returns 123 #}
- * </pre>
- *
- * @param array  $value An array
- * @param string $glue  The separator
- *
- * @return string The concatenated string
- */
-function twig_join_filter($value, $glue = '')
-{
-    if ($value instanceof Traversable) {
-        $value = iterator_to_array($value, false);
-    }
-
-    return implode($glue, (array) $value);
-}
-
-/**
- * Splits the string into an array.
- *
- * <pre>
- *  {{ "one,two,three"|split(',') }}
- *  {# returns [one, two, three] #}
- *
- *  {{ "one,two,three,four,five"|split(',', 3) }}
- *  {# returns [one, two, "three,four,five"] #}
- *
- *  {{ "123"|split('') }}
- *  {# returns [1, 2, 3] #}
- *
- *  {{ "aabbcc"|split('', 2) }}
- *  {# returns [aa, bb, cc] #}
- * </pre>
- *
- * @param string  $value     A string
- * @param string  $delimiter The delimiter
- * @param integer $limit     The limit
- *
- * @return array The split string as an array
- */
-function twig_split_filter($value, $delimiter, $limit = null)
-{
-    if (empty($delimiter)) {
-        return str_split($value, null === $limit ? 1 : $limit);
-    }
-
-    return null === $limit ? explode($delimiter, $value) : explode($delimiter, $value, $limit);
-}
-
-// The '_default' filter is used internally to avoid using the ternary operator
-// which costs a lot for big contexts (before PHP 5.4). So, on average,
-// a function call is cheaper.
-function _twig_default_filter($value, $default = '')
-{
-    if (twig_test_empty($value)) {
-        return $default;
-    }
-
-    return $value;
-}
-
-/**
- * Returns the keys for the given array.
- *
- * It is useful when you want to iterate over the keys of an array:
- *
- * <pre>
- *  {% for key in array|keys %}
- *      {# ... #}
- *  {% endfor %}
- * </pre>
- *
- * @param array $array An array
- *
- * @return array The keys
- */
-function twig_get_array_keys_filter($array)
-{
-    if (is_object($array) && $array instanceof Traversable) {
-        return array_keys(iterator_to_array($array));
-    }
-
-    if (!is_array($array)) {
-        return array();
-    }
-
-    return array_keys($array);
-}
-
-/**
- * Reverses a variable.
- *
- * @param Twig_Environment         $env          A Twig_Environment instance
- * @param array|Traversable|string $item         An array, a Traversable instance, or a string
- * @param Boolean                  $preserveKeys Whether to preserve key or not
- *
- * @return mixed The reversed input
- */
-function twig_reverse_filter(Twig_Environment $env, $item, $preserveKeys = false)
-{
-    if (is_object($item) && $item instanceof Traversable) {
-        return array_reverse(iterator_to_array($item), $preserveKeys);
-    }
-
-    if (is_array($item)) {
-        return array_reverse($item, $preserveKeys);
-    }
-
-    if (null !== $charset = $env->getCharset()) {
-        $string = (string) $item;
-
-        if ('UTF-8' != $charset) {
-            $item = twig_convert_encoding($string, 'UTF-8', $charset);
-        }
-
-        preg_match_all('/./us', $item, $matches);
-
-        $string = implode('', array_reverse($matches[0]));
-
-        if ('UTF-8' != $charset) {
-            $string = twig_convert_encoding($string, $charset, 'UTF-8');
-        }
-
-        return $string;
-    }
-
-    return strrev((string) $item);
-}
-
-/**
- * Sorts an array.
- *
- * @param array $array An array
- */
-function twig_sort_filter($array)
-{
-    asort($array);
-
-    return $array;
-}
-
-/* used internally */
-function twig_in_filter($value, $compare)
-{
-    if (is_array($compare)) {
-        return in_array($value, $compare, is_object($value));
-    } elseif (is_string($compare)) {
-        if (!strlen($value)) {
-            return empty($compare);
-        }
-
-        return false !== strpos($compare, (string) $value);
-    } elseif ($compare instanceof Traversable) {
-        return in_array($value, iterator_to_array($compare, false), is_object($value));
-    }
-
-    return false;
-}
-
-/**
- * Escapes a string.
- *
- * @param Twig_Environment $env        A Twig_Environment instance
- * @param string           $string     The value to be escaped
- * @param string           $strategy   The escaping strategy
- * @param string           $charset    The charset
- * @param Boolean          $autoescape Whether the function is called by the auto-escaping feature (true) or by the developer (false)
- */
-function twig_escape_filter(Twig_Environment $env, $string, $strategy = 'html', $charset = null, $autoescape = false)
-{
-    if ($autoescape && $string instanceof Twig_Markup) {
-        return $string;
-    }
-
-    if (!is_string($string)) {
-        if (is_object($string) && method_exists($string, '__toString')) {
-            $string = (string) $string;
-        } else {
-            return $string;
-        }
-    }
-
-    if (null === $charset) {
-        $charset = $env->getCharset();
-    }
-
-    switch ($strategy) {
-        case 'html':
-            // see http://php.net/htmlspecialchars
-
-            // Using a static variable to avoid initializing the array
-            // each time the function is called. Moving the declaration on the
-            // top of the function slow downs other escaping strategies.
-            static $htmlspecialcharsCharsets = array(
-                'ISO-8859-1' => true, 'ISO8859-1' => true,
-                'ISO-8859-15' => true, 'ISO8859-15' => true,
-                'utf-8' => true, 'UTF-8' => true,
-                'CP866' => true, 'IBM866' => true, '866' => true,
-                'CP1251' => true, 'WINDOWS-1251' => true, 'WIN-1251' => true,
-                '1251' => true,
-                'CP1252' => true, 'WINDOWS-1252' => true, '1252' => true,
-                'KOI8-R' => true, 'KOI8-RU' => true, 'KOI8R' => true,
-                'BIG5' => true, '950' => true,
-                'GB2312' => true, '936' => true,
-                'BIG5-HKSCS' => true,
-                'SHIFT_JIS' => true, 'SJIS' => true, '932' => true,
-                'EUC-JP' => true, 'EUCJP' => true,
-                'ISO8859-5' => true, 'ISO-8859-5' => true, 'MACROMAN' => true,
-            );
-
-            if (isset($htmlspecialcharsCharsets[$charset])) {
-                return htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE, $charset);
-            }
-
-            if (isset($htmlspecialcharsCharsets[strtoupper($charset)])) {
-                // cache the lowercase variant for future iterations
-                $htmlspecialcharsCharsets[$charset] = true;
-
-                return htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE, $charset);
-            }
-
-            $string = twig_convert_encoding($string, 'UTF-8', $charset);
-            $string = htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
-
-            return twig_convert_encoding($string, $charset, 'UTF-8');
-
-        case 'js':
-            // escape all non-alphanumeric characters
-            // into their \xHH or \uHHHH representations
-            if ('UTF-8' != $charset) {
-                $string = twig_convert_encoding($string, 'UTF-8', $charset);
-            }
-
-            if (0 == strlen($string) ? false : (1 == preg_match('/^./su', $string) ? false : true)) {
-                throw new Twig_Error_Runtime('The string to escape is not a valid UTF-8 string.');
-            }
-
-            $string = preg_replace_callback('#[^a-zA-Z0-9,\._]#Su', '_twig_escape_js_callback', $string);
-
-            if ('UTF-8' != $charset) {
-                $string = twig_convert_encoding($string, $charset, 'UTF-8');
-            }
-
-            return $string;
-
-        case 'css':
-            if ('UTF-8' != $charset) {
-                $string = twig_convert_encoding($string, 'UTF-8', $charset);
-            }
-
-            if (0 == strlen($string) ? false : (1 == preg_match('/^./su', $string) ? false : true)) {
-                throw new Twig_Error_Runtime('The string to escape is not a valid UTF-8 string.');
-            }
-
-            $string = preg_replace_callback('#[^a-zA-Z0-9]#Su', '_twig_escape_css_callback', $string);
-
-            if ('UTF-8' != $charset) {
-                $string = twig_convert_encoding($string, $charset, 'UTF-8');
-            }
-
-            return $string;
-
-        case 'html_attr':
-            if ('UTF-8' != $charset) {
-                $string = twig_convert_encoding($string, 'UTF-8', $charset);
-            }
-
-            if (0 == strlen($string) ? false : (1 == preg_match('/^./su', $string) ? false : true)) {
-                throw new Twig_Error_Runtime('The string to escape is not a valid UTF-8 string.');
-            }
-
-            $string = preg_replace_callback('#[^a-zA-Z0-9,\.\-_]#Su', '_twig_escape_html_attr_callback', $string);
-
-            if ('UTF-8' != $charset) {
-                $string = twig_convert_encoding($string, $charset, 'UTF-8');
-            }
-
-            return $string;
-
-        case 'url':
-            // hackish test to avoid version_compare that is much slower, this works unless PHP releases a 5.10.*
-            // at that point however PHP 5.2.* support can be removed
-            if (PHP_VERSION < '5.3.0') {
-                return str_replace('%7E', '~', rawurlencode($string));
-            }
-
-            return rawurlencode($string);
-
-        default:
-            throw new Twig_Error_Runtime(sprintf('Invalid escaping strategy "%s" (valid ones: html, js, url, css, and html_attr).', $strategy));
-    }
-}
-
-/* used internally */
-function twig_escape_filter_is_safe(Twig_Node $filterArgs)
-{
-    foreach ($filterArgs as $arg) {
-        if ($arg instanceof Twig_Node_Expression_Constant) {
-            return array($arg->getAttribute('value'));
-        }
-
-        return array();
-    }
-
-    return array('html');
-}
-
-if (function_exists('mb_convert_encoding')) {
-    function twig_convert_encoding($string, $to, $from)
-    {
-        return mb_convert_encoding($string, $to, $from);
-    }
-} elseif (function_exists('iconv')) {
-    function twig_convert_encoding($string, $to, $from)
-    {
-        return iconv($from, $to, $string);
-    }
-} else {
-    function twig_convert_encoding($string, $to, $from)
-    {
-        throw new Twig_Error_Runtime('No suitable convert encoding function (use UTF-8 as your encoding or install the iconv or mbstring extension).');
-    }
-}
-
-function _twig_escape_js_callback($matches)
-{
-    $char = $matches[0];
-
-    // \xHH
-    if (!isset($char[1])) {
-        return '\\x'.strtoupper(substr('00'.bin2hex($char), -2));
-    }
-
-    // \uHHHH
-    $char = twig_convert_encoding($char, 'UTF-16BE', 'UTF-8');
-
-    return '\\u'.strtoupper(substr('0000'.bin2hex($char), -4));
-}
-
-function _twig_escape_css_callback($matches)
-{
-    $char = $matches[0];
-
-    // \xHH
-    if (!isset($char[1])) {
-        $hex = ltrim(strtoupper(bin2hex($char)), '0');
-        if (0 === strlen($hex)) {
-            $hex = '0';
-        }
-
-        return '\\'.$hex.' ';
-    }
-
-    // \uHHHH
-    $char = twig_convert_encoding($char, 'UTF-16BE', 'UTF-8');
-
-    return '\\'.ltrim(strtoupper(bin2hex($char)), '0').' ';
-}
-
-/**
- * This function is adapted from code coming from Zend Framework.
- *
- * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-function _twig_escape_html_attr_callback($matches)
-{
-    /*
-     * While HTML supports far more named entities, the lowest common denominator
-     * has become HTML5's XML Serialisation which is restricted to the those named
-     * entities that XML supports. Using HTML entities would result in this error:
-     *     XML Parsing Error: undefined entity
-     */
-    static $entityMap = array(
-        34 => 'quot', /* quotation mark */
-        38 => 'amp',  /* ampersand */
-        60 => 'lt',   /* less-than sign */
-        62 => 'gt',   /* greater-than sign */
-    );
-
-    $chr = $matches[0];
-    $ord = ord($chr);
-
-    /**
-     * The following replaces characters undefined in HTML with the
-     * hex entity for the Unicode replacement character.
-     */
-    if (($ord <= 0x1f && $chr != "\t" && $chr != "\n" && $chr != "\r") || ($ord >= 0x7f && $ord <= 0x9f)) {
-        return '&#xFFFD;';
-    }
-
-    /**
-     * Check if the current character to escape has a name entity we should
-     * replace it with while grabbing the hex value of the character.
-     */
-    if (strlen($chr) == 1) {
-        $hex = strtoupper(substr('00'.bin2hex($chr), -2));
-    } else {
-        $chr = twig_convert_encoding($chr, 'UTF-16BE', 'UTF-8');
-        $hex = strtoupper(substr('0000'.bin2hex($chr), -4));
-    }
-
-    $int = hexdec($hex);
-    if (array_key_exists($int, $entityMap)) {
-        return sprintf('&%s;', $entityMap[$int]);
-    }
-
-    /**
-     * Per OWASP recommendations, we'll use hex entities for any other
-     * characters where a named entity does not exist.
-     */
-
-    return sprintf('&#x%s;', $hex);
-}
-
-// add multibyte extensions if possible
-if (function_exists('mb_get_info')) {
-    /**
-     * Returns the length of a variable.
-     *
-     * @param Twig_Environment $env   A Twig_Environment instance
-     * @param mixed            $thing A variable
-     *
-     * @return integer The length of the value
-     */
-    function twig_length_filter(Twig_Environment $env, $thing)
-    {
-        return is_scalar($thing) ? mb_strlen($thing, $env->getCharset()) : count($thing);
-    }
-
-    /**
-     * Converts a string to uppercase.
-     *
-     * @param Twig_Environment $env    A Twig_Environment instance
-     * @param string           $string A string
-     *
-     * @return string The uppercased string
-     */
-    function twig_upper_filter(Twig_Environment $env, $string)
-    {
-        if (null !== ($charset = $env->getCharset())) {
-            return mb_strtoupper($string, $charset);
-        }
-
-        return strtoupper($string);
-    }
-
-    /**
-     * Converts a string to lowercase.
-     *
-     * @param Twig_Environment $env    A Twig_Environment instance
-     * @param string           $string A string
-     *
-     * @return string The lowercased string
-     */
-    function twig_lower_filter(Twig_Environment $env, $string)
-    {
-        if (null !== ($charset = $env->getCharset())) {
-            return mb_strtolower($string, $charset);
-        }
-
-        return strtolower($string);
-    }
-
-    /**
-     * Returns a titlecased string.
-     *
-     * @param Twig_Environment $env    A Twig_Environment instance
-     * @param string           $string A string
-     *
-     * @return string The titlecased string
-     */
-    function twig_title_string_filter(Twig_Environment $env, $string)
-    {
-        if (null !== ($charset = $env->getCharset())) {
-            return mb_convert_case($string, MB_CASE_TITLE, $charset);
-        }
-
-        return ucwords(strtolower($string));
-    }
-
-    /**
-     * Returns a capitalized string.
-     *
-     * @param Twig_Environment $env    A Twig_Environment instance
-     * @param string           $string A string
-     *
-     * @return string The capitalized string
-     */
-    function twig_capitalize_string_filter(Twig_Environment $env, $string)
-    {
-        if (null !== ($charset = $env->getCharset())) {
-            return mb_strtoupper(mb_substr($string, 0, 1, $charset), $charset).
-                         mb_strtolower(mb_substr($string, 1, mb_strlen($string, $charset), $charset), $charset);
-        }
-
-        return ucfirst(strtolower($string));
-    }
-}
-// and byte fallback
-else {
-    /**
-     * Returns the length of a variable.
-     *
-     * @param Twig_Environment $env   A Twig_Environment instance
-     * @param mixed            $thing A variable
-     *
-     * @return integer The length of the value
-     */
-    function twig_length_filter(Twig_Environment $env, $thing)
-    {
-        return is_scalar($thing) ? strlen($thing) : count($thing);
-    }
-
-    /**
-     * Returns a titlecased string.
-     *
-     * @param Twig_Environment $env    A Twig_Environment instance
-     * @param string           $string A string
-     *
-     * @return string The titlecased string
-     */
-    function twig_title_string_filter(Twig_Environment $env, $string)
-    {
-        return ucwords(strtolower($string));
-    }
-
-    /**
-     * Returns a capitalized string.
-     *
-     * @param Twig_Environment $env    A Twig_Environment instance
-     * @param string           $string A string
-     *
-     * @return string The capitalized string
-     */
-    function twig_capitalize_string_filter(Twig_Environment $env, $string)
-    {
-        return ucfirst(strtolower($string));
-    }
-}
-
-/* used internally */
-function twig_ensure_traversable($seq)
-{
-    if ($seq instanceof Traversable || is_array($seq)) {
-        return $seq;
-    }
-
-    return array();
-}
-
-/**
- * Checks if a variable is empty.
- *
- * <pre>
- * {# evaluates to true if the foo variable is null, false, or the empty string #}
- * {% if foo is empty %}
- *     {# ... #}
- * {% endif %}
- * </pre>
- *
- * @param mixed $value A variable
- *
- * @return Boolean true if the value is empty, false otherwise
- */
-function twig_test_empty($value)
-{
-    if ($value instanceof Countable) {
-        return 0 == count($value);
-    }
-
-    return '' === $value || false === $value || null === $value || array() === $value;
-}
-
-/**
- * Checks if a variable is traversable.
- *
- * <pre>
- * {# evaluates to true if the foo variable is an array or a traversable object #}
- * {% if foo is traversable %}
- *     {# ... #}
- * {% endif %}
- * </pre>
- *
- * @param mixed $value A variable
- *
- * @return Boolean true if the value is traversable
- */
-function twig_test_iterable($value)
-{
-    return $value instanceof Traversable || is_array($value);
-}
-
-/**
- * Renders a template.
- *
- * @param string  template       The template to render
- * @param array   variables      The variables to pass to the template
- * @param Boolean with_context   Whether to pass the current context variables or not
- * @param Boolean ignore_missing Whether to ignore missing templates or not
- * @param Boolean sandboxed      Whether to sandbox the template or not
- *
- * @return string The rendered template
- */
-function twig_include(Twig_Environment $env, $context, $template, $variables = array(), $withContext = true, $ignoreMissing = false, $sandboxed = false)
-{
-    if ($withContext) {
-        $variables = array_merge($context, $variables);
-    }
-
-    if ($isSandboxed = $sandboxed && $env->hasExtension('sandbox')) {
-        $sandbox = $env->getExtension('sandbox');
-        if (!$alreadySandboxed = $sandbox->isSandboxed()) {
-            $sandbox->enableSandbox();
-        }
-    }
-
-    try {
-        return $env->resolveTemplate($template)->display($variables);
-    } catch (Twig_Error_Loader $e) {
-        if (!$ignoreMissing) {
-            throw $e;
-        }
-    }
-
-    if ($isSandboxed && !$alreadySandboxed) {
-        $sandbox->disableSandbox();
-    }
-}
-
-/**
- * Provides the ability to get constants from instances as well as class/global constants.
- *
- * @param string      $constant The name of the constant
- * @param null|object $object   The object to get the constant from
- *
- * @return string
- */
-function twig_constant($constant, $object = null)
-{
-    if (null !== $object) {
-        $constant = get_class($object).'::'.$constant;
-    }
-
-    return constant($constant);
-}
-
-/**
- * Batches item.
- *
- * @param array   $items An array of items
- * @param integer $size  The size of the batch
- * @param string  $fill  A string to fill missing items
- *
- * @return array
- */
-function twig_array_batch($items, $size, $fill = null)
-{
-    if ($items instanceof Traversable) {
-        $items = iterator_to_array($items, false);
-    }
-
-    $size = ceil($size);
-
-    $result = array_chunk($items, $size, true);
-
-    if (null !== $fill) {
-        $last = count($result) - 1;
-        $result[$last] = array_merge(
-            $result[$last],
-            array_fill(0, $size - count($result[$last]), $fill)
-        );
-    }
-
-    return $result;
-}
diff --git a/lib/Twig/Extension/Debug.php b/lib/Twig/Extension/Debug.php
deleted file mode 100644
index e3a85bfe8e2164b8df509731532d17da06e08432..0000000000000000000000000000000000000000
--- a/lib/Twig/Extension/Debug.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Extension_Debug extends Twig_Extension
-{
-    /**
-     * Returns a list of global functions to add to the existing list.
-     *
-     * @return array An array of global functions
-     */
-    public function getFunctions()
-    {
-        // dump is safe if var_dump is overridden by xdebug
-        $isDumpOutputHtmlSafe = extension_loaded('xdebug')
-            // false means that it was not set (and the default is on) or it explicitly enabled
-            && (false === ini_get('xdebug.overload_var_dump') || ini_get('xdebug.overload_var_dump'))
-            // false means that it was not set (and the default is on) or it explicitly enabled
-            // xdebug.overload_var_dump produces HTML only when html_errors is also enabled
-            && (false === ini_get('html_errors') || ini_get('html_errors'))
-            || 'cli' === php_sapi_name()
-        ;
-
-        return array(
-            new Twig_SimpleFunction('dump', 'twig_var_dump', array('is_safe' => $isDumpOutputHtmlSafe ? array('html') : array(), 'needs_context' => true, 'needs_environment' => true)),
-        );
-    }
-
-    /**
-     * Returns the name of the extension.
-     *
-     * @return string The extension name
-     */
-    public function getName()
-    {
-        return 'debug';
-    }
-}
-
-function twig_var_dump(Twig_Environment $env, $context)
-{
-    if (!$env->isDebug()) {
-        return;
-    }
-
-    ob_start();
-
-    $count = func_num_args();
-    if (2 === $count) {
-        $vars = array();
-        foreach ($context as $key => $value) {
-            if (!$value instanceof Twig_Template) {
-                $vars[$key] = $value;
-            }
-        }
-
-        var_dump($vars);
-    } else {
-        for ($i = 2; $i < $count; $i++) {
-            var_dump(func_get_arg($i));
-        }
-    }
-
-    return ob_get_clean();
-}
diff --git a/lib/Twig/Extension/Escaper.php b/lib/Twig/Extension/Escaper.php
deleted file mode 100644
index c9a7f68e783e6f658dd11de5d76245a01f05d271..0000000000000000000000000000000000000000
--- a/lib/Twig/Extension/Escaper.php
+++ /dev/null
@@ -1,107 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Extension_Escaper extends Twig_Extension
-{
-    protected $defaultStrategy;
-
-    public function __construct($defaultStrategy = 'html')
-    {
-        $this->setDefaultStrategy($defaultStrategy);
-    }
-
-    /**
-     * Returns the token parser instances to add to the existing list.
-     *
-     * @return array An array of Twig_TokenParserInterface or Twig_TokenParserBrokerInterface instances
-     */
-    public function getTokenParsers()
-    {
-        return array(new Twig_TokenParser_AutoEscape());
-    }
-
-    /**
-     * Returns the node visitor instances to add to the existing list.
-     *
-     * @return array An array of Twig_NodeVisitorInterface instances
-     */
-    public function getNodeVisitors()
-    {
-        return array(new Twig_NodeVisitor_Escaper());
-    }
-
-    /**
-     * Returns a list of filters to add to the existing list.
-     *
-     * @return array An array of filters
-     */
-    public function getFilters()
-    {
-        return array(
-            new Twig_SimpleFilter('raw', 'twig_raw_filter', array('is_safe' => array('all'))),
-        );
-    }
-
-    /**
-     * Sets the default strategy to use when not defined by the user.
-     *
-     * The strategy can be a valid PHP callback that takes the template
-     * "filename" as an argument and returns the strategy to use.
-     *
-     * @param mixed $defaultStrategy An escaping strategy
-     */
-    public function setDefaultStrategy($defaultStrategy)
-    {
-        // for BC
-        if (true === $defaultStrategy) {
-            $defaultStrategy = 'html';
-        }
-
-        $this->defaultStrategy = $defaultStrategy;
-    }
-
-    /**
-     * Gets the default strategy to use when not defined by the user.
-     *
-     * @param string $filename The template "filename"
-     *
-     * @return string The default strategy to use for the template
-     */
-    public function getDefaultStrategy($filename)
-    {
-        // disable string callables to avoid calling a function named html or js,
-        // or any other upcoming escaping strategy
-        if (!is_string($this->defaultStrategy) && is_callable($this->defaultStrategy)) {
-            return call_user_func($this->defaultStrategy, $filename);
-        }
-
-        return $this->defaultStrategy;
-    }
-
-    /**
-     * Returns the name of the extension.
-     *
-     * @return string The extension name
-     */
-    public function getName()
-    {
-        return 'escaper';
-    }
-}
-
-/**
- * Marks a variable as being safe.
- *
- * @param string $string A PHP variable
- */
-function twig_raw_filter($string)
-{
-    return $string;
-}
diff --git a/lib/Twig/Extension/Optimizer.php b/lib/Twig/Extension/Optimizer.php
deleted file mode 100644
index 013fcb6258488dc95c880be0de99e2ec4c049dd6..0000000000000000000000000000000000000000
--- a/lib/Twig/Extension/Optimizer.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Extension_Optimizer extends Twig_Extension
-{
-    protected $optimizers;
-
-    public function __construct($optimizers = -1)
-    {
-        $this->optimizers = $optimizers;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getNodeVisitors()
-    {
-        return array(new Twig_NodeVisitor_Optimizer($this->optimizers));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return 'optimizer';
-    }
-}
diff --git a/lib/Twig/Extension/Sandbox.php b/lib/Twig/Extension/Sandbox.php
deleted file mode 100644
index bf76c11a98513c8d107ec0e079a2c3bc8e793048..0000000000000000000000000000000000000000
--- a/lib/Twig/Extension/Sandbox.php
+++ /dev/null
@@ -1,112 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Extension_Sandbox extends Twig_Extension
-{
-    protected $sandboxedGlobally;
-    protected $sandboxed;
-    protected $policy;
-
-    public function __construct(Twig_Sandbox_SecurityPolicyInterface $policy, $sandboxed = false)
-    {
-        $this->policy            = $policy;
-        $this->sandboxedGlobally = $sandboxed;
-    }
-
-    /**
-     * Returns the token parser instances to add to the existing list.
-     *
-     * @return array An array of Twig_TokenParserInterface or Twig_TokenParserBrokerInterface instances
-     */
-    public function getTokenParsers()
-    {
-        return array(new Twig_TokenParser_Sandbox());
-    }
-
-    /**
-     * Returns the node visitor instances to add to the existing list.
-     *
-     * @return array An array of Twig_NodeVisitorInterface instances
-     */
-    public function getNodeVisitors()
-    {
-        return array(new Twig_NodeVisitor_Sandbox());
-    }
-
-    public function enableSandbox()
-    {
-        $this->sandboxed = true;
-    }
-
-    public function disableSandbox()
-    {
-        $this->sandboxed = false;
-    }
-
-    public function isSandboxed()
-    {
-        return $this->sandboxedGlobally || $this->sandboxed;
-    }
-
-    public function isSandboxedGlobally()
-    {
-        return $this->sandboxedGlobally;
-    }
-
-    public function setSecurityPolicy(Twig_Sandbox_SecurityPolicyInterface $policy)
-    {
-        $this->policy = $policy;
-    }
-
-    public function getSecurityPolicy()
-    {
-        return $this->policy;
-    }
-
-    public function checkSecurity($tags, $filters, $functions)
-    {
-        if ($this->isSandboxed()) {
-            $this->policy->checkSecurity($tags, $filters, $functions);
-        }
-    }
-
-    public function checkMethodAllowed($obj, $method)
-    {
-        if ($this->isSandboxed()) {
-            $this->policy->checkMethodAllowed($obj, $method);
-        }
-    }
-
-    public function checkPropertyAllowed($obj, $method)
-    {
-        if ($this->isSandboxed()) {
-            $this->policy->checkPropertyAllowed($obj, $method);
-        }
-    }
-
-    public function ensureToStringAllowed($obj)
-    {
-        if (is_object($obj)) {
-            $this->policy->checkMethodAllowed($obj, '__toString');
-        }
-
-        return $obj;
-    }
-
-    /**
-     * Returns the name of the extension.
-     *
-     * @return string The extension name
-     */
-    public function getName()
-    {
-        return 'sandbox';
-    }
-}
diff --git a/lib/Twig/Extension/Staging.php b/lib/Twig/Extension/Staging.php
deleted file mode 100644
index 8ab0f4596082e542c006c1adf92d875068d03583..0000000000000000000000000000000000000000
--- a/lib/Twig/Extension/Staging.php
+++ /dev/null
@@ -1,113 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2012 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Internal class.
- *
- * This class is used by Twig_Environment as a staging area and must not be used directly.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Extension_Staging extends Twig_Extension
-{
-    protected $functions = array();
-    protected $filters = array();
-    protected $visitors = array();
-    protected $tokenParsers = array();
-    protected $globals = array();
-    protected $tests = array();
-
-    public function addFunction($name, $function)
-    {
-        $this->functions[$name] = $function;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getFunctions()
-    {
-        return $this->functions;
-    }
-
-    public function addFilter($name, $filter)
-    {
-        $this->filters[$name] = $filter;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getFilters()
-    {
-        return $this->filters;
-    }
-
-    public function addNodeVisitor(Twig_NodeVisitorInterface $visitor)
-    {
-        $this->visitors[] = $visitor;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getNodeVisitors()
-    {
-        return $this->visitors;
-    }
-
-    public function addTokenParser(Twig_TokenParserInterface $parser)
-    {
-        $this->tokenParsers[] = $parser;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getTokenParsers()
-    {
-        return $this->tokenParsers;
-    }
-
-    public function addGlobal($name, $value)
-    {
-        $this->globals[$name] = $value;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getGlobals()
-    {
-        return $this->globals;
-    }
-
-    public function addTest($name, $test)
-    {
-        $this->tests[$name] = $test;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getTests()
-    {
-        return $this->tests;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return 'staging';
-    }
-}
diff --git a/lib/Twig/Extension/StringLoader.php b/lib/Twig/Extension/StringLoader.php
deleted file mode 100644
index 20f3f9948c316c6deee044aa6cae0bd8311cf02a..0000000000000000000000000000000000000000
--- a/lib/Twig/Extension/StringLoader.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2012 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Extension_StringLoader extends Twig_Extension
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function getFunctions()
-    {
-        return array(
-            new Twig_SimpleFunction('template_from_string', 'twig_template_from_string', array('needs_environment' => true)),
-        );
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return 'string_loader';
-    }
-}
-
-/**
- * Loads a template from a string.
- *
- * <pre>
- * {{ include(template_from_string("Hello {{ name }}")) }}
- * </pre>
- *
- * @param Twig_Environment $env      A Twig_Environment instance
- * @param string           $template A template as a string
- *
- * @return Twig_Template A Twig_Template instance
- */
-function twig_template_from_string(Twig_Environment $env, $template)
-{
-    static $loader;
-
-    if (null === $loader) {
-        $loader = new Twig_Loader_String();
-    }
-
-    $current = $env->getLoader();
-    $env->setLoader($loader);
-    try {
-        $template = $env->loadTemplate($template);
-    } catch (Exception $e) {
-        $env->setLoader($current);
-
-        throw $e;
-    }
-    $env->setLoader($current);
-
-    return $template;
-}
diff --git a/lib/Twig/ExtensionInterface.php b/lib/Twig/ExtensionInterface.php
deleted file mode 100644
index f189e9d9d09e146c3cf567d40c8d2144c8722827..0000000000000000000000000000000000000000
--- a/lib/Twig/ExtensionInterface.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface implemented by extension classes.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-interface Twig_ExtensionInterface
-{
-    /**
-     * Initializes the runtime environment.
-     *
-     * This is where you can load some file that contains filter functions for instance.
-     *
-     * @param Twig_Environment $environment The current Twig_Environment instance
-     */
-    public function initRuntime(Twig_Environment $environment);
-
-    /**
-     * Returns the token parser instances to add to the existing list.
-     *
-     * @return array An array of Twig_TokenParserInterface or Twig_TokenParserBrokerInterface instances
-     */
-    public function getTokenParsers();
-
-    /**
-     * Returns the node visitor instances to add to the existing list.
-     *
-     * @return array An array of Twig_NodeVisitorInterface instances
-     */
-    public function getNodeVisitors();
-
-    /**
-     * Returns a list of filters to add to the existing list.
-     *
-     * @return array An array of filters
-     */
-    public function getFilters();
-
-    /**
-     * Returns a list of tests to add to the existing list.
-     *
-     * @return array An array of tests
-     */
-    public function getTests();
-
-    /**
-     * Returns a list of functions to add to the existing list.
-     *
-     * @return array An array of functions
-     */
-    public function getFunctions();
-
-    /**
-     * Returns a list of operators to add to the existing list.
-     *
-     * @return array An array of operators
-     */
-    public function getOperators();
-
-    /**
-     * Returns a list of global variables to add to the existing list.
-     *
-     * @return array An array of global variables
-     */
-    public function getGlobals();
-
-    /**
-     * Returns the name of the extension.
-     *
-     * @return string The extension name
-     */
-    public function getName();
-}
diff --git a/lib/Twig/Filter.php b/lib/Twig/Filter.php
deleted file mode 100644
index 189178851bb43551f7d9ad8dfdd6e58d97a46b92..0000000000000000000000000000000000000000
--- a/lib/Twig/Filter.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a template filter.
- *
- * Use Twig_SimpleFilter instead.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-abstract class Twig_Filter implements Twig_FilterInterface, Twig_FilterCallableInterface
-{
-    protected $options;
-    protected $arguments = array();
-
-    public function __construct(array $options = array())
-    {
-        $this->options = array_merge(array(
-            'needs_environment' => false,
-            'needs_context'     => false,
-            'pre_escape'        => null,
-            'preserves_safety'  => null,
-            'callable'          => null,
-        ), $options);
-    }
-
-    public function setArguments($arguments)
-    {
-        $this->arguments = $arguments;
-    }
-
-    public function getArguments()
-    {
-        return $this->arguments;
-    }
-
-    public function needsEnvironment()
-    {
-        return $this->options['needs_environment'];
-    }
-
-    public function needsContext()
-    {
-        return $this->options['needs_context'];
-    }
-
-    public function getSafe(Twig_Node $filterArgs)
-    {
-        if (isset($this->options['is_safe'])) {
-            return $this->options['is_safe'];
-        }
-
-        if (isset($this->options['is_safe_callback'])) {
-            return call_user_func($this->options['is_safe_callback'], $filterArgs);
-        }
-
-        return null;
-    }
-
-    public function getPreservesSafety()
-    {
-        return $this->options['preserves_safety'];
-    }
-
-    public function getPreEscape()
-    {
-        return $this->options['pre_escape'];
-    }
-
-    public function getCallable()
-    {
-        return $this->options['callable'];
-    }
-}
diff --git a/lib/Twig/Filter/Function.php b/lib/Twig/Filter/Function.php
deleted file mode 100644
index ad374a551fe05a4eaded20101b8e32002732f534..0000000000000000000000000000000000000000
--- a/lib/Twig/Filter/Function.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a function template filter.
- *
- * Use Twig_SimpleFilter instead.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-class Twig_Filter_Function extends Twig_Filter
-{
-    protected $function;
-
-    public function __construct($function, array $options = array())
-    {
-        $options['callable'] = $function;
-
-        parent::__construct($options);
-
-        $this->function = $function;
-    }
-
-    public function compile()
-    {
-        return $this->function;
-    }
-}
diff --git a/lib/Twig/Filter/Method.php b/lib/Twig/Filter/Method.php
deleted file mode 100644
index 63c8c3be4a5a68ef9c71b97339ad512edbf8d7ca..0000000000000000000000000000000000000000
--- a/lib/Twig/Filter/Method.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a method template filter.
- *
- * Use Twig_SimpleFilter instead.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-class Twig_Filter_Method extends Twig_Filter
-{
-    protected $extension;
-    protected $method;
-
-    public function __construct(Twig_ExtensionInterface $extension, $method, array $options = array())
-    {
-        $options['callable'] = array($extension, $method);
-
-        parent::__construct($options);
-
-        $this->extension = $extension;
-        $this->method = $method;
-    }
-
-    public function compile()
-    {
-        return sprintf('$this->env->getExtension(\'%s\')->%s', $this->extension->getName(), $this->method);
-    }
-}
diff --git a/lib/Twig/Filter/Node.php b/lib/Twig/Filter/Node.php
deleted file mode 100644
index 8744c5e00dec69ec5115eb71e273b6f9aa247fa4..0000000000000000000000000000000000000000
--- a/lib/Twig/Filter/Node.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a template filter as a node.
- *
- * Use Twig_SimpleFilter instead.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-class Twig_Filter_Node extends Twig_Filter
-{
-    protected $class;
-
-    public function __construct($class, array $options = array())
-    {
-        parent::__construct($options);
-
-        $this->class = $class;
-    }
-
-    public function getClass()
-    {
-        return $this->class;
-    }
-
-    public function compile()
-    {
-    }
-}
diff --git a/lib/Twig/FilterCallableInterface.php b/lib/Twig/FilterCallableInterface.php
deleted file mode 100644
index 145534dfdd61a6e95a24165108546e07b85f63bc..0000000000000000000000000000000000000000
--- a/lib/Twig/FilterCallableInterface.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2012 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a callable template filter.
- *
- * Use Twig_SimpleFilter instead.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-interface Twig_FilterCallableInterface
-{
-    public function getCallable();
-}
diff --git a/lib/Twig/FilterInterface.php b/lib/Twig/FilterInterface.php
deleted file mode 100644
index 5319ecc9fc317e76b95a61de3f31cbd34fa2759c..0000000000000000000000000000000000000000
--- a/lib/Twig/FilterInterface.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a template filter.
- *
- * Use Twig_SimpleFilter instead.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-interface Twig_FilterInterface
-{
-    /**
-     * Compiles a filter.
-     *
-     * @return string The PHP code for the filter
-     */
-    public function compile();
-
-    public function needsEnvironment();
-
-    public function needsContext();
-
-    public function getSafe(Twig_Node $filterArgs);
-
-    public function getPreservesSafety();
-
-    public function getPreEscape();
-
-    public function setArguments($arguments);
-
-    public function getArguments();
-}
diff --git a/lib/Twig/Function.php b/lib/Twig/Function.php
deleted file mode 100644
index b5ffb2b0475e6b3b5ab6bcd56a7e749ffabd9dd9..0000000000000000000000000000000000000000
--- a/lib/Twig/Function.php
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a template function.
- *
- * Use Twig_SimpleFunction instead.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-abstract class Twig_Function implements Twig_FunctionInterface, Twig_FunctionCallableInterface
-{
-    protected $options;
-    protected $arguments = array();
-
-    public function __construct(array $options = array())
-    {
-        $this->options = array_merge(array(
-            'needs_environment' => false,
-            'needs_context'     => false,
-            'callable'          => null,
-        ), $options);
-    }
-
-    public function setArguments($arguments)
-    {
-        $this->arguments = $arguments;
-    }
-
-    public function getArguments()
-    {
-        return $this->arguments;
-    }
-
-    public function needsEnvironment()
-    {
-        return $this->options['needs_environment'];
-    }
-
-    public function needsContext()
-    {
-        return $this->options['needs_context'];
-    }
-
-    public function getSafe(Twig_Node $functionArgs)
-    {
-        if (isset($this->options['is_safe'])) {
-            return $this->options['is_safe'];
-        }
-
-        if (isset($this->options['is_safe_callback'])) {
-            return call_user_func($this->options['is_safe_callback'], $functionArgs);
-        }
-
-        return array();
-    }
-
-    public function getCallable()
-    {
-        return $this->options['callable'];
-    }
-}
diff --git a/lib/Twig/Function/Function.php b/lib/Twig/Function/Function.php
deleted file mode 100644
index d1e1b96a204b3da6c8d9109ae654f01df6c1e077..0000000000000000000000000000000000000000
--- a/lib/Twig/Function/Function.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2010 Arnaud Le Blanc
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a function template function.
- *
- * Use Twig_SimpleFunction instead.
- *
- * @author Arnaud Le Blanc <arnaud.lb@gmail.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-class Twig_Function_Function extends Twig_Function
-{
-    protected $function;
-
-    public function __construct($function, array $options = array())
-    {
-        $options['callable'] = $function;
-
-        parent::__construct($options);
-
-        $this->function = $function;
-    }
-
-    public function compile()
-    {
-        return $this->function;
-    }
-}
diff --git a/lib/Twig/Function/Method.php b/lib/Twig/Function/Method.php
deleted file mode 100644
index 67039a956a8a4bd0c1afa949e1641f0f9b66c09f..0000000000000000000000000000000000000000
--- a/lib/Twig/Function/Method.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2010 Arnaud Le Blanc
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a method template function.
- *
- * Use Twig_SimpleFunction instead.
- *
- * @author Arnaud Le Blanc <arnaud.lb@gmail.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-class Twig_Function_Method extends Twig_Function
-{
-    protected $extension;
-    protected $method;
-
-    public function __construct(Twig_ExtensionInterface $extension, $method, array $options = array())
-    {
-        $options['callable'] = array($extension, $method);
-
-        parent::__construct($options);
-
-        $this->extension = $extension;
-        $this->method = $method;
-    }
-
-    public function compile()
-    {
-        return sprintf('$this->env->getExtension(\'%s\')->%s', $this->extension->getName(), $this->method);
-    }
-}
diff --git a/lib/Twig/Function/Node.php b/lib/Twig/Function/Node.php
deleted file mode 100644
index 06a0d0dbebfd2f78117c70c785413628b2bcb91e..0000000000000000000000000000000000000000
--- a/lib/Twig/Function/Node.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a template function as a node.
- *
- * Use Twig_SimpleFunction instead.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-class Twig_Function_Node extends Twig_Function
-{
-    protected $class;
-
-    public function __construct($class, array $options = array())
-    {
-        parent::__construct($options);
-
-        $this->class = $class;
-    }
-
-    public function getClass()
-    {
-        return $this->class;
-    }
-
-    public function compile()
-    {
-    }
-}
diff --git a/lib/Twig/FunctionCallableInterface.php b/lib/Twig/FunctionCallableInterface.php
deleted file mode 100644
index 0aab4f5ecf5824cbc3f5b68f4aaf521600924a21..0000000000000000000000000000000000000000
--- a/lib/Twig/FunctionCallableInterface.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2012 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a callable template function.
- *
- * Use Twig_SimpleFunction instead.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-interface Twig_FunctionCallableInterface
-{
-    public function getCallable();
-}
diff --git a/lib/Twig/FunctionInterface.php b/lib/Twig/FunctionInterface.php
deleted file mode 100644
index 67f4f89c06a750b18fd3f83100501af76b679c0b..0000000000000000000000000000000000000000
--- a/lib/Twig/FunctionInterface.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- * (c) 2010 Arnaud Le Blanc
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a template function.
- *
- * Use Twig_SimpleFunction instead.
- *
- * @author Arnaud Le Blanc <arnaud.lb@gmail.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-interface Twig_FunctionInterface
-{
-    /**
-     * Compiles a function.
-     *
-     * @return string The PHP code for the function
-     */
-    public function compile();
-
-    public function needsEnvironment();
-
-    public function needsContext();
-
-    public function getSafe(Twig_Node $filterArgs);
-
-    public function setArguments($arguments);
-
-    public function getArguments();
-}
diff --git a/lib/Twig/LICENSE b/lib/Twig/LICENSE
deleted file mode 100644
index 3384cc5589d5ba50b7607aba96ebc8cf3cf9d054..0000000000000000000000000000000000000000
--- a/lib/Twig/LICENSE
+++ /dev/null
@@ -1,31 +0,0 @@
-Copyright (c) 2009-2013 by the Twig Team, see AUTHORS for more details.
-
-Some rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-    * Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above
-      copyright notice, this list of conditions and the following
-      disclaimer in the documentation and/or other materials provided
-      with the distribution.
-
-    * The names of the contributors may not be used to endorse or
-      promote products derived from this software without specific
-      prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/lib/Twig/Lexer.php b/lib/Twig/Lexer.php
deleted file mode 100644
index 000b038e60e825a235cfa91c50157505e6dbf4cc..0000000000000000000000000000000000000000
--- a/lib/Twig/Lexer.php
+++ /dev/null
@@ -1,408 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Lexes a template string.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Lexer implements Twig_LexerInterface
-{
-    protected $tokens;
-    protected $code;
-    protected $cursor;
-    protected $lineno;
-    protected $end;
-    protected $state;
-    protected $states;
-    protected $brackets;
-    protected $env;
-    protected $filename;
-    protected $options;
-    protected $regexes;
-    protected $position;
-    protected $positions;
-    protected $currentVarBlockLine;
-
-    const STATE_DATA            = 0;
-    const STATE_BLOCK           = 1;
-    const STATE_VAR             = 2;
-    const STATE_STRING          = 3;
-    const STATE_INTERPOLATION   = 4;
-
-    const REGEX_NAME            = '/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/A';
-    const REGEX_NUMBER          = '/[0-9]+(?:\.[0-9]+)?/A';
-    const REGEX_STRING          = '/"([^#"\\\\]*(?:\\\\.[^#"\\\\]*)*)"|\'([^\'\\\\]*(?:\\\\.[^\'\\\\]*)*)\'/As';
-    const REGEX_DQ_STRING_DELIM = '/"/A';
-    const REGEX_DQ_STRING_PART  = '/[^#"\\\\]*(?:(?:\\\\.|#(?!\{))[^#"\\\\]*)*/As';
-    const PUNCTUATION           = '()[]{}?:.,|';
-
-    public function __construct(Twig_Environment $env, array $options = array())
-    {
-        $this->env = $env;
-
-        $this->options = array_merge(array(
-            'tag_comment'     => array('{#', '#}'),
-            'tag_block'       => array('{%', '%}'),
-            'tag_variable'    => array('{{', '}}'),
-            'whitespace_trim' => '-',
-            'interpolation'   => array('#{', '}'),
-        ), $options);
-
-        $this->regexes = array(
-            'lex_var'             => '/\s*'.preg_quote($this->options['whitespace_trim'].$this->options['tag_variable'][1], '/').'\s*|\s*'.preg_quote($this->options['tag_variable'][1], '/').'/A',
-            'lex_block'           => '/\s*(?:'.preg_quote($this->options['whitespace_trim'].$this->options['tag_block'][1], '/').'\s*|\s*'.preg_quote($this->options['tag_block'][1], '/').')\n?/A',
-            'lex_raw_data'        => '/('.preg_quote($this->options['tag_block'][0].$this->options['whitespace_trim'], '/').'|'.preg_quote($this->options['tag_block'][0], '/').')\s*(?:end%s)\s*(?:'.preg_quote($this->options['whitespace_trim'].$this->options['tag_block'][1], '/').'\s*|\s*'.preg_quote($this->options['tag_block'][1], '/').')/s',
-            'operator'            => $this->getOperatorRegex(),
-            'lex_comment'         => '/(?:'.preg_quote($this->options['whitespace_trim'], '/').preg_quote($this->options['tag_comment'][1], '/').'\s*|'.preg_quote($this->options['tag_comment'][1], '/').')\n?/s',
-            'lex_block_raw'       => '/\s*(raw|verbatim)\s*(?:'.preg_quote($this->options['whitespace_trim'].$this->options['tag_block'][1], '/').'\s*|\s*'.preg_quote($this->options['tag_block'][1], '/').')/As',
-            'lex_block_line'      => '/\s*line\s+(\d+)\s*'.preg_quote($this->options['tag_block'][1], '/').'/As',
-            'lex_tokens_start'    => '/('.preg_quote($this->options['tag_variable'][0], '/').'|'.preg_quote($this->options['tag_block'][0], '/').'|'.preg_quote($this->options['tag_comment'][0], '/').')('.preg_quote($this->options['whitespace_trim'], '/').')?/s',
-            'interpolation_start' => '/'.preg_quote($this->options['interpolation'][0], '/').'\s*/A',
-            'interpolation_end'   => '/\s*'.preg_quote($this->options['interpolation'][1], '/').'/A',
-        );
-    }
-
-    /**
-     * Tokenizes a source code.
-     *
-     * @param string $code     The source code
-     * @param string $filename A unique identifier for the source code
-     *
-     * @return Twig_TokenStream A token stream instance
-     */
-    public function tokenize($code, $filename = null)
-    {
-        if (function_exists('mb_internal_encoding') && ((int) ini_get('mbstring.func_overload')) & 2) {
-            $mbEncoding = mb_internal_encoding();
-            mb_internal_encoding('ASCII');
-        }
-
-        $this->code = str_replace(array("\r\n", "\r"), "\n", $code);
-        $this->filename = $filename;
-        $this->cursor = 0;
-        $this->lineno = 1;
-        $this->end = strlen($this->code);
-        $this->tokens = array();
-        $this->state = self::STATE_DATA;
-        $this->states = array();
-        $this->brackets = array();
-        $this->position = -1;
-
-        // find all token starts in one go
-        preg_match_all($this->regexes['lex_tokens_start'], $this->code, $matches, PREG_OFFSET_CAPTURE);
-        $this->positions = $matches;
-
-        while ($this->cursor < $this->end) {
-            // dispatch to the lexing functions depending
-            // on the current state
-            switch ($this->state) {
-                case self::STATE_DATA:
-                    $this->lexData();
-                    break;
-
-                case self::STATE_BLOCK:
-                    $this->lexBlock();
-                    break;
-
-                case self::STATE_VAR:
-                    $this->lexVar();
-                    break;
-
-                case self::STATE_STRING:
-                    $this->lexString();
-                    break;
-
-                case self::STATE_INTERPOLATION:
-                    $this->lexInterpolation();
-                    break;
-            }
-        }
-
-        $this->pushToken(Twig_Token::EOF_TYPE);
-
-        if (!empty($this->brackets)) {
-            list($expect, $lineno) = array_pop($this->brackets);
-            throw new Twig_Error_Syntax(sprintf('Unclosed "%s"', $expect), $lineno, $this->filename);
-        }
-
-        if (isset($mbEncoding)) {
-            mb_internal_encoding($mbEncoding);
-        }
-
-        return new Twig_TokenStream($this->tokens, $this->filename);
-    }
-
-    protected function lexData()
-    {
-        // if no matches are left we return the rest of the template as simple text token
-        if ($this->position == count($this->positions[0]) - 1) {
-            $this->pushToken(Twig_Token::TEXT_TYPE, substr($this->code, $this->cursor));
-            $this->cursor = $this->end;
-
-            return;
-        }
-
-        // Find the first token after the current cursor
-        $position = $this->positions[0][++$this->position];
-        while ($position[1] < $this->cursor) {
-            if ($this->position == count($this->positions[0]) - 1) {
-                return;
-            }
-            $position = $this->positions[0][++$this->position];
-        }
-
-        // push the template text first
-        $text = $textContent = substr($this->code, $this->cursor, $position[1] - $this->cursor);
-        if (isset($this->positions[2][$this->position][0])) {
-            $text = rtrim($text);
-        }
-        $this->pushToken(Twig_Token::TEXT_TYPE, $text);
-        $this->moveCursor($textContent.$position[0]);
-
-        switch ($this->positions[1][$this->position][0]) {
-            case $this->options['tag_comment'][0]:
-                $this->lexComment();
-                break;
-
-            case $this->options['tag_block'][0]:
-                // raw data?
-                if (preg_match($this->regexes['lex_block_raw'], $this->code, $match, null, $this->cursor)) {
-                    $this->moveCursor($match[0]);
-                    $this->lexRawData($match[1]);
-                // {% line \d+ %}
-                } elseif (preg_match($this->regexes['lex_block_line'], $this->code, $match, null, $this->cursor)) {
-                    $this->moveCursor($match[0]);
-                    $this->lineno = (int) $match[1];
-                } else {
-                    $this->pushToken(Twig_Token::BLOCK_START_TYPE);
-                    $this->pushState(self::STATE_BLOCK);
-                    $this->currentVarBlockLine = $this->lineno;
-                }
-                break;
-
-            case $this->options['tag_variable'][0]:
-                $this->pushToken(Twig_Token::VAR_START_TYPE);
-                $this->pushState(self::STATE_VAR);
-                $this->currentVarBlockLine = $this->lineno;
-                break;
-        }
-    }
-
-    protected function lexBlock()
-    {
-        if (empty($this->brackets) && preg_match($this->regexes['lex_block'], $this->code, $match, null, $this->cursor)) {
-            $this->pushToken(Twig_Token::BLOCK_END_TYPE);
-            $this->moveCursor($match[0]);
-            $this->popState();
-        } else {
-            $this->lexExpression();
-        }
-    }
-
-    protected function lexVar()
-    {
-        if (empty($this->brackets) && preg_match($this->regexes['lex_var'], $this->code, $match, null, $this->cursor)) {
-            $this->pushToken(Twig_Token::VAR_END_TYPE);
-            $this->moveCursor($match[0]);
-            $this->popState();
-        } else {
-            $this->lexExpression();
-        }
-    }
-
-    protected function lexExpression()
-    {
-        // whitespace
-        if (preg_match('/\s+/A', $this->code, $match, null, $this->cursor)) {
-            $this->moveCursor($match[0]);
-
-            if ($this->cursor >= $this->end) {
-                throw new Twig_Error_Syntax(sprintf('Unclosed "%s"', $this->state === self::STATE_BLOCK ? 'block' : 'variable'), $this->currentVarBlockLine, $this->filename);
-            }
-        }
-
-        // operators
-        if (preg_match($this->regexes['operator'], $this->code, $match, null, $this->cursor)) {
-            $this->pushToken(Twig_Token::OPERATOR_TYPE, $match[0]);
-            $this->moveCursor($match[0]);
-        }
-        // names
-        elseif (preg_match(self::REGEX_NAME, $this->code, $match, null, $this->cursor)) {
-            $this->pushToken(Twig_Token::NAME_TYPE, $match[0]);
-            $this->moveCursor($match[0]);
-        }
-        // numbers
-        elseif (preg_match(self::REGEX_NUMBER, $this->code, $match, null, $this->cursor)) {
-            $number = (float) $match[0];  // floats
-            if (ctype_digit($match[0]) && $number <= PHP_INT_MAX) {
-                $number = (int) $match[0]; // integers lower than the maximum
-            }
-            $this->pushToken(Twig_Token::NUMBER_TYPE, $number);
-            $this->moveCursor($match[0]);
-        }
-        // punctuation
-        elseif (false !== strpos(self::PUNCTUATION, $this->code[$this->cursor])) {
-            // opening bracket
-            if (false !== strpos('([{', $this->code[$this->cursor])) {
-                $this->brackets[] = array($this->code[$this->cursor], $this->lineno);
-            }
-            // closing bracket
-            elseif (false !== strpos(')]}', $this->code[$this->cursor])) {
-                if (empty($this->brackets)) {
-                    throw new Twig_Error_Syntax(sprintf('Unexpected "%s"', $this->code[$this->cursor]), $this->lineno, $this->filename);
-                }
-
-                list($expect, $lineno) = array_pop($this->brackets);
-                if ($this->code[$this->cursor] != strtr($expect, '([{', ')]}')) {
-                    throw new Twig_Error_Syntax(sprintf('Unclosed "%s"', $expect), $lineno, $this->filename);
-                }
-            }
-
-            $this->pushToken(Twig_Token::PUNCTUATION_TYPE, $this->code[$this->cursor]);
-            ++$this->cursor;
-        }
-        // strings
-        elseif (preg_match(self::REGEX_STRING, $this->code, $match, null, $this->cursor)) {
-            $this->pushToken(Twig_Token::STRING_TYPE, stripcslashes(substr($match[0], 1, -1)));
-            $this->moveCursor($match[0]);
-        }
-        // opening double quoted string
-        elseif (preg_match(self::REGEX_DQ_STRING_DELIM, $this->code, $match, null, $this->cursor)) {
-            $this->brackets[] = array('"', $this->lineno);
-            $this->pushState(self::STATE_STRING);
-            $this->moveCursor($match[0]);
-        }
-        // unlexable
-        else {
-            throw new Twig_Error_Syntax(sprintf('Unexpected character "%s"', $this->code[$this->cursor]), $this->lineno, $this->filename);
-        }
-    }
-
-    protected function lexRawData($tag)
-    {
-        if (!preg_match(str_replace('%s', $tag, $this->regexes['lex_raw_data']), $this->code, $match, PREG_OFFSET_CAPTURE, $this->cursor)) {
-            throw new Twig_Error_Syntax(sprintf('Unexpected end of file: Unclosed "%s" block', $tag), $this->lineno, $this->filename);
-        }
-
-        $text = substr($this->code, $this->cursor, $match[0][1] - $this->cursor);
-        $this->moveCursor($text.$match[0][0]);
-
-        if (false !== strpos($match[1][0], $this->options['whitespace_trim'])) {
-            $text = rtrim($text);
-        }
-
-        $this->pushToken(Twig_Token::TEXT_TYPE, $text);
-    }
-
-    protected function lexComment()
-    {
-        if (!preg_match($this->regexes['lex_comment'], $this->code, $match, PREG_OFFSET_CAPTURE, $this->cursor)) {
-            throw new Twig_Error_Syntax('Unclosed comment', $this->lineno, $this->filename);
-        }
-
-        $this->moveCursor(substr($this->code, $this->cursor, $match[0][1] - $this->cursor).$match[0][0]);
-    }
-
-    protected function lexString()
-    {
-        if (preg_match($this->regexes['interpolation_start'], $this->code, $match, null, $this->cursor)) {
-            $this->brackets[] = array($this->options['interpolation'][0], $this->lineno);
-            $this->pushToken(Twig_Token::INTERPOLATION_START_TYPE);
-            $this->moveCursor($match[0]);
-            $this->pushState(self::STATE_INTERPOLATION);
-
-        } elseif (preg_match(self::REGEX_DQ_STRING_PART, $this->code, $match, null, $this->cursor) && strlen($match[0]) > 0) {
-            $this->pushToken(Twig_Token::STRING_TYPE, stripcslashes($match[0]));
-            $this->moveCursor($match[0]);
-
-        } elseif (preg_match(self::REGEX_DQ_STRING_DELIM, $this->code, $match, null, $this->cursor)) {
-
-            list($expect, $lineno) = array_pop($this->brackets);
-            if ($this->code[$this->cursor] != '"') {
-                throw new Twig_Error_Syntax(sprintf('Unclosed "%s"', $expect), $lineno, $this->filename);
-            }
-
-            $this->popState();
-            ++$this->cursor;
-        }
-    }
-
-    protected function lexInterpolation()
-    {
-        $bracket = end($this->brackets);
-        if ($this->options['interpolation'][0] === $bracket[0] && preg_match($this->regexes['interpolation_end'], $this->code, $match, null, $this->cursor)) {
-            array_pop($this->brackets);
-            $this->pushToken(Twig_Token::INTERPOLATION_END_TYPE);
-            $this->moveCursor($match[0]);
-            $this->popState();
-        } else {
-            $this->lexExpression();
-        }
-    }
-
-    protected function pushToken($type, $value = '')
-    {
-        // do not push empty text tokens
-        if (Twig_Token::TEXT_TYPE === $type && '' === $value) {
-            return;
-        }
-
-        $this->tokens[] = new Twig_Token($type, $value, $this->lineno);
-    }
-
-    protected function moveCursor($text)
-    {
-        $this->cursor += strlen($text);
-        $this->lineno += substr_count($text, "\n");
-    }
-
-    protected function getOperatorRegex()
-    {
-        $operators = array_merge(
-            array('='),
-            array_keys($this->env->getUnaryOperators()),
-            array_keys($this->env->getBinaryOperators())
-        );
-
-        $operators = array_combine($operators, array_map('strlen', $operators));
-        arsort($operators);
-
-        $regex = array();
-        foreach ($operators as $operator => $length) {
-            // an operator that ends with a character must be followed by
-            // a whitespace or a parenthesis
-            if (ctype_alpha($operator[$length - 1])) {
-                $regex[] = preg_quote($operator, '/').'(?=[\s()])';
-            } else {
-                $regex[] = preg_quote($operator, '/');
-            }
-        }
-
-        return '/'.implode('|', $regex).'/A';
-    }
-
-    protected function pushState($state)
-    {
-        $this->states[] = $this->state;
-        $this->state = $state;
-    }
-
-    protected function popState()
-    {
-        if (0 === count($this->states)) {
-            throw new Exception('Cannot pop state without a previous state');
-        }
-
-        $this->state = array_pop($this->states);
-    }
-}
diff --git a/lib/Twig/LexerInterface.php b/lib/Twig/LexerInterface.php
deleted file mode 100644
index 4b83f81b0f9ba18f31642148de6a4f35e9d1fa60..0000000000000000000000000000000000000000
--- a/lib/Twig/LexerInterface.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface implemented by lexer classes.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-interface Twig_LexerInterface
-{
-    /**
-     * Tokenizes a source code.
-     *
-     * @param string $code     The source code
-     * @param string $filename A unique identifier for the source code
-     *
-     * @return Twig_TokenStream A token stream instance
-     */
-    public function tokenize($code, $filename = null);
-}
diff --git a/lib/Twig/Loader/Array.php b/lib/Twig/Loader/Array.php
deleted file mode 100644
index 89087aeabf73bed3948afc62d4a7d822bee9e30f..0000000000000000000000000000000000000000
--- a/lib/Twig/Loader/Array.php
+++ /dev/null
@@ -1,98 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Loads a template from an array.
- *
- * When using this loader with a cache mechanism, you should know that a new cache
- * key is generated each time a template content "changes" (the cache key being the
- * source code of the template). If you don't want to see your cache grows out of
- * control, you need to take care of clearing the old cache file by yourself.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Loader_Array implements Twig_LoaderInterface, Twig_ExistsLoaderInterface
-{
-    protected $templates;
-
-    /**
-     * Constructor.
-     *
-     * @param array $templates An array of templates (keys are the names, and values are the source code)
-     *
-     * @see Twig_Loader
-     */
-    public function __construct(array $templates)
-    {
-        $this->templates = array();
-        foreach ($templates as $name => $template) {
-            $this->templates[$name] = $template;
-        }
-    }
-
-    /**
-     * Adds or overrides a template.
-     *
-     * @param string $name     The template name
-     * @param string $template The template source
-     */
-    public function setTemplate($name, $template)
-    {
-        $this->templates[(string) $name] = $template;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getSource($name)
-    {
-        $name = (string) $name;
-        if (!isset($this->templates[$name])) {
-            throw new Twig_Error_Loader(sprintf('Template "%s" is not defined.', $name));
-        }
-
-        return $this->templates[$name];
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function exists($name)
-    {
-        return isset($this->templates[(string) $name]);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getCacheKey($name)
-    {
-        $name = (string) $name;
-        if (!isset($this->templates[$name])) {
-            throw new Twig_Error_Loader(sprintf('Template "%s" is not defined.', $name));
-        }
-
-        return $this->templates[$name];
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isFresh($name, $time)
-    {
-        $name = (string) $name;
-        if (!isset($this->templates[$name])) {
-            throw new Twig_Error_Loader(sprintf('Template "%s" is not defined.', $name));
-        }
-
-        return true;
-    }
-}
diff --git a/lib/Twig/Loader/Chain.php b/lib/Twig/Loader/Chain.php
deleted file mode 100644
index cd64b051da7236a862caaeb7f5abb42021547e5a..0000000000000000000000000000000000000000
--- a/lib/Twig/Loader/Chain.php
+++ /dev/null
@@ -1,135 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Loads templates from other loaders.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Loader_Chain implements Twig_LoaderInterface, Twig_ExistsLoaderInterface
-{
-    private $hasSourceCache = array();
-    protected $loaders;
-
-    /**
-     * Constructor.
-     *
-     * @param Twig_LoaderInterface[] $loaders An array of loader instances
-     */
-    public function __construct(array $loaders = array())
-    {
-        $this->loaders = array();
-        foreach ($loaders as $loader) {
-            $this->addLoader($loader);
-        }
-    }
-
-    /**
-     * Adds a loader instance.
-     *
-     * @param Twig_LoaderInterface $loader A Loader instance
-     */
-    public function addLoader(Twig_LoaderInterface $loader)
-    {
-        $this->loaders[] = $loader;
-        $this->hasSourceCache = array();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getSource($name)
-    {
-        $exceptions = array();
-        foreach ($this->loaders as $loader) {
-            if ($loader instanceof Twig_ExistsLoaderInterface && !$loader->exists($name)) {
-                continue;
-            }
-
-            try {
-                return $loader->getSource($name);
-            } catch (Twig_Error_Loader $e) {
-                $exceptions[] = $e->getMessage();
-            }
-        }
-
-        throw new Twig_Error_Loader(sprintf('Template "%s" is not defined (%s).', $name, implode(', ', $exceptions)));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function exists($name)
-    {
-        $name = (string) $name;
-
-        if (isset($this->hasSourceCache[$name])) {
-            return $this->hasSourceCache[$name];
-        }
-
-        foreach ($this->loaders as $loader) {
-            if ($loader instanceof Twig_ExistsLoaderInterface && $loader->exists($name)) {
-                return $this->hasSourceCache[$name] = true;
-            }
-
-            try {
-                $loader->getSource($name);
-
-                return $this->hasSourceCache[$name] = true;
-            } catch (Twig_Error_Loader $e) {
-            }
-        }
-
-        return $this->hasSourceCache[$name] = false;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getCacheKey($name)
-    {
-        $exceptions = array();
-        foreach ($this->loaders as $loader) {
-            if ($loader instanceof Twig_ExistsLoaderInterface && !$loader->exists($name)) {
-                continue;
-            }
-
-            try {
-                return $loader->getCacheKey($name);
-            } catch (Twig_Error_Loader $e) {
-                $exceptions[] = get_class($loader).': '.$e->getMessage();
-            }
-        }
-
-        throw new Twig_Error_Loader(sprintf('Template "%s" is not defined (%s).', $name, implode(' ', $exceptions)));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isFresh($name, $time)
-    {
-        $exceptions = array();
-        foreach ($this->loaders as $loader) {
-            if ($loader instanceof Twig_ExistsLoaderInterface && !$loader->exists($name)) {
-                continue;
-            }
-
-            try {
-                return $loader->isFresh($name, $time);
-            } catch (Twig_Error_Loader $e) {
-                $exceptions[] = get_class($loader).': '.$e->getMessage();
-            }
-        }
-
-        throw new Twig_Error_Loader(sprintf('Template "%s" is not defined (%s).', $name, implode(' ', $exceptions)));
-    }
-}
diff --git a/lib/Twig/Loader/Filesystem.php b/lib/Twig/Loader/Filesystem.php
deleted file mode 100644
index 84a5e03aef590564ac270ca5bbd9d6494d6fd352..0000000000000000000000000000000000000000
--- a/lib/Twig/Loader/Filesystem.php
+++ /dev/null
@@ -1,221 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Loads template from the filesystem.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Loader_Filesystem implements Twig_LoaderInterface, Twig_ExistsLoaderInterface
-{
-    protected $paths;
-    protected $cache;
-
-    /**
-     * Constructor.
-     *
-     * @param string|array $paths A path or an array of paths where to look for templates
-     */
-    public function __construct($paths)
-    {
-        $this->setPaths($paths);
-    }
-
-    /**
-     * Returns the paths to the templates.
-     *
-     * @param string $namespace A path namespace
-     *
-     * @return array The array of paths where to look for templates
-     */
-    public function getPaths($namespace = '__main__')
-    {
-        return isset($this->paths[$namespace]) ? $this->paths[$namespace] : array();
-    }
-
-    /**
-     * Returns the path namespaces.
-     *
-     * The "__main__" namespace is always defined.
-     *
-     * @return array The array of defined namespaces
-     */
-    public function getNamespaces()
-    {
-        return array_keys($this->paths);
-    }
-
-    /**
-     * Sets the paths where templates are stored.
-     *
-     * @param string|array $paths     A path or an array of paths where to look for templates
-     * @param string       $namespace A path namespace
-     */
-    public function setPaths($paths, $namespace = '__main__')
-    {
-        if (!is_array($paths)) {
-            $paths = array($paths);
-        }
-
-        $this->paths[$namespace] = array();
-        foreach ($paths as $path) {
-            $this->addPath($path, $namespace);
-        }
-    }
-
-    /**
-     * Adds a path where templates are stored.
-     *
-     * @param string $path      A path where to look for templates
-     * @param string $namespace A path name
-     *
-     * @throws Twig_Error_Loader
-     */
-    public function addPath($path, $namespace = '__main__')
-    {
-        // invalidate the cache
-        $this->cache = array();
-
-        if (!is_dir($path)) {
-            throw new Twig_Error_Loader(sprintf('The "%s" directory does not exist.', $path));
-        }
-
-        $this->paths[$namespace][] = rtrim($path, '/\\');
-    }
-
-    /**
-     * Prepends a path where templates are stored.
-     *
-     * @param string $path      A path where to look for templates
-     * @param string $namespace A path name
-     *
-     * @throws Twig_Error_Loader
-     */
-    public function prependPath($path, $namespace = '__main__')
-    {
-        // invalidate the cache
-        $this->cache = array();
-
-        if (!is_dir($path)) {
-            throw new Twig_Error_Loader(sprintf('The "%s" directory does not exist.', $path));
-        }
-
-        $path = rtrim($path, '/\\');
-
-        if (!isset($this->paths[$namespace])) {
-            $this->paths[$namespace][] = $path;
-        } else {
-            array_unshift($this->paths[$namespace], $path);
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getSource($name)
-    {
-        return file_get_contents($this->findTemplate($name));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getCacheKey($name)
-    {
-        return $this->findTemplate($name);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function exists($name)
-    {
-        $name = (string) $name;
-        if (isset($this->cache[$name])) {
-            return true;
-        }
-
-        try {
-            $this->findTemplate($name);
-
-            return true;
-        } catch (Twig_Error_Loader $exception) {
-            return false;
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isFresh($name, $time)
-    {
-        return filemtime($this->findTemplate($name)) <= $time;
-    }
-
-    protected function findTemplate($name)
-    {
-        $name = (string) $name;
-
-        // normalize name
-        $name = preg_replace('#/{2,}#', '/', strtr($name, '\\', '/'));
-
-        if (isset($this->cache[$name])) {
-            return $this->cache[$name];
-        }
-
-        $this->validateName($name);
-
-        $namespace = '__main__';
-        if (isset($name[0]) && '@' == $name[0]) {
-            if (false === $pos = strpos($name, '/')) {
-                throw new Twig_Error_Loader(sprintf('Malformed namespaced template name "%s" (expecting "@namespace/template_name").', $name));
-            }
-
-            $namespace = substr($name, 1, $pos - 1);
-
-            $name = substr($name, $pos + 1);
-        }
-
-        if (!isset($this->paths[$namespace])) {
-            throw new Twig_Error_Loader(sprintf('There are no registered paths for namespace "%s".', $namespace));
-        }
-
-        foreach ($this->paths[$namespace] as $path) {
-            if (is_file($path.'/'.$name)) {
-                return $this->cache[$name] = $path.'/'.$name;
-            }
-        }
-
-        throw new Twig_Error_Loader(sprintf('Unable to find template "%s" (looked into: %s).', $name, implode(', ', $this->paths[$namespace])));
-    }
-
-    protected function validateName($name)
-    {
-        if (false !== strpos($name, "\0")) {
-            throw new Twig_Error_Loader('A template name cannot contain NUL bytes.');
-        }
-
-        $name = ltrim($name, '/');
-        $parts = explode('/', $name);
-        $level = 0;
-        foreach ($parts as $part) {
-            if ('..' === $part) {
-                --$level;
-            } elseif ('.' !== $part) {
-                ++$level;
-            }
-
-            if ($level < 0) {
-                throw new Twig_Error_Loader(sprintf('Looks like you try to load a template outside configured directories (%s).', $name));
-            }
-        }
-    }
-}
diff --git a/lib/Twig/Loader/String.php b/lib/Twig/Loader/String.php
deleted file mode 100644
index 8ad9856cc08a1b0a7cfcc912df5a2966c58802e7..0000000000000000000000000000000000000000
--- a/lib/Twig/Loader/String.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Loads a template from a string.
- *
- * This loader should only be used for unit testing as it has many limitations
- * (for instance, the include or extends tag does not make any sense for a string
- * loader).
- *
- * When using this loader with a cache mechanism, you should know that a new cache
- * key is generated each time a template content "changes" (the cache key being the
- * source code of the template). If you don't want to see your cache grows out of
- * control, you need to take care of clearing the old cache file by yourself.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Loader_String implements Twig_LoaderInterface, Twig_ExistsLoaderInterface
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function getSource($name)
-    {
-        return $name;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function exists($name)
-    {
-        return true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getCacheKey($name)
-    {
-        return $name;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isFresh($name, $time)
-    {
-        return true;
-    }
-}
diff --git a/lib/Twig/LoaderInterface.php b/lib/Twig/LoaderInterface.php
deleted file mode 100644
index 927786d1af48e25772e139122e4120269a269543..0000000000000000000000000000000000000000
--- a/lib/Twig/LoaderInterface.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface all loaders must implement.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-interface Twig_LoaderInterface
-{
-    /**
-     * Gets the source code of a template, given its name.
-     *
-     * @param string $name The name of the template to load
-     *
-     * @return string The template source code
-     *
-     * @throws Twig_Error_Loader When $name is not found
-     */
-    public function getSource($name);
-
-    /**
-     * Gets the cache key to use for the cache for a given template name.
-     *
-     * @param string $name The name of the template to load
-     *
-     * @return string The cache key
-     *
-     * @throws Twig_Error_Loader When $name is not found
-     */
-    public function getCacheKey($name);
-
-    /**
-     * Returns true if the template is still fresh.
-     *
-     * @param string    $name The template name
-     * @param timestamp $time The last modification time of the cached template
-     *
-     * @return Boolean true if the template is fresh, false otherwise
-     *
-     * @throws Twig_Error_Loader When $name is not found
-     */
-    public function isFresh($name, $time);
-}
diff --git a/lib/Twig/Markup.php b/lib/Twig/Markup.php
deleted file mode 100644
index 69871fcbd047599eee101cf5c5be002e75a51cd1..0000000000000000000000000000000000000000
--- a/lib/Twig/Markup.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Marks a content as safe.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Markup implements Countable
-{
-    protected $content;
-    protected $charset;
-
-    public function __construct($content, $charset)
-    {
-        $this->content = (string) $content;
-        $this->charset = $charset;
-    }
-
-    public function __toString()
-    {
-        return $this->content;
-    }
-
-    public function count()
-    {
-        return function_exists('mb_get_info') ? mb_strlen($this->content, $this->charset) : strlen($this->content);
-    }
-}
diff --git a/lib/Twig/Node.php b/lib/Twig/Node.php
deleted file mode 100644
index 931b4635a940601a15c3233cee2b81cca6f60285..0000000000000000000000000000000000000000
--- a/lib/Twig/Node.php
+++ /dev/null
@@ -1,226 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a node in the AST.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node implements Twig_NodeInterface
-{
-    protected $nodes;
-    protected $attributes;
-    protected $lineno;
-    protected $tag;
-
-    /**
-     * Constructor.
-     *
-     * The nodes are automatically made available as properties ($this->node).
-     * The attributes are automatically made available as array items ($this['name']).
-     *
-     * @param array   $nodes      An array of named nodes
-     * @param array   $attributes An array of attributes (should not be nodes)
-     * @param integer $lineno     The line number
-     * @param string  $tag        The tag name associated with the Node
-     */
-    public function __construct(array $nodes = array(), array $attributes = array(), $lineno = 0, $tag = null)
-    {
-        $this->nodes = $nodes;
-        $this->attributes = $attributes;
-        $this->lineno = $lineno;
-        $this->tag = $tag;
-    }
-
-    public function __toString()
-    {
-        $attributes = array();
-        foreach ($this->attributes as $name => $value) {
-            $attributes[] = sprintf('%s: %s', $name, str_replace("\n", '', var_export($value, true)));
-        }
-
-        $repr = array(get_class($this).'('.implode(', ', $attributes));
-
-        if (count($this->nodes)) {
-            foreach ($this->nodes as $name => $node) {
-                $len = strlen($name) + 4;
-                $noderepr = array();
-                foreach (explode("\n", (string) $node) as $line) {
-                    $noderepr[] = str_repeat(' ', $len).$line;
-                }
-
-                $repr[] = sprintf('  %s: %s', $name, ltrim(implode("\n", $noderepr)));
-            }
-
-            $repr[] = ')';
-        } else {
-            $repr[0] .= ')';
-        }
-
-        return implode("\n", $repr);
-    }
-
-    public function toXml($asDom = false)
-    {
-        $dom = new DOMDocument('1.0', 'UTF-8');
-        $dom->formatOutput = true;
-        $dom->appendChild($xml = $dom->createElement('twig'));
-
-        $xml->appendChild($node = $dom->createElement('node'));
-        $node->setAttribute('class', get_class($this));
-
-        foreach ($this->attributes as $name => $value) {
-            $node->appendChild($attribute = $dom->createElement('attribute'));
-            $attribute->setAttribute('name', $name);
-            $attribute->appendChild($dom->createTextNode($value));
-        }
-
-        foreach ($this->nodes as $name => $n) {
-            if (null === $n) {
-                continue;
-            }
-
-            $child = $n->toXml(true)->getElementsByTagName('node')->item(0);
-            $child = $dom->importNode($child, true);
-            $child->setAttribute('name', $name);
-
-            $node->appendChild($child);
-        }
-
-        return $asDom ? $dom : $dom->saveXml();
-    }
-
-    public function compile(Twig_Compiler $compiler)
-    {
-        foreach ($this->nodes as $node) {
-            $node->compile($compiler);
-        }
-    }
-
-    public function getLine()
-    {
-        return $this->lineno;
-    }
-
-    public function getNodeTag()
-    {
-        return $this->tag;
-    }
-
-    /**
-     * Returns true if the attribute is defined.
-     *
-     * @param  string  The attribute name
-     *
-     * @return Boolean true if the attribute is defined, false otherwise
-     */
-    public function hasAttribute($name)
-    {
-        return array_key_exists($name, $this->attributes);
-    }
-
-    /**
-     * Gets an attribute.
-     *
-     * @param  string The attribute name
-     *
-     * @return mixed The attribute value
-     */
-    public function getAttribute($name)
-    {
-        if (!array_key_exists($name, $this->attributes)) {
-            throw new LogicException(sprintf('Attribute "%s" does not exist for Node "%s".', $name, get_class($this)));
-        }
-
-        return $this->attributes[$name];
-    }
-
-    /**
-     * Sets an attribute.
-     *
-     * @param string The attribute name
-     * @param mixed  The attribute value
-     */
-    public function setAttribute($name, $value)
-    {
-        $this->attributes[$name] = $value;
-    }
-
-    /**
-     * Removes an attribute.
-     *
-     * @param string The attribute name
-     */
-    public function removeAttribute($name)
-    {
-        unset($this->attributes[$name]);
-    }
-
-    /**
-     * Returns true if the node with the given identifier exists.
-     *
-     * @param  string  The node name
-     *
-     * @return Boolean true if the node with the given name exists, false otherwise
-     */
-    public function hasNode($name)
-    {
-        return array_key_exists($name, $this->nodes);
-    }
-
-    /**
-     * Gets a node by name.
-     *
-     * @param  string The node name
-     *
-     * @return Twig_Node A Twig_Node instance
-     */
-    public function getNode($name)
-    {
-        if (!array_key_exists($name, $this->nodes)) {
-            throw new LogicException(sprintf('Node "%s" does not exist for Node "%s".', $name, get_class($this)));
-        }
-
-        return $this->nodes[$name];
-    }
-
-    /**
-     * Sets a node.
-     *
-     * @param string    The node name
-     * @param Twig_Node A Twig_Node instance
-     */
-    public function setNode($name, $node = null)
-    {
-        $this->nodes[$name] = $node;
-    }
-
-    /**
-     * Removes a node by name.
-     *
-     * @param string The node name
-     */
-    public function removeNode($name)
-    {
-        unset($this->nodes[$name]);
-    }
-
-    public function count()
-    {
-        return count($this->nodes);
-    }
-
-    public function getIterator()
-    {
-        return new ArrayIterator($this->nodes);
-    }
-}
diff --git a/lib/Twig/Node/AutoEscape.php b/lib/Twig/Node/AutoEscape.php
deleted file mode 100644
index 8f190e0bd85ff97935f06b4373461e27a1e163f4..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/AutoEscape.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents an autoescape node.
- *
- * The value is the escaping strategy (can be html, js, ...)
- *
- * The true value is equivalent to html.
- *
- * If autoescaping is disabled, then the value is false.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_AutoEscape extends Twig_Node
-{
-    public function __construct($value, Twig_NodeInterface $body, $lineno, $tag = 'autoescape')
-    {
-        parent::__construct(array('body' => $body), array('value' => $value), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler->subcompile($this->getNode('body'));
-    }
-}
diff --git a/lib/Twig/Node/Block.php b/lib/Twig/Node/Block.php
deleted file mode 100644
index 50eb67ed8c5af342a4ee50f3af986b4811ea5884..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Block.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a block node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Block extends Twig_Node
-{
-    public function __construct($name, Twig_NodeInterface $body, $lineno, $tag = null)
-    {
-        parent::__construct(array('body' => $body), array('name' => $name), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->addDebugInfo($this)
-            ->write(sprintf("public function block_%s(\$context, array \$blocks = array())\n", $this->getAttribute('name')), "{\n")
-            ->indent()
-        ;
-
-        $compiler
-            ->subcompile($this->getNode('body'))
-            ->outdent()
-            ->write("}\n\n")
-        ;
-    }
-}
diff --git a/lib/Twig/Node/BlockReference.php b/lib/Twig/Node/BlockReference.php
deleted file mode 100644
index 013e369ebe8cb62c2942557621b52a52001a49e2..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/BlockReference.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a block call node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_BlockReference extends Twig_Node implements Twig_NodeOutputInterface
-{
-    public function __construct($name, $lineno, $tag = null)
-    {
-        parent::__construct(array(), array('name' => $name), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->addDebugInfo($this)
-            ->write(sprintf("\$this->displayBlock('%s', \$context, \$blocks);\n", $this->getAttribute('name')))
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Body.php b/lib/Twig/Node/Body.php
deleted file mode 100644
index 3ffb1342b745cbc61e36b657e7b84d92cbafb3c1..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Body.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a body node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Body extends Twig_Node
-{
-}
diff --git a/lib/Twig/Node/Do.php b/lib/Twig/Node/Do.php
deleted file mode 100644
index c528066b29f6a213f29f260b6397146003e7b384..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Do.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a do node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Do extends Twig_Node
-{
-    public function __construct(Twig_Node_Expression $expr, $lineno, $tag = null)
-    {
-        parent::__construct(array('expr' => $expr), array(), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->addDebugInfo($this)
-            ->write('')
-            ->subcompile($this->getNode('expr'))
-            ->raw(";\n")
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Embed.php b/lib/Twig/Node/Embed.php
deleted file mode 100644
index 4c9456dc0594d73668e59075c3332231cafa36a1..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Embed.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2012 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents an embed node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Embed extends Twig_Node_Include
-{
-    // we don't inject the module to avoid node visitors to traverse it twice (as it will be already visited in the main module)
-    public function __construct($filename, $index, Twig_Node_Expression $variables = null, $only = false, $ignoreMissing = false, $lineno, $tag = null)
-    {
-        parent::__construct(new Twig_Node_Expression_Constant('not_used', $lineno), $variables, $only, $ignoreMissing, $lineno, $tag);
-
-        $this->setAttribute('filename', $filename);
-        $this->setAttribute('index', $index);
-    }
-
-    protected function addGetTemplate(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->write("\$this->env->loadTemplate(")
-            ->string($this->getAttribute('filename'))
-            ->raw(', ')
-            ->string($this->getAttribute('index'))
-            ->raw(")")
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Expression.php b/lib/Twig/Node/Expression.php
deleted file mode 100644
index a7382e7d6ecaff29662fd49a7fe28c7d35d5b978..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Abstract class for all nodes that represents an expression.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-abstract class Twig_Node_Expression extends Twig_Node
-{
-}
diff --git a/lib/Twig/Node/Expression/Array.php b/lib/Twig/Node/Expression/Array.php
deleted file mode 100644
index 1da785fe427c42a0db7e6e893967a09838091752..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Array.php
+++ /dev/null
@@ -1,86 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Array extends Twig_Node_Expression
-{
-    protected $index;
-
-    public function __construct(array $elements, $lineno)
-    {
-        parent::__construct($elements, array(), $lineno);
-
-        $this->index = -1;
-        foreach ($this->getKeyValuePairs() as $pair) {
-            if ($pair['key'] instanceof Twig_Node_Expression_Constant && ctype_digit((string) $pair['key']->getAttribute('value')) && $pair['key']->getAttribute('value') > $this->index) {
-                $this->index = $pair['key']->getAttribute('value');
-            }
-        }
-    }
-
-    public function getKeyValuePairs()
-    {
-        $pairs = array();
-
-        foreach (array_chunk($this->nodes, 2) as $pair) {
-            $pairs[] = array(
-                'key' => $pair[0],
-                'value' => $pair[1],
-            );
-        }
-
-        return $pairs;
-    }
-
-    public function hasElement(Twig_Node_Expression $key)
-    {
-        foreach ($this->getKeyValuePairs() as $pair) {
-            // we compare the string representation of the keys
-            // to avoid comparing the line numbers which are not relevant here.
-            if ((string) $key == (string) $pair['key']) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    public function addElement(Twig_Node_Expression $value, Twig_Node_Expression $key = null)
-    {
-        if (null === $key) {
-            $key = new Twig_Node_Expression_Constant(++$this->index, $value->getLine());
-        }
-
-        array_push($this->nodes, $key, $value);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler->raw('array(');
-        $first = true;
-        foreach ($this->getKeyValuePairs() as $pair) {
-            if (!$first) {
-                $compiler->raw(', ');
-            }
-            $first = false;
-
-            $compiler
-                ->subcompile($pair['key'])
-                ->raw(' => ')
-                ->subcompile($pair['value'])
-            ;
-        }
-        $compiler->raw(')');
-    }
-}
diff --git a/lib/Twig/Node/Expression/AssignName.php b/lib/Twig/Node/Expression/AssignName.php
deleted file mode 100644
index 2ddea78cf05ae7e6e5e004ab03a406df93bbd9bc..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/AssignName.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-class Twig_Node_Expression_AssignName extends Twig_Node_Expression_Name
-{
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->raw('$context[')
-            ->string($this->getAttribute('name'))
-            ->raw(']')
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary.php b/lib/Twig/Node/Expression/Binary.php
deleted file mode 100644
index 9dd5de2c83aba23a9bddcaab6402613c804373fa..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Binary.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-abstract class Twig_Node_Expression_Binary extends Twig_Node_Expression
-{
-    public function __construct(Twig_NodeInterface $left, Twig_NodeInterface $right, $lineno)
-    {
-        parent::__construct(array('left' => $left, 'right' => $right), array(), $lineno);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->raw('(')
-            ->subcompile($this->getNode('left'))
-            ->raw(' ')
-        ;
-        $this->operator($compiler);
-        $compiler
-            ->raw(' ')
-            ->subcompile($this->getNode('right'))
-            ->raw(')')
-        ;
-    }
-
-    abstract public function operator(Twig_Compiler $compiler);
-}
diff --git a/lib/Twig/Node/Expression/Binary/Add.php b/lib/Twig/Node/Expression/Binary/Add.php
deleted file mode 100644
index 0ef8e11723c8e32f46903ecaea2d1515c0775301..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Binary/Add.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_Add extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('+');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/And.php b/lib/Twig/Node/Expression/Binary/And.php
deleted file mode 100644
index d5752ebba0ec03460f7009c5fbc37344f3a16c95..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Binary/And.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_And extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('&&');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/BitwiseAnd.php b/lib/Twig/Node/Expression/Binary/BitwiseAnd.php
deleted file mode 100644
index 9a46d845550224a762621af4faee21a5c3fb9fc1..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Binary/BitwiseAnd.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_BitwiseAnd extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('&');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/BitwiseOr.php b/lib/Twig/Node/Expression/Binary/BitwiseOr.php
deleted file mode 100644
index 058a20bf6371bfd4249ba237239a2bdc5bfeb8fc..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Binary/BitwiseOr.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_BitwiseOr extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('|');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/BitwiseXor.php b/lib/Twig/Node/Expression/Binary/BitwiseXor.php
deleted file mode 100644
index f4da73d4451ed4862906d9701cc4a129eb4652bf..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Binary/BitwiseXor.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_BitwiseXor extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('^');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/Concat.php b/lib/Twig/Node/Expression/Binary/Concat.php
deleted file mode 100644
index f9a6462701c2d086a8a5eea6f641187fcd09e3f4..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Binary/Concat.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_Concat extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('.');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/Div.php b/lib/Twig/Node/Expression/Binary/Div.php
deleted file mode 100644
index e0797a612547a3a8cb8b4042b77d0ebea4f792e2..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Binary/Div.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_Div extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('/');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/Equal.php b/lib/Twig/Node/Expression/Binary/Equal.php
deleted file mode 100644
index 7b1236d0ad9ac68b526d29435685f404a00f67d0..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Binary/Equal.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_Equal extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('==');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/FloorDiv.php b/lib/Twig/Node/Expression/Binary/FloorDiv.php
deleted file mode 100644
index 7fbd0556fcaa19927fc75c00af4db4275d3eb1f8..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Binary/FloorDiv.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_FloorDiv extends Twig_Node_Expression_Binary
-{
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler->raw('intval(floor(');
-        parent::compile($compiler);
-        $compiler->raw('))');
-    }
-
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('/');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/Greater.php b/lib/Twig/Node/Expression/Binary/Greater.php
deleted file mode 100644
index a110bd92dcf357527adbd98285a9a19acb9927a8..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Binary/Greater.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_Greater extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('>');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/GreaterEqual.php b/lib/Twig/Node/Expression/Binary/GreaterEqual.php
deleted file mode 100644
index 3754fed216bae65763436d07b86b0a5090cf1b67..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Binary/GreaterEqual.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_GreaterEqual extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('>=');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/In.php b/lib/Twig/Node/Expression/Binary/In.php
deleted file mode 100644
index 788f9377aea3ae3d52b22b2071c39732228ef74f..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Binary/In.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_In extends Twig_Node_Expression_Binary
-{
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->raw('twig_in_filter(')
-            ->subcompile($this->getNode('left'))
-            ->raw(', ')
-            ->subcompile($this->getNode('right'))
-            ->raw(')')
-        ;
-    }
-
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('in');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/Less.php b/lib/Twig/Node/Expression/Binary/Less.php
deleted file mode 100644
index 45fd300496079c866eb26d1e57018b402fa07064..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Binary/Less.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_Less extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('<');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/LessEqual.php b/lib/Twig/Node/Expression/Binary/LessEqual.php
deleted file mode 100644
index e38e257c354c16017e12413e5e44aa40af28513f..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Binary/LessEqual.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_LessEqual extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('<=');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/Mod.php b/lib/Twig/Node/Expression/Binary/Mod.php
deleted file mode 100644
index 9924114fbd38407bd76f2a8dfd60d6ce5894866a..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Binary/Mod.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_Mod extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('%');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/Mul.php b/lib/Twig/Node/Expression/Binary/Mul.php
deleted file mode 100644
index c91529ca669a2647fa37b63444c33ccffcc82ed5..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Binary/Mul.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_Mul extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('*');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/NotEqual.php b/lib/Twig/Node/Expression/Binary/NotEqual.php
deleted file mode 100644
index 26867ba207c5a49f0647c6615a124b62a0101ade..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Binary/NotEqual.php
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_NotEqual extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('!=');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/NotIn.php b/lib/Twig/Node/Expression/Binary/NotIn.php
deleted file mode 100644
index f347b7b6e82ebe7ea0726cc187b608ee3eb147eb..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Binary/NotIn.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_NotIn extends Twig_Node_Expression_Binary
-{
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->raw('!twig_in_filter(')
-            ->subcompile($this->getNode('left'))
-            ->raw(', ')
-            ->subcompile($this->getNode('right'))
-            ->raw(')')
-        ;
-    }
-
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('not in');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/Or.php b/lib/Twig/Node/Expression/Binary/Or.php
deleted file mode 100644
index adba49c6f4f0cee69372a4fe46b6cd33882b654a..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Binary/Or.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_Or extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('||');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/Power.php b/lib/Twig/Node/Expression/Binary/Power.php
deleted file mode 100644
index b2c590405001cf3e22643de27c5cb39f39c415ae..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Binary/Power.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_Power extends Twig_Node_Expression_Binary
-{
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->raw('pow(')
-            ->subcompile($this->getNode('left'))
-            ->raw(', ')
-            ->subcompile($this->getNode('right'))
-            ->raw(')')
-        ;
-    }
-
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('**');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/Range.php b/lib/Twig/Node/Expression/Binary/Range.php
deleted file mode 100644
index bea4f2a60706c7b685538820636a36434c6ab148..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Binary/Range.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_Range extends Twig_Node_Expression_Binary
-{
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->raw('range(')
-            ->subcompile($this->getNode('left'))
-            ->raw(', ')
-            ->subcompile($this->getNode('right'))
-            ->raw(')')
-        ;
-    }
-
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('..');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Binary/Sub.php b/lib/Twig/Node/Expression/Binary/Sub.php
deleted file mode 100644
index d446399157272a2cc518203b1518afdb7c1d250f..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Binary/Sub.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Binary_Sub extends Twig_Node_Expression_Binary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        return $compiler->raw('-');
-    }
-}
diff --git a/lib/Twig/Node/Expression/BlockReference.php b/lib/Twig/Node/Expression/BlockReference.php
deleted file mode 100644
index 647196eb5b8cd886385517fe1545e79b1c9bc791..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/BlockReference.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a block call node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Expression_BlockReference extends Twig_Node_Expression
-{
-    public function __construct(Twig_NodeInterface $name, $asString = false, $lineno, $tag = null)
-    {
-        parent::__construct(array('name' => $name), array('as_string' => $asString, 'output' => false), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        if ($this->getAttribute('as_string')) {
-            $compiler->raw('(string) ');
-        }
-
-        if ($this->getAttribute('output')) {
-            $compiler
-                ->addDebugInfo($this)
-                ->write("\$this->displayBlock(")
-                ->subcompile($this->getNode('name'))
-                ->raw(", \$context, \$blocks);\n")
-            ;
-        } else {
-            $compiler
-                ->raw("\$this->renderBlock(")
-                ->subcompile($this->getNode('name'))
-                ->raw(", \$context, \$blocks)")
-            ;
-        }
-    }
-}
diff --git a/lib/Twig/Node/Expression/Call.php b/lib/Twig/Node/Expression/Call.php
deleted file mode 100644
index 87b62deb09e69482e6f10aab42a087ec957c3311..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Call.php
+++ /dev/null
@@ -1,178 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2012 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-abstract class Twig_Node_Expression_Call extends Twig_Node_Expression
-{
-    protected function compileCallable(Twig_Compiler $compiler)
-    {
-        $callable = $this->getAttribute('callable');
-
-        $closingParenthesis = false;
-        if ($callable) {
-            if (is_string($callable)) {
-                $compiler->raw($callable);
-            } elseif (is_array($callable) && $callable[0] instanceof Twig_ExtensionInterface) {
-                $compiler->raw(sprintf('$this->env->getExtension(\'%s\')->%s', $callable[0]->getName(), $callable[1]));
-            } else {
-                $type = ucfirst($this->getAttribute('type'));
-                $compiler->raw(sprintf('call_user_func_array($this->env->get%s(\'%s\')->getCallable(), array', $type, $this->getAttribute('name')));
-                $closingParenthesis = true;
-            }
-        } else {
-            $compiler->raw($this->getAttribute('thing')->compile());
-        }
-
-        $this->compileArguments($compiler);
-
-        if ($closingParenthesis) {
-            $compiler->raw(')');
-        }
-    }
-
-    protected function compileArguments(Twig_Compiler $compiler)
-    {
-        $compiler->raw('(');
-
-        $first = true;
-
-        if ($this->hasAttribute('needs_environment') && $this->getAttribute('needs_environment')) {
-            $compiler->raw('$this->env');
-            $first = false;
-        }
-
-        if ($this->hasAttribute('needs_context') && $this->getAttribute('needs_context')) {
-            if (!$first) {
-                $compiler->raw(', ');
-            }
-            $compiler->raw('$context');
-            $first = false;
-        }
-
-        if ($this->hasAttribute('arguments')) {
-            foreach ($this->getAttribute('arguments') as $argument) {
-                if (!$first) {
-                    $compiler->raw(', ');
-                }
-                $compiler->string($argument);
-                $first = false;
-            }
-        }
-
-        if ($this->hasNode('node')) {
-            if (!$first) {
-                $compiler->raw(', ');
-            }
-            $compiler->subcompile($this->getNode('node'));
-            $first = false;
-        }
-
-        if ($this->hasNode('arguments') && null !== $this->getNode('arguments')) {
-            $callable = $this->hasAttribute('callable') ? $this->getAttribute('callable') : null;
-
-            $arguments = $this->getArguments($callable, $this->getNode('arguments'));
-
-            foreach ($arguments as $node) {
-                if (!$first) {
-                    $compiler->raw(', ');
-                }
-                $compiler->subcompile($node);
-                $first = false;
-            }
-        }
-
-        $compiler->raw(')');
-    }
-
-    protected function getArguments($callable, $arguments)
-    {
-        $parameters = array();
-        $named = false;
-        foreach ($arguments as $name => $node) {
-            if (!is_int($name)) {
-                $named = true;
-                $name = $this->normalizeName($name);
-            } elseif ($named) {
-                throw new Twig_Error_Syntax(sprintf('Positional arguments cannot be used after named arguments for %s "%s".', $this->getAttribute('type'), $this->getAttribute('name')));
-            }
-
-            $parameters[$name] = $node;
-        }
-
-        if (!$named) {
-            return $parameters;
-        }
-
-        if (!$callable) {
-            throw new LogicException(sprintf('Named arguments are not supported for %s "%s".', $this->getAttribute('type'), $this->getAttribute('name')));
-        }
-
-        // manage named arguments
-        if (is_array($callable)) {
-            $r = new ReflectionMethod($callable[0], $callable[1]);
-        } elseif (is_object($callable) && !$callable instanceof Closure) {
-            $r = new ReflectionObject($callable);
-            $r = $r->getMethod('__invoke');
-        } else {
-            $r = new ReflectionFunction($callable);
-        }
-
-        $definition = $r->getParameters();
-        if ($this->hasNode('node')) {
-            array_shift($definition);
-        }
-        if ($this->hasAttribute('needs_environment') && $this->getAttribute('needs_environment')) {
-            array_shift($definition);
-        }
-        if ($this->hasAttribute('needs_context') && $this->getAttribute('needs_context')) {
-            array_shift($definition);
-        }
-        if ($this->hasAttribute('arguments') && null !== $this->getAttribute('arguments')) {
-            foreach ($this->getAttribute('arguments') as $argument) {
-                array_shift($definition);
-            }
-        }
-
-        $arguments = array();
-        $pos = 0;
-        foreach ($definition as $param) {
-            $name = $this->normalizeName($param->name);
-
-            if (array_key_exists($name, $parameters)) {
-                if (array_key_exists($pos, $parameters)) {
-                    throw new Twig_Error_Syntax(sprintf('Arguments "%s" is defined twice for %s "%s".', $name, $this->getAttribute('type'), $this->getAttribute('name')));
-                }
-
-                $arguments[] = $parameters[$name];
-                unset($parameters[$name]);
-            } elseif (array_key_exists($pos, $parameters)) {
-                $arguments[] = $parameters[$pos];
-                unset($parameters[$pos]);
-                ++$pos;
-            } elseif ($param->isDefaultValueAvailable()) {
-                $arguments[] = new Twig_Node_Expression_Constant($param->getDefaultValue(), -1);
-            } elseif ($param->isOptional()) {
-                break;
-            } else {
-                throw new Twig_Error_Syntax(sprintf('Value for argument "%s" is required for %s "%s".', $name, $this->getAttribute('type'), $this->getAttribute('name')));
-            }
-        }
-
-        foreach (array_keys($parameters) as $name) {
-            throw new Twig_Error_Syntax(sprintf('Unknown argument "%s" for %s "%s".', $name, $this->getAttribute('type'), $this->getAttribute('name')));
-        }
-
-        return $arguments;
-    }
-
-    protected function normalizeName($name)
-    {
-        return strtolower(preg_replace(array('/([A-Z]+)([A-Z][a-z])/', '/([a-z\d])([A-Z])/'), array('\\1_\\2', '\\1_\\2'), $name));
-    }
-}
diff --git a/lib/Twig/Node/Expression/Conditional.php b/lib/Twig/Node/Expression/Conditional.php
deleted file mode 100644
index edcb1e2d21b343cb36a59fab923a44d97f11112e..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Conditional.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Conditional extends Twig_Node_Expression
-{
-    public function __construct(Twig_Node_Expression $expr1, Twig_Node_Expression $expr2, Twig_Node_Expression $expr3, $lineno)
-    {
-        parent::__construct(array('expr1' => $expr1, 'expr2' => $expr2, 'expr3' => $expr3), array(), $lineno);
-    }
-
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->raw('((')
-            ->subcompile($this->getNode('expr1'))
-            ->raw(') ? (')
-            ->subcompile($this->getNode('expr2'))
-            ->raw(') : (')
-            ->subcompile($this->getNode('expr3'))
-            ->raw('))')
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Expression/Constant.php b/lib/Twig/Node/Expression/Constant.php
deleted file mode 100644
index a91dc6985ce8c38ffea11369aad39af39eaf1f15..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Constant.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Constant extends Twig_Node_Expression
-{
-    public function __construct($value, $lineno)
-    {
-        parent::__construct(array(), array('value' => $value), $lineno);
-    }
-
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler->repr($this->getAttribute('value'));
-    }
-}
diff --git a/lib/Twig/Node/Expression/ExtensionReference.php b/lib/Twig/Node/Expression/ExtensionReference.php
deleted file mode 100644
index 00ac6701f419a1ea189d9e589d258cf10985dfd8..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/ExtensionReference.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents an extension call node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Expression_ExtensionReference extends Twig_Node_Expression
-{
-    public function __construct($name, $lineno, $tag = null)
-    {
-        parent::__construct(array(), array('name' => $name), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler->raw(sprintf("\$this->env->getExtension('%s')", $this->getAttribute('name')));
-    }
-}
diff --git a/lib/Twig/Node/Expression/Filter.php b/lib/Twig/Node/Expression/Filter.php
deleted file mode 100644
index 207b062a3aff362ab72cf7ddbf80f8dc37606dc5..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Filter.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Filter extends Twig_Node_Expression_Call
-{
-    public function __construct(Twig_NodeInterface $node, Twig_Node_Expression_Constant $filterName, Twig_NodeInterface $arguments, $lineno, $tag = null)
-    {
-        parent::__construct(array('node' => $node, 'filter' => $filterName, 'arguments' => $arguments), array(), $lineno, $tag);
-    }
-
-    public function compile(Twig_Compiler $compiler)
-    {
-        $name = $this->getNode('filter')->getAttribute('value');
-        $filter = $compiler->getEnvironment()->getFilter($name);
-
-        $this->setAttribute('name', $name);
-        $this->setAttribute('type', 'filter');
-        $this->setAttribute('thing', $filter);
-        $this->setAttribute('needs_environment', $filter->needsEnvironment());
-        $this->setAttribute('needs_context', $filter->needsContext());
-        $this->setAttribute('arguments', $filter->getArguments());
-        if ($filter instanceof Twig_FilterCallableInterface || $filter instanceof Twig_SimpleFilter) {
-            $this->setAttribute('callable', $filter->getCallable());
-        }
-
-        $this->compileCallable($compiler);
-    }
-}
diff --git a/lib/Twig/Node/Expression/Filter/Default.php b/lib/Twig/Node/Expression/Filter/Default.php
deleted file mode 100644
index 1827c888643f3a99107ddb84e6eedc18dec8bb07..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Filter/Default.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Returns the value or the default value when it is undefined or empty.
- *
- * <pre>
- *  {{ var.foo|default('foo item on var is not defined') }}
- * </pre>
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Expression_Filter_Default extends Twig_Node_Expression_Filter
-{
-    public function __construct(Twig_NodeInterface $node, Twig_Node_Expression_Constant $filterName, Twig_NodeInterface $arguments, $lineno, $tag = null)
-    {
-        $default = new Twig_Node_Expression_Filter($node, new Twig_Node_Expression_Constant('default', $node->getLine()), $arguments, $node->getLine());
-
-        if ('default' === $filterName->getAttribute('value') && ($node instanceof Twig_Node_Expression_Name || $node instanceof Twig_Node_Expression_GetAttr)) {
-            $test = new Twig_Node_Expression_Test_Defined(clone $node, 'defined', new Twig_Node(), $node->getLine());
-            $false = count($arguments) ? $arguments->getNode(0) : new Twig_Node_Expression_Constant('', $node->getLine());
-
-            $node = new Twig_Node_Expression_Conditional($test, $default, $false, $node->getLine());
-        } else {
-            $node = $default;
-        }
-
-        parent::__construct($node, $filterName, $arguments, $lineno, $tag);
-    }
-
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler->subcompile($this->getNode('node'));
-    }
-}
diff --git a/lib/Twig/Node/Expression/Function.php b/lib/Twig/Node/Expression/Function.php
deleted file mode 100644
index 3e1f6b559099cfea9a179b2baacfe3c7f95a3af0..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Function.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Function extends Twig_Node_Expression_Call
-{
-    public function __construct($name, Twig_NodeInterface $arguments, $lineno)
-    {
-        parent::__construct(array('arguments' => $arguments), array('name' => $name), $lineno);
-    }
-
-    public function compile(Twig_Compiler $compiler)
-    {
-        $name = $this->getAttribute('name');
-        $function = $compiler->getEnvironment()->getFunction($name);
-
-        $this->setAttribute('name', $name);
-        $this->setAttribute('type', 'function');
-        $this->setAttribute('thing', $function);
-        $this->setAttribute('needs_environment', $function->needsEnvironment());
-        $this->setAttribute('needs_context', $function->needsContext());
-        $this->setAttribute('arguments', $function->getArguments());
-        if ($function instanceof Twig_FunctionCallableInterface || $function instanceof Twig_SimpleFunction) {
-            $this->setAttribute('callable', $function->getCallable());
-        }
-
-        $this->compileCallable($compiler);
-    }
-}
diff --git a/lib/Twig/Node/Expression/GetAttr.php b/lib/Twig/Node/Expression/GetAttr.php
deleted file mode 100644
index 81a9b137abd149986547615f9413b4744c2f39e7..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/GetAttr.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_GetAttr extends Twig_Node_Expression
-{
-    public function __construct(Twig_Node_Expression $node, Twig_Node_Expression $attribute, Twig_Node_Expression_Array $arguments, $type, $lineno)
-    {
-        parent::__construct(array('node' => $node, 'attribute' => $attribute, 'arguments' => $arguments), array('type' => $type, 'is_defined_test' => false, 'ignore_strict_check' => false, 'disable_c_ext' => false), $lineno);
-    }
-
-    public function compile(Twig_Compiler $compiler)
-    {
-        if (function_exists('twig_template_get_attributes') && !$this->getAttribute('disable_c_ext')) {
-            $compiler->raw('twig_template_get_attributes($this, ');
-        } else {
-            $compiler->raw('$this->getAttribute(');
-        }
-
-        if ($this->getAttribute('ignore_strict_check')) {
-            $this->getNode('node')->setAttribute('ignore_strict_check', true);
-        }
-
-        $compiler->subcompile($this->getNode('node'));
-
-        $compiler->raw(', ')->subcompile($this->getNode('attribute'));
-
-        if (count($this->getNode('arguments')) || Twig_TemplateInterface::ANY_CALL !== $this->getAttribute('type') || $this->getAttribute('is_defined_test') || $this->getAttribute('ignore_strict_check')) {
-            $compiler->raw(', ')->subcompile($this->getNode('arguments'));
-
-            if (Twig_TemplateInterface::ANY_CALL !== $this->getAttribute('type') || $this->getAttribute('is_defined_test') || $this->getAttribute('ignore_strict_check')) {
-                $compiler->raw(', ')->repr($this->getAttribute('type'));
-            }
-
-            if ($this->getAttribute('is_defined_test') || $this->getAttribute('ignore_strict_check')) {
-                $compiler->raw(', '.($this->getAttribute('is_defined_test') ? 'true' : 'false'));
-            }
-
-            if ($this->getAttribute('ignore_strict_check')) {
-                $compiler->raw(', '.($this->getAttribute('ignore_strict_check') ? 'true' : 'false'));
-            }
-        }
-
-        $compiler->raw(')');
-    }
-}
diff --git a/lib/Twig/Node/Expression/MethodCall.php b/lib/Twig/Node/Expression/MethodCall.php
deleted file mode 100644
index 620b02bf471eabf5db9eacdcc584277284f77158..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/MethodCall.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2012 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_MethodCall extends Twig_Node_Expression
-{
-    public function __construct(Twig_Node_Expression $node, $method, Twig_Node_Expression_Array $arguments, $lineno)
-    {
-        parent::__construct(array('node' => $node, 'arguments' => $arguments), array('method' => $method, 'safe' => false), $lineno);
-
-        if ($node instanceof Twig_Node_Expression_Name) {
-            $node->setAttribute('always_defined', true);
-        }
-    }
-
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->subcompile($this->getNode('node'))
-            ->raw('->')
-            ->raw($this->getAttribute('method'))
-            ->raw('(')
-        ;
-        $first = true;
-        foreach ($this->getNode('arguments')->getKeyValuePairs() as $pair) {
-            if (!$first) {
-                $compiler->raw(', ');
-            }
-            $first = false;
-
-            $compiler->subcompile($pair['value']);
-        }
-        $compiler->raw(')');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Name.php b/lib/Twig/Node/Expression/Name.php
deleted file mode 100644
index 3b8fae01dc6fd2102f751140c59070fad7659126..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Name.php
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Name extends Twig_Node_Expression
-{
-    protected $specialVars = array(
-        '_self'    => '$this',
-        '_context' => '$context',
-        '_charset' => '$this->env->getCharset()',
-    );
-
-    public function __construct($name, $lineno)
-    {
-        parent::__construct(array(), array('name' => $name, 'is_defined_test' => false, 'ignore_strict_check' => false, 'always_defined' => false), $lineno);
-    }
-
-    public function compile(Twig_Compiler $compiler)
-    {
-        $name = $this->getAttribute('name');
-
-        if ($this->getAttribute('is_defined_test')) {
-            if ($this->isSpecial()) {
-                $compiler->repr(true);
-            } else {
-                $compiler->raw('array_key_exists(')->repr($name)->raw(', $context)');
-            }
-        } elseif ($this->isSpecial()) {
-            $compiler->raw($this->specialVars[$name]);
-        } elseif ($this->getAttribute('always_defined')) {
-            $compiler
-                ->raw('$context[')
-                ->string($name)
-                ->raw(']')
-            ;
-        } else {
-            // remove the non-PHP 5.4 version when PHP 5.3 support is dropped
-            // as the non-optimized version is just a workaround for slow ternary operator
-            // when the context has a lot of variables
-            if (version_compare(phpversion(), '5.4.0RC1', '>=')) {
-                // PHP 5.4 ternary operator performance was optimized
-                $compiler
-                    ->raw('(isset($context[')
-                    ->string($name)
-                    ->raw(']) ? $context[')
-                    ->string($name)
-                    ->raw('] : ')
-                ;
-
-                if ($this->getAttribute('ignore_strict_check') || !$compiler->getEnvironment()->isStrictVariables()) {
-                    $compiler->raw('null)');
-                } else {
-                    $compiler->raw('$this->getContext($context, ')->string($name)->raw('))');
-                }
-            } else {
-                $compiler
-                    ->raw('$this->getContext($context, ')
-                    ->string($name)
-                ;
-
-                if ($this->getAttribute('ignore_strict_check')) {
-                    $compiler->raw(', true');
-                }
-
-                $compiler
-                    ->raw(')')
-                ;
-            }
-        }
-    }
-
-    public function isSpecial()
-    {
-        return isset($this->specialVars[$this->getAttribute('name')]);
-    }
-
-    public function isSimple()
-    {
-        return !$this->isSpecial() && !$this->getAttribute('is_defined_test');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Parent.php b/lib/Twig/Node/Expression/Parent.php
deleted file mode 100644
index dcf618c04a669ede03623de1b04c579d0676c35b..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Parent.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a parent node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Expression_Parent extends Twig_Node_Expression
-{
-    public function __construct($name, $lineno, $tag = null)
-    {
-        parent::__construct(array(), array('output' => false, 'name' => $name), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        if ($this->getAttribute('output')) {
-            $compiler
-                ->addDebugInfo($this)
-                ->write("\$this->displayParentBlock(")
-                ->string($this->getAttribute('name'))
-                ->raw(", \$context, \$blocks);\n")
-            ;
-        } else {
-            $compiler
-                ->raw("\$this->renderParentBlock(")
-                ->string($this->getAttribute('name'))
-                ->raw(", \$context, \$blocks)")
-            ;
-        }
-    }
-}
diff --git a/lib/Twig/Node/Expression/TempName.php b/lib/Twig/Node/Expression/TempName.php
deleted file mode 100644
index e6b058e85ce87d99368e1b2627f57bf9c44c53f5..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/TempName.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_TempName extends Twig_Node_Expression
-{
-    public function __construct($name, $lineno)
-    {
-        parent::__construct(array(), array('name' => $name), $lineno);
-    }
-
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->raw('$_')
-            ->raw($this->getAttribute('name'))
-            ->raw('_')
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Expression/Test.php b/lib/Twig/Node/Expression/Test.php
deleted file mode 100644
index 639f501a1869919b87c1fa9551f580bea5a69c09..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Test.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Test extends Twig_Node_Expression_Call
-{
-    public function __construct(Twig_NodeInterface $node, $name, Twig_NodeInterface $arguments = null, $lineno)
-    {
-        parent::__construct(array('node' => $node, 'arguments' => $arguments), array('name' => $name), $lineno);
-    }
-
-    public function compile(Twig_Compiler $compiler)
-    {
-        $name = $this->getAttribute('name');
-        $test = $compiler->getEnvironment()->getTest($name);
-
-        $this->setAttribute('name', $name);
-        $this->setAttribute('type', 'test');
-        $this->setAttribute('thing', $test);
-        if ($test instanceof Twig_TestCallableInterface || $test instanceof Twig_SimpleTest) {
-            $this->setAttribute('callable', $test->getCallable());
-        }
-
-        $this->compileCallable($compiler);
-    }
-}
diff --git a/lib/Twig/Node/Expression/Test/Constant.php b/lib/Twig/Node/Expression/Test/Constant.php
deleted file mode 100644
index 45b1e5da5aaa84a377c1b7af74b9cb600486b021..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Test/Constant.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Checks if a variable is the exact same value as a constant.
- *
- * <pre>
- *  {% if post.status is constant('Post::PUBLISHED') %}
- *    the status attribute is exactly the same as Post::PUBLISHED
- *  {% endif %}
- * </pre>
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Expression_Test_Constant extends Twig_Node_Expression_Test
-{
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->raw('(')
-            ->subcompile($this->getNode('node'))
-            ->raw(' === constant(')
-            ->subcompile($this->getNode('arguments')->getNode(0))
-            ->raw('))')
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Expression/Test/Defined.php b/lib/Twig/Node/Expression/Test/Defined.php
deleted file mode 100644
index 247b2e23a53925b395eaff4eaadac98f7fc5b0f4..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Test/Defined.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Checks if a variable is defined in the current context.
- *
- * <pre>
- * {# defined works with variable names and variable attributes #}
- * {% if foo is defined %}
- *     {# ... #}
- * {% endif %}
- * </pre>
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Expression_Test_Defined extends Twig_Node_Expression_Test
-{
-    public function __construct(Twig_NodeInterface $node, $name, Twig_NodeInterface $arguments = null, $lineno)
-    {
-        parent::__construct($node, $name, $arguments, $lineno);
-
-        if ($node instanceof Twig_Node_Expression_Name) {
-            $node->setAttribute('is_defined_test', true);
-        } elseif ($node instanceof Twig_Node_Expression_GetAttr) {
-            $node->setAttribute('is_defined_test', true);
-
-            $this->changeIgnoreStrictCheck($node);
-        } else {
-            throw new Twig_Error_Syntax('The "defined" test only works with simple variables', $this->getLine());
-        }
-    }
-
-    protected function changeIgnoreStrictCheck(Twig_Node_Expression_GetAttr $node)
-    {
-        $node->setAttribute('ignore_strict_check', true);
-
-        if ($node->getNode('node') instanceof Twig_Node_Expression_GetAttr) {
-            $this->changeIgnoreStrictCheck($node->getNode('node'));
-        }
-    }
-
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler->subcompile($this->getNode('node'));
-    }
-}
diff --git a/lib/Twig/Node/Expression/Test/Divisibleby.php b/lib/Twig/Node/Expression/Test/Divisibleby.php
deleted file mode 100644
index 0aceb5302cb45f85b7e9407e941a0b37ce06951b..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Test/Divisibleby.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Checks if a variable is divisible by a number.
- *
- * <pre>
- *  {% if loop.index is divisibleby(3) %}
- * </pre>
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Expression_Test_Divisibleby extends Twig_Node_Expression_Test
-{
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->raw('(0 == ')
-            ->subcompile($this->getNode('node'))
-            ->raw(' % ')
-            ->subcompile($this->getNode('arguments')->getNode(0))
-            ->raw(')')
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Expression/Test/Even.php b/lib/Twig/Node/Expression/Test/Even.php
deleted file mode 100644
index d7853e89c684222382c09265026b6d61e01fd0d6..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Test/Even.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Checks if a number is even.
- *
- * <pre>
- *  {{ var is even }}
- * </pre>
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Expression_Test_Even extends Twig_Node_Expression_Test
-{
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->raw('(')
-            ->subcompile($this->getNode('node'))
-            ->raw(' % 2 == 0')
-            ->raw(')')
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Expression/Test/Null.php b/lib/Twig/Node/Expression/Test/Null.php
deleted file mode 100644
index 1c83825a005cb12eff3995e5a63b6cf3058ea855..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Test/Null.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Checks that a variable is null.
- *
- * <pre>
- *  {{ var is none }}
- * </pre>
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Expression_Test_Null extends Twig_Node_Expression_Test
-{
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->raw('(null === ')
-            ->subcompile($this->getNode('node'))
-            ->raw(')')
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Expression/Test/Odd.php b/lib/Twig/Node/Expression/Test/Odd.php
deleted file mode 100644
index 421c19e841e77b9c8fc6042cb6f67969d237f468..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Test/Odd.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Checks if a number is odd.
- *
- * <pre>
- *  {{ var is odd }}
- * </pre>
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Expression_Test_Odd extends Twig_Node_Expression_Test
-{
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->raw('(')
-            ->subcompile($this->getNode('node'))
-            ->raw(' % 2 == 1')
-            ->raw(')')
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Expression/Test/Sameas.php b/lib/Twig/Node/Expression/Test/Sameas.php
deleted file mode 100644
index b48905ee417ad0b0722ebc2cae8567c069e1eed0..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Test/Sameas.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Checks if a variable is the same as another one (=== in PHP).
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Expression_Test_Sameas extends Twig_Node_Expression_Test
-{
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->raw('(')
-            ->subcompile($this->getNode('node'))
-            ->raw(' === ')
-            ->subcompile($this->getNode('arguments')->getNode(0))
-            ->raw(')')
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Expression/Unary.php b/lib/Twig/Node/Expression/Unary.php
deleted file mode 100644
index c514388eb6c9cf95c84ed75dff9d9a72ab905509..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Unary.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-abstract class Twig_Node_Expression_Unary extends Twig_Node_Expression
-{
-    public function __construct(Twig_NodeInterface $node, $lineno)
-    {
-        parent::__construct(array('node' => $node), array(), $lineno);
-    }
-
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler->raw('(');
-        $this->operator($compiler);
-        $compiler
-            ->subcompile($this->getNode('node'))
-            ->raw(')')
-        ;
-    }
-
-    abstract public function operator(Twig_Compiler $compiler);
-}
diff --git a/lib/Twig/Node/Expression/Unary/Neg.php b/lib/Twig/Node/Expression/Unary/Neg.php
deleted file mode 100644
index 2a3937ec3fb63a6afbbdc4d17e1800699de07c79..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Unary/Neg.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Unary_Neg extends Twig_Node_Expression_Unary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        $compiler->raw('-');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Unary/Not.php b/lib/Twig/Node/Expression/Unary/Not.php
deleted file mode 100644
index f94073cfaa260edfc271350d420e3b900a6662a8..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Unary/Not.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Unary_Not extends Twig_Node_Expression_Unary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        $compiler->raw('!');
-    }
-}
diff --git a/lib/Twig/Node/Expression/Unary/Pos.php b/lib/Twig/Node/Expression/Unary/Pos.php
deleted file mode 100644
index 04edb52a6bcfb9c3e6802d9b5119dc208a52cb31..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Expression/Unary/Pos.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Node_Expression_Unary_Pos extends Twig_Node_Expression_Unary
-{
-    public function operator(Twig_Compiler $compiler)
-    {
-        $compiler->raw('+');
-    }
-}
diff --git a/lib/Twig/Node/Flush.php b/lib/Twig/Node/Flush.php
deleted file mode 100644
index 0467ddcefc53880d6f01f32942b9e6495781866a..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Flush.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a flush node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Flush extends Twig_Node
-{
-    public function __construct($lineno, $tag)
-    {
-        parent::__construct(array(), array(), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->addDebugInfo($this)
-            ->write("flush();\n")
-        ;
-    }
-}
diff --git a/lib/Twig/Node/For.php b/lib/Twig/Node/For.php
deleted file mode 100644
index d1ff371da1bd7d53782b5852fff9add6e6a9fc9b..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/For.php
+++ /dev/null
@@ -1,112 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a for node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_For extends Twig_Node
-{
-    protected $loop;
-
-    public function __construct(Twig_Node_Expression_AssignName $keyTarget, Twig_Node_Expression_AssignName $valueTarget, Twig_Node_Expression $seq, Twig_Node_Expression $ifexpr = null, Twig_NodeInterface $body, Twig_NodeInterface $else = null, $lineno, $tag = null)
-    {
-        $body = new Twig_Node(array($body, $this->loop = new Twig_Node_ForLoop($lineno, $tag)));
-
-        if (null !== $ifexpr) {
-            $body = new Twig_Node_If(new Twig_Node(array($ifexpr, $body)), null, $lineno, $tag);
-        }
-
-        parent::__construct(array('key_target' => $keyTarget, 'value_target' => $valueTarget, 'seq' => $seq, 'body' => $body, 'else' => $else), array('with_loop' => true, 'ifexpr' => null !== $ifexpr), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->addDebugInfo($this)
-            // the (array) cast bypasses a PHP 5.2.6 bug
-            ->write("\$context['_parent'] = (array) \$context;\n")
-            ->write("\$context['_seq'] = twig_ensure_traversable(")
-            ->subcompile($this->getNode('seq'))
-            ->raw(");\n")
-        ;
-
-        if (null !== $this->getNode('else')) {
-            $compiler->write("\$context['_iterated'] = false;\n");
-        }
-
-        if ($this->getAttribute('with_loop')) {
-            $compiler
-                ->write("\$context['loop'] = array(\n")
-                ->write("  'parent' => \$context['_parent'],\n")
-                ->write("  'index0' => 0,\n")
-                ->write("  'index'  => 1,\n")
-                ->write("  'first'  => true,\n")
-                ->write(");\n")
-            ;
-
-            if (!$this->getAttribute('ifexpr')) {
-                $compiler
-                    ->write("if (is_array(\$context['_seq']) || (is_object(\$context['_seq']) && \$context['_seq'] instanceof Countable)) {\n")
-                    ->indent()
-                    ->write("\$length = count(\$context['_seq']);\n")
-                    ->write("\$context['loop']['revindex0'] = \$length - 1;\n")
-                    ->write("\$context['loop']['revindex'] = \$length;\n")
-                    ->write("\$context['loop']['length'] = \$length;\n")
-                    ->write("\$context['loop']['last'] = 1 === \$length;\n")
-                    ->outdent()
-                    ->write("}\n")
-                ;
-            }
-        }
-
-        $this->loop->setAttribute('else', null !== $this->getNode('else'));
-        $this->loop->setAttribute('with_loop', $this->getAttribute('with_loop'));
-        $this->loop->setAttribute('ifexpr', $this->getAttribute('ifexpr'));
-
-        $compiler
-            ->write("foreach (\$context['_seq'] as ")
-            ->subcompile($this->getNode('key_target'))
-            ->raw(" => ")
-            ->subcompile($this->getNode('value_target'))
-            ->raw(") {\n")
-            ->indent()
-            ->subcompile($this->getNode('body'))
-            ->outdent()
-            ->write("}\n")
-        ;
-
-        if (null !== $this->getNode('else')) {
-            $compiler
-                ->write("if (!\$context['_iterated']) {\n")
-                ->indent()
-                ->subcompile($this->getNode('else'))
-                ->outdent()
-                ->write("}\n")
-            ;
-        }
-
-        $compiler->write("\$_parent = \$context['_parent'];\n");
-
-        // remove some "private" loop variables (needed for nested loops)
-        $compiler->write('unset($context[\'_seq\'], $context[\'_iterated\'], $context[\''.$this->getNode('key_target')->getAttribute('name').'\'], $context[\''.$this->getNode('value_target')->getAttribute('name').'\'], $context[\'_parent\'], $context[\'loop\']);'."\n");
-
-        // keep the values set in the inner context for variables defined in the outer context
-        $compiler->write("\$context = array_intersect_key(\$context, \$_parent) + \$_parent;\n");
-    }
-}
diff --git a/lib/Twig/Node/ForLoop.php b/lib/Twig/Node/ForLoop.php
deleted file mode 100644
index b8841583d970443086c6ef982d344d3e0d51d84b..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/ForLoop.php
+++ /dev/null
@@ -1,55 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Internal node used by the for node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_ForLoop extends Twig_Node
-{
-    public function __construct($lineno, $tag = null)
-    {
-        parent::__construct(array(), array('with_loop' => false, 'ifexpr' => false, 'else' => false), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        if ($this->getAttribute('else')) {
-            $compiler->write("\$context['_iterated'] = true;\n");
-        }
-
-        if ($this->getAttribute('with_loop')) {
-            $compiler
-                ->write("++\$context['loop']['index0'];\n")
-                ->write("++\$context['loop']['index'];\n")
-                ->write("\$context['loop']['first'] = false;\n")
-            ;
-
-            if (!$this->getAttribute('ifexpr')) {
-                $compiler
-                    ->write("if (isset(\$context['loop']['length'])) {\n")
-                    ->indent()
-                    ->write("--\$context['loop']['revindex0'];\n")
-                    ->write("--\$context['loop']['revindex'];\n")
-                    ->write("\$context['loop']['last'] = 0 === \$context['loop']['revindex0'];\n")
-                    ->outdent()
-                    ->write("}\n")
-                ;
-            }
-        }
-    }
-}
diff --git a/lib/Twig/Node/If.php b/lib/Twig/Node/If.php
deleted file mode 100644
index 4296a8d678fb7a441f174b9cce5422ad5b0ead95..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/If.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents an if node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_If extends Twig_Node
-{
-    public function __construct(Twig_NodeInterface $tests, Twig_NodeInterface $else = null, $lineno, $tag = null)
-    {
-        parent::__construct(array('tests' => $tests, 'else' => $else), array(), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler->addDebugInfo($this);
-        for ($i = 0; $i < count($this->getNode('tests')); $i += 2) {
-            if ($i > 0) {
-                $compiler
-                    ->outdent()
-                    ->write("} elseif (")
-                ;
-            } else {
-                $compiler
-                    ->write('if (')
-                ;
-            }
-
-            $compiler
-                ->subcompile($this->getNode('tests')->getNode($i))
-                ->raw(") {\n")
-                ->indent()
-                ->subcompile($this->getNode('tests')->getNode($i + 1))
-            ;
-        }
-
-        if ($this->hasNode('else') && null !== $this->getNode('else')) {
-            $compiler
-                ->outdent()
-                ->write("} else {\n")
-                ->indent()
-                ->subcompile($this->getNode('else'))
-            ;
-        }
-
-        $compiler
-            ->outdent()
-            ->write("}\n");
-    }
-}
diff --git a/lib/Twig/Node/Import.php b/lib/Twig/Node/Import.php
deleted file mode 100644
index 99efc0911c33adb4beea01d9762327603d4d01e8..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Import.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents an import node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Import extends Twig_Node
-{
-    public function __construct(Twig_Node_Expression $expr, Twig_Node_Expression $var, $lineno, $tag = null)
-    {
-        parent::__construct(array('expr' => $expr, 'var' => $var), array(), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->addDebugInfo($this)
-            ->write('')
-            ->subcompile($this->getNode('var'))
-            ->raw(' = ')
-        ;
-
-        if ($this->getNode('expr') instanceof Twig_Node_Expression_Name && '_self' === $this->getNode('expr')->getAttribute('name')) {
-            $compiler->raw("\$this");
-        } else {
-            $compiler
-                ->raw('$this->env->loadTemplate(')
-                ->subcompile($this->getNode('expr'))
-                ->raw(")")
-            ;
-        }
-
-        $compiler->raw(";\n");
-    }
-}
diff --git a/lib/Twig/Node/Include.php b/lib/Twig/Node/Include.php
deleted file mode 100644
index ed4a3751250f0971f45522702aa065ebf1401223..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Include.php
+++ /dev/null
@@ -1,99 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents an include node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Include extends Twig_Node implements Twig_NodeOutputInterface
-{
-    public function __construct(Twig_Node_Expression $expr, Twig_Node_Expression $variables = null, $only = false, $ignoreMissing = false, $lineno, $tag = null)
-    {
-        parent::__construct(array('expr' => $expr, 'variables' => $variables), array('only' => (Boolean) $only, 'ignore_missing' => (Boolean) $ignoreMissing), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler->addDebugInfo($this);
-
-        if ($this->getAttribute('ignore_missing')) {
-            $compiler
-                ->write("try {\n")
-                ->indent()
-            ;
-        }
-
-        $this->addGetTemplate($compiler);
-
-        $compiler->raw('->display(');
-
-        $this->addTemplateArguments($compiler);
-
-        $compiler->raw(");\n");
-
-        if ($this->getAttribute('ignore_missing')) {
-            $compiler
-                ->outdent()
-                ->write("} catch (Twig_Error_Loader \$e) {\n")
-                ->indent()
-                ->write("// ignore missing template\n")
-                ->outdent()
-                ->write("}\n\n")
-            ;
-        }
-    }
-
-    protected function addGetTemplate(Twig_Compiler $compiler)
-    {
-        if ($this->getNode('expr') instanceof Twig_Node_Expression_Constant) {
-            $compiler
-                ->write("\$this->env->loadTemplate(")
-                ->subcompile($this->getNode('expr'))
-                ->raw(")")
-            ;
-        } else {
-            $compiler
-                ->write("\$template = \$this->env->resolveTemplate(")
-                ->subcompile($this->getNode('expr'))
-                ->raw(");\n")
-                ->write('$template')
-            ;
-        }
-    }
-
-    protected function addTemplateArguments(Twig_Compiler $compiler)
-    {
-        if (false === $this->getAttribute('only')) {
-            if (null === $this->getNode('variables')) {
-                $compiler->raw('$context');
-            } else {
-                $compiler
-                    ->raw('array_merge($context, ')
-                    ->subcompile($this->getNode('variables'))
-                    ->raw(')')
-                ;
-            }
-        } else {
-            if (null === $this->getNode('variables')) {
-                $compiler->raw('array()');
-            } else {
-                $compiler->subcompile($this->getNode('variables'));
-            }
-        }
-    }
-}
diff --git a/lib/Twig/Node/Macro.php b/lib/Twig/Node/Macro.php
deleted file mode 100644
index 89910618b87293dffa98e8a96ca37795a04223c0..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Macro.php
+++ /dev/null
@@ -1,96 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a macro node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Macro extends Twig_Node
-{
-    public function __construct($name, Twig_NodeInterface $body, Twig_NodeInterface $arguments, $lineno, $tag = null)
-    {
-        parent::__construct(array('body' => $body, 'arguments' => $arguments), array('name' => $name), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->addDebugInfo($this)
-            ->write(sprintf("public function get%s(", $this->getAttribute('name')))
-        ;
-
-        $count = count($this->getNode('arguments'));
-        $pos = 0;
-        foreach ($this->getNode('arguments') as $name => $default) {
-            $compiler
-                ->raw('$_'.$name.' = ')
-                ->subcompile($default)
-            ;
-
-            if (++$pos < $count) {
-                $compiler->raw(', ');
-            }
-        }
-
-        $compiler
-            ->raw(")\n")
-            ->write("{\n")
-            ->indent()
-        ;
-
-        if (!count($this->getNode('arguments'))) {
-            $compiler->write("\$context = \$this->env->getGlobals();\n\n");
-        } else {
-            $compiler
-                ->write("\$context = \$this->env->mergeGlobals(array(\n")
-                ->indent()
-            ;
-
-            foreach ($this->getNode('arguments') as $name => $default) {
-                $compiler
-                    ->write('')
-                    ->string($name)
-                    ->raw(' => $_'.$name)
-                    ->raw(",\n")
-                ;
-            }
-
-            $compiler
-                ->outdent()
-                ->write("));\n\n")
-            ;
-        }
-
-        $compiler
-            ->write("\$blocks = array();\n\n")
-            ->write("ob_start();\n")
-            ->write("try {\n")
-            ->indent()
-            ->subcompile($this->getNode('body'))
-            ->outdent()
-            ->write("} catch (Exception \$e) {\n")
-            ->indent()
-            ->write("ob_end_clean();\n\n")
-            ->write("throw \$e;\n")
-            ->outdent()
-            ->write("}\n\n")
-            ->write("return ('' === \$tmp = ob_get_clean()) ? '' : new Twig_Markup(\$tmp, \$this->env->getCharset());\n")
-            ->outdent()
-            ->write("}\n\n")
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Module.php b/lib/Twig/Node/Module.php
deleted file mode 100644
index 585048b8a6fc7d5c8bbf6ac292f5f62fd65c3df0..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Module.php
+++ /dev/null
@@ -1,371 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a module node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Module extends Twig_Node
-{
-    public function __construct(Twig_NodeInterface $body, Twig_Node_Expression $parent = null, Twig_NodeInterface $blocks, Twig_NodeInterface $macros, Twig_NodeInterface $traits, $embeddedTemplates, $filename)
-    {
-        // embedded templates are set as attributes so that they are only visited once by the visitors
-        parent::__construct(array('parent' => $parent, 'body' => $body, 'blocks' => $blocks, 'macros' => $macros, 'traits' => $traits), array('filename' => $filename, 'index' => null, 'embedded_templates' => $embeddedTemplates), 1);
-    }
-
-    public function setIndex($index)
-    {
-        $this->setAttribute('index', $index);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $this->compileTemplate($compiler);
-
-        foreach ($this->getAttribute('embedded_templates') as $template) {
-            $compiler->subcompile($template);
-        }
-    }
-
-    protected function compileTemplate(Twig_Compiler $compiler)
-    {
-        if (!$this->getAttribute('index')) {
-            $compiler->write('<?php');
-        }
-
-        $this->compileClassHeader($compiler);
-
-        if (count($this->getNode('blocks')) || count($this->getNode('traits')) || null === $this->getNode('parent') || $this->getNode('parent') instanceof Twig_Node_Expression_Constant) {
-            $this->compileConstructor($compiler);
-        }
-
-        $this->compileGetParent($compiler);
-
-        $this->compileDisplayHeader($compiler);
-
-        $this->compileDisplayBody($compiler);
-
-        $this->compileDisplayFooter($compiler);
-
-        $compiler->subcompile($this->getNode('blocks'));
-
-        $this->compileMacros($compiler);
-
-        $this->compileGetTemplateName($compiler);
-
-        $this->compileIsTraitable($compiler);
-
-        $this->compileDebugInfo($compiler);
-
-        $this->compileClassFooter($compiler);
-    }
-
-    protected function compileGetParent(Twig_Compiler $compiler)
-    {
-        if (null === $this->getNode('parent')) {
-            return;
-        }
-
-        $compiler
-            ->write("protected function doGetParent(array \$context)\n", "{\n")
-            ->indent()
-            ->write("return ")
-        ;
-
-        if ($this->getNode('parent') instanceof Twig_Node_Expression_Constant) {
-            $compiler->subcompile($this->getNode('parent'));
-        } else {
-            $compiler
-                ->raw("\$this->env->resolveTemplate(")
-                ->subcompile($this->getNode('parent'))
-                ->raw(")")
-            ;
-        }
-
-        $compiler
-            ->raw(";\n")
-            ->outdent()
-            ->write("}\n\n")
-        ;
-    }
-
-    protected function compileDisplayBody(Twig_Compiler $compiler)
-    {
-        $compiler->subcompile($this->getNode('body'));
-
-        if (null !== $this->getNode('parent')) {
-            if ($this->getNode('parent') instanceof Twig_Node_Expression_Constant) {
-                $compiler->write("\$this->parent");
-            } else {
-                $compiler->write("\$this->getParent(\$context)");
-            }
-            $compiler->raw("->display(\$context, array_merge(\$this->blocks, \$blocks));\n");
-        }
-    }
-
-    protected function compileClassHeader(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->write("\n\n")
-            // if the filename contains */, add a blank to avoid a PHP parse error
-            ->write("/* ".str_replace('*/', '* /', $this->getAttribute('filename'))." */\n")
-            ->write('class '.$compiler->getEnvironment()->getTemplateClass($this->getAttribute('filename'), $this->getAttribute('index')))
-            ->raw(sprintf(" extends %s\n", $compiler->getEnvironment()->getBaseTemplateClass()))
-            ->write("{\n")
-            ->indent()
-        ;
-    }
-
-    protected function compileConstructor(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->write("public function __construct(Twig_Environment \$env)\n", "{\n")
-            ->indent()
-            ->write("parent::__construct(\$env);\n\n")
-        ;
-
-        // parent
-        if (null === $this->getNode('parent')) {
-            $compiler->write("\$this->parent = false;\n\n");
-        } elseif ($this->getNode('parent') instanceof Twig_Node_Expression_Constant) {
-            $compiler
-                ->write("\$this->parent = \$this->env->loadTemplate(")
-                ->subcompile($this->getNode('parent'))
-                ->raw(");\n\n")
-            ;
-        }
-
-        $countTraits = count($this->getNode('traits'));
-        if ($countTraits) {
-            // traits
-            foreach ($this->getNode('traits') as $i => $trait) {
-                $this->compileLoadTemplate($compiler, $trait->getNode('template'), sprintf('$_trait_%s', $i));
-
-                $compiler
-                    ->addDebugInfo($trait->getNode('template'))
-                    ->write(sprintf("if (!\$_trait_%s->isTraitable()) {\n", $i))
-                    ->indent()
-                    ->write("throw new Twig_Error_Runtime('Template \"'.")
-                    ->subcompile($trait->getNode('template'))
-                    ->raw(".'\" cannot be used as a trait.');\n")
-                    ->outdent()
-                    ->write("}\n")
-                    ->write(sprintf("\$_trait_%s_blocks = \$_trait_%s->getBlocks();\n\n", $i, $i))
-                ;
-
-                foreach ($trait->getNode('targets') as $key => $value) {
-                    $compiler
-                        ->write(sprintf("\$_trait_%s_blocks[", $i))
-                        ->subcompile($value)
-                        ->raw(sprintf("] = \$_trait_%s_blocks[", $i))
-                        ->string($key)
-                        ->raw(sprintf("]; unset(\$_trait_%s_blocks[", $i))
-                        ->string($key)
-                        ->raw("]);\n\n")
-                    ;
-                }
-            }
-
-            if ($countTraits > 1) {
-                $compiler
-                    ->write("\$this->traits = array_merge(\n")
-                    ->indent()
-                ;
-
-                for ($i = 0; $i < $countTraits; $i++) {
-                    $compiler
-                        ->write(sprintf("\$_trait_%s_blocks".($i == $countTraits - 1 ? '' : ',')."\n", $i))
-                    ;
-                }
-
-                $compiler
-                    ->outdent()
-                    ->write(");\n\n")
-                ;
-            } else {
-                $compiler
-                    ->write("\$this->traits = \$_trait_0_blocks;\n\n")
-                ;
-            }
-
-            $compiler
-                ->write("\$this->blocks = array_merge(\n")
-                ->indent()
-                ->write("\$this->traits,\n")
-                ->write("array(\n")
-            ;
-        } else {
-            $compiler
-                ->write("\$this->blocks = array(\n")
-            ;
-        }
-
-        // blocks
-        $compiler
-            ->indent()
-        ;
-
-        foreach ($this->getNode('blocks') as $name => $node) {
-            $compiler
-                ->write(sprintf("'%s' => array(\$this, 'block_%s'),\n", $name, $name))
-            ;
-        }
-
-        if ($countTraits) {
-            $compiler
-                ->outdent()
-                ->write(")\n")
-            ;
-        }
-
-        $compiler
-            ->outdent()
-            ->write(");\n")
-            ->outdent()
-            ->write("}\n\n");
-        ;
-    }
-
-    protected function compileDisplayHeader(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->write("protected function doDisplay(array \$context, array \$blocks = array())\n", "{\n")
-            ->indent()
-        ;
-    }
-
-    protected function compileDisplayFooter(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->outdent()
-            ->write("}\n\n")
-        ;
-    }
-
-    protected function compileClassFooter(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->outdent()
-            ->write("}\n")
-        ;
-    }
-
-    protected function compileMacros(Twig_Compiler $compiler)
-    {
-        $compiler->subcompile($this->getNode('macros'));
-    }
-
-    protected function compileGetTemplateName(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->write("public function getTemplateName()\n", "{\n")
-            ->indent()
-            ->write('return ')
-            ->repr($this->getAttribute('filename'))
-            ->raw(";\n")
-            ->outdent()
-            ->write("}\n\n")
-        ;
-    }
-
-    protected function compileIsTraitable(Twig_Compiler $compiler)
-    {
-        // A template can be used as a trait if:
-        //   * it has no parent
-        //   * it has no macros
-        //   * it has no body
-        //
-        // Put another way, a template can be used as a trait if it
-        // only contains blocks and use statements.
-        $traitable = null === $this->getNode('parent') && 0 === count($this->getNode('macros'));
-        if ($traitable) {
-            if ($this->getNode('body') instanceof Twig_Node_Body) {
-                $nodes = $this->getNode('body')->getNode(0);
-            } else {
-                $nodes = $this->getNode('body');
-            }
-
-            if (!count($nodes)) {
-                $nodes = new Twig_Node(array($nodes));
-            }
-
-            foreach ($nodes as $node) {
-                if (!count($node)) {
-                    continue;
-                }
-
-                if ($node instanceof Twig_Node_Text && ctype_space($node->getAttribute('data'))) {
-                    continue;
-                }
-
-                if ($node instanceof Twig_Node_BlockReference) {
-                    continue;
-                }
-
-                $traitable = false;
-                break;
-            }
-        }
-
-        if ($traitable) {
-            return;
-        }
-
-        $compiler
-            ->write("public function isTraitable()\n", "{\n")
-            ->indent()
-            ->write(sprintf("return %s;\n", $traitable ? 'true' : 'false'))
-            ->outdent()
-            ->write("}\n\n")
-        ;
-    }
-
-    protected function compileDebugInfo(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->write("public function getDebugInfo()\n", "{\n")
-            ->indent()
-            ->write(sprintf("return %s;\n", str_replace("\n", '', var_export(array_reverse($compiler->getDebugInfo(), true), true))))
-            ->outdent()
-            ->write("}\n")
-        ;
-    }
-
-    protected function compileLoadTemplate(Twig_Compiler $compiler, $node, $var)
-    {
-        if ($node instanceof Twig_Node_Expression_Constant) {
-            $compiler
-                ->write(sprintf("%s = \$this->env->loadTemplate(", $var))
-                ->subcompile($node)
-                ->raw(");\n")
-            ;
-        } else {
-            $compiler
-                ->write(sprintf("%s = ", $var))
-                ->subcompile($node)
-                ->raw(";\n")
-                ->write(sprintf("if (!%s", $var))
-                ->raw(" instanceof Twig_Template) {\n")
-                ->indent()
-                ->write(sprintf("%s = \$this->env->loadTemplate(%s);\n", $var, $var))
-                ->outdent()
-                ->write("}\n")
-            ;
-        }
-    }
-}
diff --git a/lib/Twig/Node/Print.php b/lib/Twig/Node/Print.php
deleted file mode 100644
index b0c41d1d92113aa274fefcc842ec42f2c648458b..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Print.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a node that outputs an expression.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Print extends Twig_Node implements Twig_NodeOutputInterface
-{
-    public function __construct(Twig_Node_Expression $expr, $lineno, $tag = null)
-    {
-        parent::__construct(array('expr' => $expr), array(), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->addDebugInfo($this)
-            ->write('echo ')
-            ->subcompile($this->getNode('expr'))
-            ->raw(";\n")
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Sandbox.php b/lib/Twig/Node/Sandbox.php
deleted file mode 100644
index 8cf3ed44f7601f797ba93d26c79582930840374b..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Sandbox.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a sandbox node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Sandbox extends Twig_Node
-{
-    public function __construct(Twig_NodeInterface $body, $lineno, $tag = null)
-    {
-        parent::__construct(array('body' => $body), array(), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->addDebugInfo($this)
-            ->write("\$sandbox = \$this->env->getExtension('sandbox');\n")
-            ->write("if (!\$alreadySandboxed = \$sandbox->isSandboxed()) {\n")
-            ->indent()
-            ->write("\$sandbox->enableSandbox();\n")
-            ->outdent()
-            ->write("}\n")
-            ->subcompile($this->getNode('body'))
-            ->write("if (!\$alreadySandboxed) {\n")
-            ->indent()
-            ->write("\$sandbox->disableSandbox();\n")
-            ->outdent()
-            ->write("}\n")
-        ;
-    }
-}
diff --git a/lib/Twig/Node/SandboxedModule.php b/lib/Twig/Node/SandboxedModule.php
deleted file mode 100644
index be1f5daa73290d8b8d1656b6edb67ccea6e033ad..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/SandboxedModule.php
+++ /dev/null
@@ -1,60 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a module node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_SandboxedModule extends Twig_Node_Module
-{
-    protected $usedFilters;
-    protected $usedTags;
-    protected $usedFunctions;
-
-    public function __construct(Twig_Node_Module $node, array $usedFilters, array $usedTags, array $usedFunctions)
-    {
-        parent::__construct($node->getNode('body'), $node->getNode('parent'), $node->getNode('blocks'), $node->getNode('macros'), $node->getNode('traits'), $node->getAttribute('embedded_templates'), $node->getAttribute('filename'), $node->getLine(), $node->getNodeTag());
-
-        $this->setAttribute('index', $node->getAttribute('index'));
-
-        $this->usedFilters = $usedFilters;
-        $this->usedTags = $usedTags;
-        $this->usedFunctions = $usedFunctions;
-    }
-
-    protected function compileDisplayBody(Twig_Compiler $compiler)
-    {
-        $compiler->write("\$this->checkSecurity();\n");
-
-        parent::compileDisplayBody($compiler);
-    }
-
-    protected function compileDisplayFooter(Twig_Compiler $compiler)
-    {
-        parent::compileDisplayFooter($compiler);
-
-        $compiler
-            ->write("protected function checkSecurity()\n", "{\n")
-            ->indent()
-            ->write("\$this->env->getExtension('sandbox')->checkSecurity(\n")
-            ->indent()
-            ->write(!$this->usedTags ? "array(),\n" : "array('".implode('\', \'', $this->usedTags)."'),\n")
-            ->write(!$this->usedFilters ? "array(),\n" : "array('".implode('\', \'', $this->usedFilters)."'),\n")
-            ->write(!$this->usedFunctions ? "array()\n" : "array('".implode('\', \'', $this->usedFunctions)."')\n")
-            ->outdent()
-            ->write(");\n")
-            ->outdent()
-            ->write("}\n\n")
-        ;
-    }
-}
diff --git a/lib/Twig/Node/SandboxedPrint.php b/lib/Twig/Node/SandboxedPrint.php
deleted file mode 100644
index 73dfaa9639a50a84f8113d383d06e87551439808..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/SandboxedPrint.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Twig_Node_SandboxedPrint adds a check for the __toString() method
- * when the variable is an object and the sandbox is activated.
- *
- * When there is a simple Print statement, like {{ article }},
- * and if the sandbox is enabled, we need to check that the __toString()
- * method is allowed if 'article' is an object.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_SandboxedPrint extends Twig_Node_Print
-{
-    public function __construct(Twig_Node_Expression $expr, $lineno, $tag = null)
-    {
-        parent::__construct($expr, $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->addDebugInfo($this)
-            ->write('echo $this->env->getExtension(\'sandbox\')->ensureToStringAllowed(')
-            ->subcompile($this->getNode('expr'))
-            ->raw(");\n")
-        ;
-    }
-
-    /**
-     * Removes node filters.
-     *
-     * This is mostly needed when another visitor adds filters (like the escaper one).
-     *
-     * @param Twig_Node $node A Node
-     */
-    protected function removeNodeFilter($node)
-    {
-        if ($node instanceof Twig_Node_Expression_Filter) {
-            return $this->removeNodeFilter($node->getNode('node'));
-        }
-
-        return $node;
-    }
-}
diff --git a/lib/Twig/Node/Set.php b/lib/Twig/Node/Set.php
deleted file mode 100644
index 4c9c16ce2fb7ab94d3432f0511e5a68b3359afd8..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Set.php
+++ /dev/null
@@ -1,101 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a set node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Set extends Twig_Node
-{
-    public function __construct($capture, Twig_NodeInterface $names, Twig_NodeInterface $values, $lineno, $tag = null)
-    {
-        parent::__construct(array('names' => $names, 'values' => $values), array('capture' => $capture, 'safe' => false), $lineno, $tag);
-
-        /*
-         * Optimizes the node when capture is used for a large block of text.
-         *
-         * {% set foo %}foo{% endset %} is compiled to $context['foo'] = new Twig_Markup("foo");
-         */
-        if ($this->getAttribute('capture')) {
-            $this->setAttribute('safe', true);
-
-            $values = $this->getNode('values');
-            if ($values instanceof Twig_Node_Text) {
-                $this->setNode('values', new Twig_Node_Expression_Constant($values->getAttribute('data'), $values->getLine()));
-                $this->setAttribute('capture', false);
-            }
-        }
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler->addDebugInfo($this);
-
-        if (count($this->getNode('names')) > 1) {
-            $compiler->write('list(');
-            foreach ($this->getNode('names') as $idx => $node) {
-                if ($idx) {
-                    $compiler->raw(', ');
-                }
-
-                $compiler->subcompile($node);
-            }
-            $compiler->raw(')');
-        } else {
-            if ($this->getAttribute('capture')) {
-                $compiler
-                    ->write("ob_start();\n")
-                    ->subcompile($this->getNode('values'))
-                ;
-            }
-
-            $compiler->subcompile($this->getNode('names'), false);
-
-            if ($this->getAttribute('capture')) {
-                $compiler->raw(" = ('' === \$tmp = ob_get_clean()) ? '' : new Twig_Markup(\$tmp, \$this->env->getCharset())");
-            }
-        }
-
-        if (!$this->getAttribute('capture')) {
-            $compiler->raw(' = ');
-
-            if (count($this->getNode('names')) > 1) {
-                $compiler->write('array(');
-                foreach ($this->getNode('values') as $idx => $value) {
-                    if ($idx) {
-                        $compiler->raw(', ');
-                    }
-
-                    $compiler->subcompile($value);
-                }
-                $compiler->raw(')');
-            } else {
-                if ($this->getAttribute('safe')) {
-                    $compiler
-                        ->raw("('' === \$tmp = ")
-                        ->subcompile($this->getNode('values'))
-                        ->raw(") ? '' : new Twig_Markup(\$tmp, \$this->env->getCharset())")
-                    ;
-                } else {
-                    $compiler->subcompile($this->getNode('values'));
-                }
-            }
-        }
-
-        $compiler->raw(";\n");
-    }
-}
diff --git a/lib/Twig/Node/SetTemp.php b/lib/Twig/Node/SetTemp.php
deleted file mode 100644
index 3bdd1cb74e781ec8b77474b26ad045a1bd85d17d..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/SetTemp.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-class Twig_Node_SetTemp extends Twig_Node
-{
-    public function __construct($name, $lineno)
-    {
-        parent::__construct(array(), array('name' => $name), $lineno);
-    }
-
-    public function compile(Twig_Compiler $compiler)
-    {
-        $name = $this->getAttribute('name');
-        $compiler
-            ->addDebugInfo($this)
-            ->write('if (isset($context[')
-            ->string($name)
-            ->raw('])) { $_')
-            ->raw($name)
-            ->raw('_ = $context[')
-            ->repr($name)
-            ->raw(']; } else { $_')
-            ->raw($name)
-            ->raw("_ = null; }\n")
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Spaceless.php b/lib/Twig/Node/Spaceless.php
deleted file mode 100644
index 7555fa0f18271b96048234f657c6a9b4bde24946..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Spaceless.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a spaceless node.
- *
- * It removes spaces between HTML tags.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Spaceless extends Twig_Node
-{
-    public function __construct(Twig_NodeInterface $body, $lineno, $tag = 'spaceless')
-    {
-        parent::__construct(array('body' => $body), array(), $lineno, $tag);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->addDebugInfo($this)
-            ->write("ob_start();\n")
-            ->subcompile($this->getNode('body'))
-            ->write("echo trim(preg_replace('/>\s+</', '><', ob_get_clean()));\n")
-        ;
-    }
-}
diff --git a/lib/Twig/Node/Text.php b/lib/Twig/Node/Text.php
deleted file mode 100644
index 21bdcea1485ec22f27f32cf72efe1d104b0e5b9a..0000000000000000000000000000000000000000
--- a/lib/Twig/Node/Text.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a text node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Node_Text extends Twig_Node implements Twig_NodeOutputInterface
-{
-    public function __construct($data, $lineno)
-    {
-        parent::__construct(array(), array('data' => $data), $lineno);
-    }
-
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler)
-    {
-        $compiler
-            ->addDebugInfo($this)
-            ->write('echo ')
-            ->string($this->getAttribute('data'))
-            ->raw(";\n")
-        ;
-    }
-}
diff --git a/lib/Twig/NodeInterface.php b/lib/Twig/NodeInterface.php
deleted file mode 100644
index f0ef725825ce2bacffd04eb803f96530fc290f98..0000000000000000000000000000000000000000
--- a/lib/Twig/NodeInterface.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a node in the AST.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-interface Twig_NodeInterface extends Countable, IteratorAggregate
-{
-    /**
-     * Compiles the node to PHP.
-     *
-     * @param Twig_Compiler A Twig_Compiler instance
-     */
-    public function compile(Twig_Compiler $compiler);
-
-    public function getLine();
-
-    public function getNodeTag();
-}
diff --git a/lib/Twig/NodeOutputInterface.php b/lib/Twig/NodeOutputInterface.php
deleted file mode 100644
index 22172c09db1808e833f013afda598e2c4b94484f..0000000000000000000000000000000000000000
--- a/lib/Twig/NodeOutputInterface.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a displayable node in the AST.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-interface Twig_NodeOutputInterface
-{
-}
diff --git a/lib/Twig/NodeTraverser.php b/lib/Twig/NodeTraverser.php
deleted file mode 100644
index 28cba1ad57bebe18039d8229d4b2ee0658ecd9c2..0000000000000000000000000000000000000000
--- a/lib/Twig/NodeTraverser.php
+++ /dev/null
@@ -1,88 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Twig_NodeTraverser is a node traverser.
- *
- * It visits all nodes and their children and call the given visitor for each.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_NodeTraverser
-{
-    protected $env;
-    protected $visitors;
-
-    /**
-     * Constructor.
-     *
-     * @param Twig_Environment $env      A Twig_Environment instance
-     * @param array            $visitors An array of Twig_NodeVisitorInterface instances
-     */
-    public function __construct(Twig_Environment $env, array $visitors = array())
-    {
-        $this->env = $env;
-        $this->visitors = array();
-        foreach ($visitors as $visitor) {
-            $this->addVisitor($visitor);
-        }
-    }
-
-    /**
-     * Adds a visitor.
-     *
-     * @param Twig_NodeVisitorInterface $visitor A Twig_NodeVisitorInterface instance
-     */
-    public function addVisitor(Twig_NodeVisitorInterface $visitor)
-    {
-        if (!isset($this->visitors[$visitor->getPriority()])) {
-            $this->visitors[$visitor->getPriority()] = array();
-        }
-
-        $this->visitors[$visitor->getPriority()][] = $visitor;
-    }
-
-    /**
-     * Traverses a node and calls the registered visitors.
-     *
-     * @param Twig_NodeInterface $node A Twig_NodeInterface instance
-     */
-    public function traverse(Twig_NodeInterface $node)
-    {
-        ksort($this->visitors);
-        foreach ($this->visitors as $visitors) {
-            foreach ($visitors as $visitor) {
-                $node = $this->traverseForVisitor($visitor, $node);
-            }
-        }
-
-        return $node;
-    }
-
-    protected function traverseForVisitor(Twig_NodeVisitorInterface $visitor, Twig_NodeInterface $node = null)
-    {
-        if (null === $node) {
-            return null;
-        }
-
-        $node = $visitor->enterNode($node, $this->env);
-
-        foreach ($node as $k => $n) {
-            if (false !== $n = $this->traverseForVisitor($visitor, $n)) {
-                $node->setNode($k, $n);
-            } else {
-                $node->removeNode($k);
-            }
-        }
-
-        return $visitor->leaveNode($node, $this->env);
-    }
-}
diff --git a/lib/Twig/NodeVisitor/Escaper.php b/lib/Twig/NodeVisitor/Escaper.php
deleted file mode 100644
index cc4b3d717ad7971a359c27caaa0767e0edc822e7..0000000000000000000000000000000000000000
--- a/lib/Twig/NodeVisitor/Escaper.php
+++ /dev/null
@@ -1,167 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Twig_NodeVisitor_Escaper implements output escaping.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_NodeVisitor_Escaper implements Twig_NodeVisitorInterface
-{
-    protected $statusStack = array();
-    protected $blocks = array();
-    protected $safeAnalysis;
-    protected $traverser;
-    protected $defaultStrategy = false;
-    protected $safeVars = array();
-
-    public function __construct()
-    {
-        $this->safeAnalysis = new Twig_NodeVisitor_SafeAnalysis();
-    }
-
-    /**
-     * Called before child nodes are visited.
-     *
-     * @param Twig_NodeInterface $node The node to visit
-     * @param Twig_Environment   $env  The Twig environment instance
-     *
-     * @return Twig_NodeInterface The modified node
-     */
-    public function enterNode(Twig_NodeInterface $node, Twig_Environment $env)
-    {
-        if ($node instanceof Twig_Node_Module) {
-            if ($env->hasExtension('escaper') && $defaultStrategy = $env->getExtension('escaper')->getDefaultStrategy($node->getAttribute('filename'))) {
-                $this->defaultStrategy = $defaultStrategy;
-            }
-            $this->safeVars = array();
-        } elseif ($node instanceof Twig_Node_AutoEscape) {
-            $this->statusStack[] = $node->getAttribute('value');
-        } elseif ($node instanceof Twig_Node_Block) {
-            $this->statusStack[] = isset($this->blocks[$node->getAttribute('name')]) ? $this->blocks[$node->getAttribute('name')] : $this->needEscaping($env);
-        } elseif ($node instanceof Twig_Node_Import) {
-            $this->safeVars[] = $node->getNode('var')->getAttribute('name');
-        }
-
-        return $node;
-    }
-
-    /**
-     * Called after child nodes are visited.
-     *
-     * @param Twig_NodeInterface $node The node to visit
-     * @param Twig_Environment   $env  The Twig environment instance
-     *
-     * @return Twig_NodeInterface The modified node
-     */
-    public function leaveNode(Twig_NodeInterface $node, Twig_Environment $env)
-    {
-        if ($node instanceof Twig_Node_Module) {
-            $this->defaultStrategy = false;
-            $this->safeVars = array();
-        } elseif ($node instanceof Twig_Node_Expression_Filter) {
-            return $this->preEscapeFilterNode($node, $env);
-        } elseif ($node instanceof Twig_Node_Print) {
-            return $this->escapePrintNode($node, $env, $this->needEscaping($env));
-        }
-
-        if ($node instanceof Twig_Node_AutoEscape || $node instanceof Twig_Node_Block) {
-            array_pop($this->statusStack);
-        } elseif ($node instanceof Twig_Node_BlockReference) {
-            $this->blocks[$node->getAttribute('name')] = $this->needEscaping($env);
-        }
-
-        return $node;
-    }
-
-    protected function escapePrintNode(Twig_Node_Print $node, Twig_Environment $env, $type)
-    {
-        if (false === $type) {
-            return $node;
-        }
-
-        $expression = $node->getNode('expr');
-
-        if ($this->isSafeFor($type, $expression, $env)) {
-            return $node;
-        }
-
-        $class = get_class($node);
-
-        return new $class(
-            $this->getEscaperFilter($type, $expression),
-            $node->getLine()
-        );
-    }
-
-    protected function preEscapeFilterNode(Twig_Node_Expression_Filter $filter, Twig_Environment $env)
-    {
-        $name = $filter->getNode('filter')->getAttribute('value');
-
-        $type = $env->getFilter($name)->getPreEscape();
-        if (null === $type) {
-            return $filter;
-        }
-
-        $node = $filter->getNode('node');
-        if ($this->isSafeFor($type, $node, $env)) {
-            return $filter;
-        }
-
-        $filter->setNode('node', $this->getEscaperFilter($type, $node));
-
-        return $filter;
-    }
-
-    protected function isSafeFor($type, Twig_NodeInterface $expression, $env)
-    {
-        $safe = $this->safeAnalysis->getSafe($expression);
-
-        if (null === $safe) {
-            if (null === $this->traverser) {
-                $this->traverser = new Twig_NodeTraverser($env, array($this->safeAnalysis));
-            }
-
-            $this->safeAnalysis->setSafeVars($this->safeVars);
-
-            $this->traverser->traverse($expression);
-            $safe = $this->safeAnalysis->getSafe($expression);
-        }
-
-        return in_array($type, $safe) || in_array('all', $safe);
-    }
-
-    protected function needEscaping(Twig_Environment $env)
-    {
-        if (count($this->statusStack)) {
-            return $this->statusStack[count($this->statusStack) - 1];
-        }
-
-        return $this->defaultStrategy ? $this->defaultStrategy : false;
-    }
-
-    protected function getEscaperFilter($type, Twig_NodeInterface $node)
-    {
-        $line = $node->getLine();
-        $name = new Twig_Node_Expression_Constant('escape', $line);
-        $args = new Twig_Node(array(new Twig_Node_Expression_Constant((string) $type, $line), new Twig_Node_Expression_Constant(null, $line), new Twig_Node_Expression_Constant(true, $line)));
-
-        return new Twig_Node_Expression_Filter($node, $name, $args, $line);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getPriority()
-    {
-        return 0;
-    }
-}
diff --git a/lib/Twig/NodeVisitor/Optimizer.php b/lib/Twig/NodeVisitor/Optimizer.php
deleted file mode 100644
index a254def75be63f3071518da3042ac543f3a5e36e..0000000000000000000000000000000000000000
--- a/lib/Twig/NodeVisitor/Optimizer.php
+++ /dev/null
@@ -1,246 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Twig_NodeVisitor_Optimizer tries to optimizes the AST.
- *
- * This visitor is always the last registered one.
- *
- * You can configure which optimizations you want to activate via the
- * optimizer mode.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_NodeVisitor_Optimizer implements Twig_NodeVisitorInterface
-{
-    const OPTIMIZE_ALL         = -1;
-    const OPTIMIZE_NONE        = 0;
-    const OPTIMIZE_FOR         = 2;
-    const OPTIMIZE_RAW_FILTER  = 4;
-    const OPTIMIZE_VAR_ACCESS  = 8;
-
-    protected $loops = array();
-    protected $optimizers;
-    protected $prependedNodes = array();
-    protected $inABody = false;
-
-    /**
-     * Constructor.
-     *
-     * @param integer $optimizers The optimizer mode
-     */
-    public function __construct($optimizers = -1)
-    {
-        if (!is_int($optimizers) || $optimizers > 2) {
-            throw new InvalidArgumentException(sprintf('Optimizer mode "%s" is not valid.', $optimizers));
-        }
-
-        $this->optimizers = $optimizers;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function enterNode(Twig_NodeInterface $node, Twig_Environment $env)
-    {
-        if (self::OPTIMIZE_FOR === (self::OPTIMIZE_FOR & $this->optimizers)) {
-            $this->enterOptimizeFor($node, $env);
-        }
-
-        if (!version_compare(phpversion(), '5.4.0RC1', '>=') && self::OPTIMIZE_VAR_ACCESS === (self::OPTIMIZE_VAR_ACCESS & $this->optimizers) && !$env->isStrictVariables() && !$env->hasExtension('sandbox')) {
-            if ($this->inABody) {
-                if (!$node instanceof Twig_Node_Expression) {
-                    if (get_class($node) !== 'Twig_Node') {
-                        array_unshift($this->prependedNodes, array());
-                    }
-                } else {
-                    $node = $this->optimizeVariables($node, $env);
-                }
-            } elseif ($node instanceof Twig_Node_Body) {
-                $this->inABody = true;
-            }
-        }
-
-        return $node;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function leaveNode(Twig_NodeInterface $node, Twig_Environment $env)
-    {
-        $expression = $node instanceof Twig_Node_Expression;
-
-        if (self::OPTIMIZE_FOR === (self::OPTIMIZE_FOR & $this->optimizers)) {
-            $this->leaveOptimizeFor($node, $env);
-        }
-
-        if (self::OPTIMIZE_RAW_FILTER === (self::OPTIMIZE_RAW_FILTER & $this->optimizers)) {
-            $node = $this->optimizeRawFilter($node, $env);
-        }
-
-        $node = $this->optimizePrintNode($node, $env);
-
-        if (self::OPTIMIZE_VAR_ACCESS === (self::OPTIMIZE_VAR_ACCESS & $this->optimizers) && !$env->isStrictVariables() && !$env->hasExtension('sandbox')) {
-            if ($node instanceof Twig_Node_Body) {
-                $this->inABody = false;
-            } elseif ($this->inABody) {
-                if (!$expression && get_class($node) !== 'Twig_Node' && $prependedNodes = array_shift($this->prependedNodes)) {
-                    $nodes = array();
-                    foreach (array_unique($prependedNodes) as $name) {
-                        $nodes[] = new Twig_Node_SetTemp($name, $node->getLine());
-                    }
-
-                    $nodes[] = $node;
-                    $node = new Twig_Node($nodes);
-                }
-            }
-        }
-
-        return $node;
-    }
-
-    protected function optimizeVariables($node, $env)
-    {
-        if ('Twig_Node_Expression_Name' === get_class($node) && $node->isSimple()) {
-            $this->prependedNodes[0][] = $node->getAttribute('name');
-
-            return new Twig_Node_Expression_TempName($node->getAttribute('name'), $node->getLine());
-        }
-
-        return $node;
-    }
-
-    /**
-     * Optimizes print nodes.
-     *
-     * It replaces:
-     *
-     *   * "echo $this->render(Parent)Block()" with "$this->display(Parent)Block()"
-     *
-     * @param Twig_NodeInterface $node A Node
-     * @param Twig_Environment   $env  The current Twig environment
-     */
-    protected function optimizePrintNode($node, $env)
-    {
-        if (!$node instanceof Twig_Node_Print) {
-            return $node;
-        }
-
-        if (
-            $node->getNode('expr') instanceof Twig_Node_Expression_BlockReference ||
-            $node->getNode('expr') instanceof Twig_Node_Expression_Parent
-        ) {
-            $node->getNode('expr')->setAttribute('output', true);
-
-            return $node->getNode('expr');
-        }
-
-        return $node;
-    }
-
-    /**
-     * Removes "raw" filters.
-     *
-     * @param Twig_NodeInterface $node A Node
-     * @param Twig_Environment   $env  The current Twig environment
-     */
-    protected function optimizeRawFilter($node, $env)
-    {
-        if ($node instanceof Twig_Node_Expression_Filter && 'raw' == $node->getNode('filter')->getAttribute('value')) {
-            return $node->getNode('node');
-        }
-
-        return $node;
-    }
-
-    /**
-     * Optimizes "for" tag by removing the "loop" variable creation whenever possible.
-     *
-     * @param Twig_NodeInterface $node A Node
-     * @param Twig_Environment   $env  The current Twig environment
-     */
-    protected function enterOptimizeFor($node, $env)
-    {
-        if ($node instanceof Twig_Node_For) {
-            // disable the loop variable by default
-            $node->setAttribute('with_loop', false);
-            array_unshift($this->loops, $node);
-        } elseif (!$this->loops) {
-            // we are outside a loop
-            return;
-        }
-
-        // when do we need to add the loop variable back?
-
-        // the loop variable is referenced for the current loop
-        elseif ($node instanceof Twig_Node_Expression_Name && 'loop' === $node->getAttribute('name')) {
-            $this->addLoopToCurrent();
-        }
-
-        // block reference
-        elseif ($node instanceof Twig_Node_BlockReference || $node instanceof Twig_Node_Expression_BlockReference) {
-            $this->addLoopToCurrent();
-        }
-
-        // include without the only attribute
-        elseif ($node instanceof Twig_Node_Include && !$node->getAttribute('only')) {
-            $this->addLoopToAll();
-        }
-
-        // the loop variable is referenced via an attribute
-        elseif ($node instanceof Twig_Node_Expression_GetAttr
-            && (!$node->getNode('attribute') instanceof Twig_Node_Expression_Constant
-                || 'parent' === $node->getNode('attribute')->getAttribute('value')
-               )
-            && (true === $this->loops[0]->getAttribute('with_loop')
-                || ($node->getNode('node') instanceof Twig_Node_Expression_Name
-                    && 'loop' === $node->getNode('node')->getAttribute('name')
-                   )
-               )
-        ) {
-            $this->addLoopToAll();
-        }
-    }
-
-    /**
-     * Optimizes "for" tag by removing the "loop" variable creation whenever possible.
-     *
-     * @param Twig_NodeInterface $node A Node
-     * @param Twig_Environment   $env  The current Twig environment
-     */
-    protected function leaveOptimizeFor($node, $env)
-    {
-        if ($node instanceof Twig_Node_For) {
-            array_shift($this->loops);
-        }
-    }
-
-    protected function addLoopToCurrent()
-    {
-        $this->loops[0]->setAttribute('with_loop', true);
-    }
-
-    protected function addLoopToAll()
-    {
-        foreach ($this->loops as $loop) {
-            $loop->setAttribute('with_loop', true);
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getPriority()
-    {
-        return 255;
-    }
-}
diff --git a/lib/Twig/NodeVisitor/SafeAnalysis.php b/lib/Twig/NodeVisitor/SafeAnalysis.php
deleted file mode 100644
index 7dc65c0e6888358b027f7b41b578b3ea66161b97..0000000000000000000000000000000000000000
--- a/lib/Twig/NodeVisitor/SafeAnalysis.php
+++ /dev/null
@@ -1,133 +0,0 @@
-<?php
-
-class Twig_NodeVisitor_SafeAnalysis implements Twig_NodeVisitorInterface
-{
-    protected $data = array();
-    protected $safeVars = array();
-
-    public function setSafeVars($safeVars)
-    {
-        $this->safeVars = $safeVars;
-    }
-
-    public function getSafe(Twig_NodeInterface $node)
-    {
-        $hash = spl_object_hash($node);
-        if (isset($this->data[$hash])) {
-            foreach ($this->data[$hash] as $bucket) {
-                if ($bucket['key'] === $node) {
-                    return $bucket['value'];
-                }
-            }
-        }
-
-        return null;
-    }
-
-    protected function setSafe(Twig_NodeInterface $node, array $safe)
-    {
-        $hash = spl_object_hash($node);
-        if (isset($this->data[$hash])) {
-            foreach ($this->data[$hash] as &$bucket) {
-                if ($bucket['key'] === $node) {
-                    $bucket['value'] = $safe;
-
-                    return;
-                }
-            }
-        }
-        $this->data[$hash][] = array(
-            'key' => $node,
-            'value' => $safe,
-        );
-    }
-
-    public function enterNode(Twig_NodeInterface $node, Twig_Environment $env)
-    {
-        return $node;
-    }
-
-    public function leaveNode(Twig_NodeInterface $node, Twig_Environment $env)
-    {
-        if ($node instanceof Twig_Node_Expression_Constant) {
-            // constants are marked safe for all
-            $this->setSafe($node, array('all'));
-        } elseif ($node instanceof Twig_Node_Expression_BlockReference) {
-            // blocks are safe by definition
-            $this->setSafe($node, array('all'));
-        } elseif ($node instanceof Twig_Node_Expression_Parent) {
-            // parent block is safe by definition
-            $this->setSafe($node, array('all'));
-        } elseif ($node instanceof Twig_Node_Expression_Conditional) {
-            // intersect safeness of both operands
-            $safe = $this->intersectSafe($this->getSafe($node->getNode('expr2')), $this->getSafe($node->getNode('expr3')));
-            $this->setSafe($node, $safe);
-        } elseif ($node instanceof Twig_Node_Expression_Filter) {
-            // filter expression is safe when the filter is safe
-            $name = $node->getNode('filter')->getAttribute('value');
-            $args = $node->getNode('arguments');
-            if (false !== $filter = $env->getFilter($name)) {
-                $safe = $filter->getSafe($args);
-                if (null === $safe) {
-                    $safe = $this->intersectSafe($this->getSafe($node->getNode('node')), $filter->getPreservesSafety());
-                }
-                $this->setSafe($node, $safe);
-            } else {
-                $this->setSafe($node, array());
-            }
-        } elseif ($node instanceof Twig_Node_Expression_Function) {
-            // function expression is safe when the function is safe
-            $name = $node->getAttribute('name');
-            $args = $node->getNode('arguments');
-            $function = $env->getFunction($name);
-            if (false !== $function) {
-                $this->setSafe($node, $function->getSafe($args));
-            } else {
-                $this->setSafe($node, array());
-            }
-        } elseif ($node instanceof Twig_Node_Expression_MethodCall) {
-            if ($node->getAttribute('safe')) {
-                $this->setSafe($node, array('all'));
-            } else {
-                $this->setSafe($node, array());
-            }
-        } elseif ($node instanceof Twig_Node_Expression_GetAttr && $node->getNode('node') instanceof Twig_Node_Expression_Name) {
-            $name = $node->getNode('node')->getAttribute('name');
-            // attributes on template instances are safe
-            if ('_self' == $name || in_array($name, $this->safeVars)) {
-                $this->setSafe($node, array('all'));
-            } else {
-                $this->setSafe($node, array());
-            }
-        } else {
-            $this->setSafe($node, array());
-        }
-
-        return $node;
-    }
-
-    protected function intersectSafe(array $a = null, array $b = null)
-    {
-        if (null === $a || null === $b) {
-            return array();
-        }
-
-        if (in_array('all', $a)) {
-            return $b;
-        }
-
-        if (in_array('all', $b)) {
-            return $a;
-        }
-
-        return array_intersect($a, $b);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getPriority()
-    {
-        return 0;
-    }
-}
diff --git a/lib/Twig/NodeVisitor/Sandbox.php b/lib/Twig/NodeVisitor/Sandbox.php
deleted file mode 100644
index fb27045baaf1e7a81ad22f9306ce9c6fd745baf1..0000000000000000000000000000000000000000
--- a/lib/Twig/NodeVisitor/Sandbox.php
+++ /dev/null
@@ -1,92 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Twig_NodeVisitor_Sandbox implements sandboxing.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_NodeVisitor_Sandbox implements Twig_NodeVisitorInterface
-{
-    protected $inAModule = false;
-    protected $tags;
-    protected $filters;
-    protected $functions;
-
-    /**
-     * Called before child nodes are visited.
-     *
-     * @param Twig_NodeInterface $node The node to visit
-     * @param Twig_Environment   $env  The Twig environment instance
-     *
-     * @return Twig_NodeInterface The modified node
-     */
-    public function enterNode(Twig_NodeInterface $node, Twig_Environment $env)
-    {
-        if ($node instanceof Twig_Node_Module) {
-            $this->inAModule = true;
-            $this->tags = array();
-            $this->filters = array();
-            $this->functions = array();
-
-            return $node;
-        } elseif ($this->inAModule) {
-            // look for tags
-            if ($node->getNodeTag()) {
-                $this->tags[] = $node->getNodeTag();
-            }
-
-            // look for filters
-            if ($node instanceof Twig_Node_Expression_Filter) {
-                $this->filters[] = $node->getNode('filter')->getAttribute('value');
-            }
-
-            // look for functions
-            if ($node instanceof Twig_Node_Expression_Function) {
-                $this->functions[] = $node->getAttribute('name');
-            }
-
-            // wrap print to check __toString() calls
-            if ($node instanceof Twig_Node_Print) {
-                return new Twig_Node_SandboxedPrint($node->getNode('expr'), $node->getLine(), $node->getNodeTag());
-            }
-        }
-
-        return $node;
-    }
-
-    /**
-     * Called after child nodes are visited.
-     *
-     * @param Twig_NodeInterface $node The node to visit
-     * @param Twig_Environment   $env  The Twig environment instance
-     *
-     * @return Twig_NodeInterface The modified node
-     */
-    public function leaveNode(Twig_NodeInterface $node, Twig_Environment $env)
-    {
-        if ($node instanceof Twig_Node_Module) {
-            $this->inAModule = false;
-
-            return new Twig_Node_SandboxedModule($node, array_unique($this->filters), array_unique($this->tags), array_unique($this->functions));
-        }
-
-        return $node;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getPriority()
-    {
-        return 0;
-    }
-}
diff --git a/lib/Twig/NodeVisitorInterface.php b/lib/Twig/NodeVisitorInterface.php
deleted file mode 100644
index f33c13fc2265ebd1522d3090471f33cc9d8dbc62..0000000000000000000000000000000000000000
--- a/lib/Twig/NodeVisitorInterface.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Twig_NodeVisitorInterface is the interface the all node visitor classes must implement.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-interface Twig_NodeVisitorInterface
-{
-    /**
-     * Called before child nodes are visited.
-     *
-     * @param Twig_NodeInterface $node The node to visit
-     * @param Twig_Environment   $env  The Twig environment instance
-     *
-     * @return Twig_NodeInterface The modified node
-     */
-    public function enterNode(Twig_NodeInterface $node, Twig_Environment $env);
-
-    /**
-     * Called after child nodes are visited.
-     *
-     * @param Twig_NodeInterface $node The node to visit
-     * @param Twig_Environment   $env  The Twig environment instance
-     *
-     * @return Twig_NodeInterface|false The modified node or false if the node must be removed
-     */
-    public function leaveNode(Twig_NodeInterface $node, Twig_Environment $env);
-
-    /**
-     * Returns the priority for this visitor.
-     *
-     * Priority should be between -10 and 10 (0 is the default).
-     *
-     * @return integer The priority level
-     */
-    public function getPriority();
-}
diff --git a/lib/Twig/Parser.php b/lib/Twig/Parser.php
deleted file mode 100644
index 958e46b3dfa51165cc8d000524e49a2c5514e87e..0000000000000000000000000000000000000000
--- a/lib/Twig/Parser.php
+++ /dev/null
@@ -1,394 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Default parser implementation.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Parser implements Twig_ParserInterface
-{
-    protected $stack = array();
-    protected $stream;
-    protected $parent;
-    protected $handlers;
-    protected $visitors;
-    protected $expressionParser;
-    protected $blocks;
-    protected $blockStack;
-    protected $macros;
-    protected $env;
-    protected $reservedMacroNames;
-    protected $importedSymbols;
-    protected $traits;
-    protected $embeddedTemplates = array();
-
-    /**
-     * Constructor.
-     *
-     * @param Twig_Environment $env A Twig_Environment instance
-     */
-    public function __construct(Twig_Environment $env)
-    {
-        $this->env = $env;
-    }
-
-    public function getEnvironment()
-    {
-        return $this->env;
-    }
-
-    public function getVarName()
-    {
-        return sprintf('__internal_%s', hash('sha1', uniqid(mt_rand(), true), false));
-    }
-
-    public function getFilename()
-    {
-        return $this->stream->getFilename();
-    }
-
-    /**
-     * Converts a token stream to a node tree.
-     *
-     * @param Twig_TokenStream $stream A token stream instance
-     *
-     * @return Twig_Node_Module A node tree
-     */
-    public function parse(Twig_TokenStream $stream, $test = null, $dropNeedle = false)
-    {
-        // push all variables into the stack to keep the current state of the parser
-        $vars = get_object_vars($this);
-        unset($vars['stack'], $vars['env'], $vars['handlers'], $vars['visitors'], $vars['expressionParser']);
-        $this->stack[] = $vars;
-
-        // tag handlers
-        if (null === $this->handlers) {
-            $this->handlers = $this->env->getTokenParsers();
-            $this->handlers->setParser($this);
-        }
-
-        // node visitors
-        if (null === $this->visitors) {
-            $this->visitors = $this->env->getNodeVisitors();
-        }
-
-        if (null === $this->expressionParser) {
-            $this->expressionParser = new Twig_ExpressionParser($this, $this->env->getUnaryOperators(), $this->env->getBinaryOperators());
-        }
-
-        $this->stream = $stream;
-        $this->parent = null;
-        $this->blocks = array();
-        $this->macros = array();
-        $this->traits = array();
-        $this->blockStack = array();
-        $this->importedSymbols = array(array());
-        $this->embeddedTemplates = array();
-
-        try {
-            $body = $this->subparse($test, $dropNeedle);
-
-            if (null !== $this->parent) {
-                if (null === $body = $this->filterBodyNodes($body)) {
-                    $body = new Twig_Node();
-                }
-            }
-        } catch (Twig_Error_Syntax $e) {
-            if (!$e->getTemplateFile()) {
-                $e->setTemplateFile($this->getFilename());
-            }
-
-            if (!$e->getTemplateLine()) {
-                $e->setTemplateLine($this->stream->getCurrent()->getLine());
-            }
-
-            throw $e;
-        }
-
-        $node = new Twig_Node_Module(new Twig_Node_Body(array($body)), $this->parent, new Twig_Node($this->blocks), new Twig_Node($this->macros), new Twig_Node($this->traits), $this->embeddedTemplates, $this->getFilename());
-
-        $traverser = new Twig_NodeTraverser($this->env, $this->visitors);
-
-        $node = $traverser->traverse($node);
-
-        // restore previous stack so previous parse() call can resume working
-        foreach (array_pop($this->stack) as $key => $val) {
-            $this->$key = $val;
-        }
-
-        return $node;
-    }
-
-    public function subparse($test, $dropNeedle = false)
-    {
-        $lineno = $this->getCurrentToken()->getLine();
-        $rv = array();
-        while (!$this->stream->isEOF()) {
-            switch ($this->getCurrentToken()->getType()) {
-                case Twig_Token::TEXT_TYPE:
-                    $token = $this->stream->next();
-                    $rv[] = new Twig_Node_Text($token->getValue(), $token->getLine());
-                    break;
-
-                case Twig_Token::VAR_START_TYPE:
-                    $token = $this->stream->next();
-                    $expr = $this->expressionParser->parseExpression();
-                    $this->stream->expect(Twig_Token::VAR_END_TYPE);
-                    $rv[] = new Twig_Node_Print($expr, $token->getLine());
-                    break;
-
-                case Twig_Token::BLOCK_START_TYPE:
-                    $this->stream->next();
-                    $token = $this->getCurrentToken();
-
-                    if ($token->getType() !== Twig_Token::NAME_TYPE) {
-                        throw new Twig_Error_Syntax('A block must start with a tag name', $token->getLine(), $this->getFilename());
-                    }
-
-                    if (null !== $test && call_user_func($test, $token)) {
-                        if ($dropNeedle) {
-                            $this->stream->next();
-                        }
-
-                        if (1 === count($rv)) {
-                            return $rv[0];
-                        }
-
-                        return new Twig_Node($rv, array(), $lineno);
-                    }
-
-                    $subparser = $this->handlers->getTokenParser($token->getValue());
-                    if (null === $subparser) {
-                        if (null !== $test) {
-                            $error = sprintf('Unexpected tag name "%s"', $token->getValue());
-                            if (is_array($test) && isset($test[0]) && $test[0] instanceof Twig_TokenParserInterface) {
-                                $error .= sprintf(' (expecting closing tag for the "%s" tag defined near line %s)', $test[0]->getTag(), $lineno);
-                            }
-
-                            throw new Twig_Error_Syntax($error, $token->getLine(), $this->getFilename());
-                        }
-
-                        $message = sprintf('Unknown tag name "%s"', $token->getValue());
-                        if ($alternatives = $this->env->computeAlternatives($token->getValue(), array_keys($this->env->getTags()))) {
-                            $message = sprintf('%s. Did you mean "%s"', $message, implode('", "', $alternatives));
-                        }
-
-                        throw new Twig_Error_Syntax($message, $token->getLine(), $this->getFilename());
-                    }
-
-                    $this->stream->next();
-
-                    $node = $subparser->parse($token);
-                    if (null !== $node) {
-                        $rv[] = $node;
-                    }
-                    break;
-
-                default:
-                    throw new Twig_Error_Syntax('Lexer or parser ended up in unsupported state.', 0, $this->getFilename());
-            }
-        }
-
-        if (1 === count($rv)) {
-            return $rv[0];
-        }
-
-        return new Twig_Node($rv, array(), $lineno);
-    }
-
-    public function addHandler($name, $class)
-    {
-        $this->handlers[$name] = $class;
-    }
-
-    public function addNodeVisitor(Twig_NodeVisitorInterface $visitor)
-    {
-        $this->visitors[] = $visitor;
-    }
-
-    public function getBlockStack()
-    {
-        return $this->blockStack;
-    }
-
-    public function peekBlockStack()
-    {
-        return $this->blockStack[count($this->blockStack) - 1];
-    }
-
-    public function popBlockStack()
-    {
-        array_pop($this->blockStack);
-    }
-
-    public function pushBlockStack($name)
-    {
-        $this->blockStack[] = $name;
-    }
-
-    public function hasBlock($name)
-    {
-        return isset($this->blocks[$name]);
-    }
-
-    public function getBlock($name)
-    {
-        return $this->blocks[$name];
-    }
-
-    public function setBlock($name, $value)
-    {
-        $this->blocks[$name] = new Twig_Node_Body(array($value), array(), $value->getLine());
-    }
-
-    public function hasMacro($name)
-    {
-        return isset($this->macros[$name]);
-    }
-
-    public function setMacro($name, Twig_Node_Macro $node)
-    {
-        if (null === $this->reservedMacroNames) {
-            $this->reservedMacroNames = array();
-            $r = new ReflectionClass($this->env->getBaseTemplateClass());
-            foreach ($r->getMethods() as $method) {
-                $this->reservedMacroNames[] = $method->getName();
-            }
-        }
-
-        if (in_array($name, $this->reservedMacroNames)) {
-            throw new Twig_Error_Syntax(sprintf('"%s" cannot be used as a macro name as it is a reserved keyword', $name), $node->getLine(), $this->getFilename());
-        }
-
-        $this->macros[$name] = $node;
-    }
-
-    public function addTrait($trait)
-    {
-        $this->traits[] = $trait;
-    }
-
-    public function hasTraits()
-    {
-        return count($this->traits) > 0;
-    }
-
-    public function embedTemplate(Twig_Node_Module $template)
-    {
-        $template->setIndex(mt_rand());
-
-        $this->embeddedTemplates[] = $template;
-    }
-
-    public function addImportedSymbol($type, $alias, $name = null, Twig_Node_Expression $node = null)
-    {
-        $this->importedSymbols[0][$type][$alias] = array('name' => $name, 'node' => $node);
-    }
-
-    public function getImportedSymbol($type, $alias)
-    {
-        foreach ($this->importedSymbols as $functions) {
-            if (isset($functions[$type][$alias])) {
-                return $functions[$type][$alias];
-            }
-        }
-    }
-
-    public function isMainScope()
-    {
-        return 1 === count($this->importedSymbols);
-    }
-
-    public function pushLocalScope()
-    {
-        array_unshift($this->importedSymbols, array());
-    }
-
-    public function popLocalScope()
-    {
-        array_shift($this->importedSymbols);
-    }
-
-    /**
-     * Gets the expression parser.
-     *
-     * @return Twig_ExpressionParser The expression parser
-     */
-    public function getExpressionParser()
-    {
-        return $this->expressionParser;
-    }
-
-    public function getParent()
-    {
-        return $this->parent;
-    }
-
-    public function setParent($parent)
-    {
-        $this->parent = $parent;
-    }
-
-    /**
-     * Gets the token stream.
-     *
-     * @return Twig_TokenStream The token stream
-     */
-    public function getStream()
-    {
-        return $this->stream;
-    }
-
-    /**
-     * Gets the current token.
-     *
-     * @return Twig_Token The current token
-     */
-    public function getCurrentToken()
-    {
-        return $this->stream->getCurrent();
-    }
-
-    protected function filterBodyNodes(Twig_NodeInterface $node)
-    {
-        // check that the body does not contain non-empty output nodes
-        if (
-            ($node instanceof Twig_Node_Text && !ctype_space($node->getAttribute('data')))
-            ||
-            (!$node instanceof Twig_Node_Text && !$node instanceof Twig_Node_BlockReference && $node instanceof Twig_NodeOutputInterface)
-        ) {
-            if (false !== strpos((string) $node, chr(0xEF).chr(0xBB).chr(0xBF))) {
-                throw new Twig_Error_Syntax('A template that extends another one cannot have a body but a byte order mark (BOM) has been detected; it must be removed.', $node->getLine(), $this->getFilename());
-            }
-
-            throw new Twig_Error_Syntax('A template that extends another one cannot have a body.', $node->getLine(), $this->getFilename());
-        }
-
-        // bypass "set" nodes as they "capture" the output
-        if ($node instanceof Twig_Node_Set) {
-            return $node;
-        }
-
-        if ($node instanceof Twig_NodeOutputInterface) {
-            return;
-        }
-
-        foreach ($node as $k => $n) {
-            if (null !== $n && null === $n = $this->filterBodyNodes($n)) {
-                $node->removeNode($k);
-            }
-        }
-
-        return $node;
-    }
-}
diff --git a/lib/Twig/ParserInterface.php b/lib/Twig/ParserInterface.php
deleted file mode 100644
index f0d790097ecd633a4a504254db0f1acf75524e8e..0000000000000000000000000000000000000000
--- a/lib/Twig/ParserInterface.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface implemented by parser classes.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-interface Twig_ParserInterface
-{
-    /**
-     * Converts a token stream to a node tree.
-     *
-     * @param Twig_TokenStream $stream A token stream instance
-     *
-     * @return Twig_Node_Module A node tree
-     */
-    public function parse(Twig_TokenStream $stream);
-}
diff --git a/lib/Twig/Sandbox/SecurityError.php b/lib/Twig/Sandbox/SecurityError.php
deleted file mode 100644
index 015bfaea22b6a3cca748ef9e89fa290c0a8b848e..0000000000000000000000000000000000000000
--- a/lib/Twig/Sandbox/SecurityError.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Exception thrown when a security error occurs at runtime.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Sandbox_SecurityError extends Twig_Error
-{
-}
diff --git a/lib/Twig/Sandbox/SecurityPolicy.php b/lib/Twig/Sandbox/SecurityPolicy.php
deleted file mode 100644
index 66ee233200b39c76a4896f7764097767ba088ef9..0000000000000000000000000000000000000000
--- a/lib/Twig/Sandbox/SecurityPolicy.php
+++ /dev/null
@@ -1,119 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a security policy which need to be enforced when sandbox mode is enabled.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Sandbox_SecurityPolicy implements Twig_Sandbox_SecurityPolicyInterface
-{
-    protected $allowedTags;
-    protected $allowedFilters;
-    protected $allowedMethods;
-    protected $allowedProperties;
-    protected $allowedFunctions;
-
-    public function __construct(array $allowedTags = array(), array $allowedFilters = array(), array $allowedMethods = array(), array $allowedProperties = array(), array $allowedFunctions = array())
-    {
-        $this->allowedTags = $allowedTags;
-        $this->allowedFilters = $allowedFilters;
-        $this->setAllowedMethods($allowedMethods);
-        $this->allowedProperties = $allowedProperties;
-        $this->allowedFunctions = $allowedFunctions;
-    }
-
-    public function setAllowedTags(array $tags)
-    {
-        $this->allowedTags = $tags;
-    }
-
-    public function setAllowedFilters(array $filters)
-    {
-        $this->allowedFilters = $filters;
-    }
-
-    public function setAllowedMethods(array $methods)
-    {
-        $this->allowedMethods = array();
-        foreach ($methods as $class => $m) {
-            $this->allowedMethods[$class] = array_map('strtolower', is_array($m) ? $m : array($m));
-        }
-    }
-
-    public function setAllowedProperties(array $properties)
-    {
-        $this->allowedProperties = $properties;
-    }
-
-    public function setAllowedFunctions(array $functions)
-    {
-        $this->allowedFunctions = $functions;
-    }
-
-    public function checkSecurity($tags, $filters, $functions)
-    {
-        foreach ($tags as $tag) {
-            if (!in_array($tag, $this->allowedTags)) {
-                throw new Twig_Sandbox_SecurityError(sprintf('Tag "%s" is not allowed.', $tag));
-            }
-        }
-
-        foreach ($filters as $filter) {
-            if (!in_array($filter, $this->allowedFilters)) {
-                throw new Twig_Sandbox_SecurityError(sprintf('Filter "%s" is not allowed.', $filter));
-            }
-        }
-
-        foreach ($functions as $function) {
-            if (!in_array($function, $this->allowedFunctions)) {
-                throw new Twig_Sandbox_SecurityError(sprintf('Function "%s" is not allowed.', $function));
-            }
-        }
-    }
-
-    public function checkMethodAllowed($obj, $method)
-    {
-        if ($obj instanceof Twig_TemplateInterface || $obj instanceof Twig_Markup) {
-            return true;
-        }
-
-        $allowed = false;
-        $method = strtolower($method);
-        foreach ($this->allowedMethods as $class => $methods) {
-            if ($obj instanceof $class) {
-                $allowed = in_array($method, $methods);
-
-                break;
-            }
-        }
-
-        if (!$allowed) {
-            throw new Twig_Sandbox_SecurityError(sprintf('Calling "%s" method on a "%s" object is not allowed.', $method, get_class($obj)));
-        }
-    }
-
-    public function checkPropertyAllowed($obj, $property)
-    {
-        $allowed = false;
-        foreach ($this->allowedProperties as $class => $properties) {
-            if ($obj instanceof $class) {
-                $allowed = in_array($property, is_array($properties) ? $properties : array($properties));
-
-                break;
-            }
-        }
-
-        if (!$allowed) {
-            throw new Twig_Sandbox_SecurityError(sprintf('Calling "%s" property on a "%s" object is not allowed.', $property, get_class($obj)));
-        }
-    }
-}
diff --git a/lib/Twig/Sandbox/SecurityPolicyInterface.php b/lib/Twig/Sandbox/SecurityPolicyInterface.php
deleted file mode 100644
index 6ab48e3cc98dc50fc02b4d9cfc3bd9d13f383a2e..0000000000000000000000000000000000000000
--- a/lib/Twig/Sandbox/SecurityPolicyInterface.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interfaces that all security policy classes must implements.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-interface Twig_Sandbox_SecurityPolicyInterface
-{
-    public function checkSecurity($tags, $filters, $functions);
-
-    public function checkMethodAllowed($obj, $method);
-
-    public function checkPropertyAllowed($obj, $method);
-}
diff --git a/lib/Twig/SimpleFilter.php b/lib/Twig/SimpleFilter.php
deleted file mode 100644
index a6bf60f80c557f6b9003796a08966520b06d601a..0000000000000000000000000000000000000000
--- a/lib/Twig/SimpleFilter.php
+++ /dev/null
@@ -1,96 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009-2012 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a template filter.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_SimpleFilter
-{
-    protected $name;
-    protected $callable;
-    protected $options;
-    protected $arguments = array();
-
-    public function __construct($name, $callable, array $options = array())
-    {
-        $this->name = $name;
-        $this->callable = $callable;
-        $this->options = array_merge(array(
-            'needs_environment' => false,
-            'needs_context'     => false,
-            'is_safe'           => null,
-            'is_safe_callback'  => null,
-            'pre_escape'        => null,
-            'preserves_safety'  => null,
-            'node_class'        => 'Twig_Node_Expression_Filter',
-        ), $options);
-    }
-
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    public function getCallable()
-    {
-        return $this->callable;
-    }
-
-    public function getNodeClass()
-    {
-        return $this->options['node_class'];
-    }
-
-    public function setArguments($arguments)
-    {
-        $this->arguments = $arguments;
-    }
-
-    public function getArguments()
-    {
-        return $this->arguments;
-    }
-
-    public function needsEnvironment()
-    {
-        return $this->options['needs_environment'];
-    }
-
-    public function needsContext()
-    {
-        return $this->options['needs_context'];
-    }
-
-    public function getSafe(Twig_Node $filterArgs)
-    {
-        if (null !== $this->options['is_safe']) {
-            return $this->options['is_safe'];
-        }
-
-        if (null !== $this->options['is_safe_callback']) {
-            return call_user_func($this->options['is_safe_callback'], $filterArgs);
-        }
-
-        return null;
-    }
-
-    public function getPreservesSafety()
-    {
-        return $this->options['preserves_safety'];
-    }
-
-    public function getPreEscape()
-    {
-        return $this->options['pre_escape'];
-    }
-}
diff --git a/lib/Twig/SimpleFunction.php b/lib/Twig/SimpleFunction.php
deleted file mode 100644
index 8ef6aca2ff520898283226c2cc754710fd92e151..0000000000000000000000000000000000000000
--- a/lib/Twig/SimpleFunction.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010-2012 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a template function.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_SimpleFunction
-{
-    protected $name;
-    protected $callable;
-    protected $options;
-    protected $arguments = array();
-
-    public function __construct($name, $callable, array $options = array())
-    {
-        $this->name = $name;
-        $this->callable = $callable;
-        $this->options = array_merge(array(
-            'needs_environment' => false,
-            'needs_context'     => false,
-            'is_safe'           => null,
-            'is_safe_callback'  => null,
-            'node_class'        => 'Twig_Node_Expression_Function',
-        ), $options);
-    }
-
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    public function getCallable()
-    {
-        return $this->callable;
-    }
-
-    public function getNodeClass()
-    {
-        return $this->options['node_class'];
-    }
-
-    public function setArguments($arguments)
-    {
-        $this->arguments = $arguments;
-    }
-
-    public function getArguments()
-    {
-        return $this->arguments;
-    }
-
-    public function needsEnvironment()
-    {
-        return $this->options['needs_environment'];
-    }
-
-    public function needsContext()
-    {
-        return $this->options['needs_context'];
-    }
-
-    public function getSafe(Twig_Node $functionArgs)
-    {
-        if (null !== $this->options['is_safe']) {
-            return $this->options['is_safe'];
-        }
-
-        if (null !== $this->options['is_safe_callback']) {
-            return call_user_func($this->options['is_safe_callback'], $functionArgs);
-        }
-
-        return array();
-    }
-}
diff --git a/lib/Twig/SimpleTest.php b/lib/Twig/SimpleTest.php
deleted file mode 100644
index 225459c9f12982276f9ea2aad81150cb205687f0..0000000000000000000000000000000000000000
--- a/lib/Twig/SimpleTest.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010-2012 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a template test.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_SimpleTest
-{
-    protected $name;
-    protected $callable;
-    protected $options;
-
-    public function __construct($name, $callable, array $options = array())
-    {
-        $this->name = $name;
-        $this->callable = $callable;
-        $this->options = array_merge(array(
-            'node_class' => 'Twig_Node_Expression_Test',
-        ), $options);
-    }
-
-    public function getName()
-    {
-        return $this->name;
-    }
-
-    public function getCallable()
-    {
-        return $this->callable;
-    }
-
-    public function getNodeClass()
-    {
-        return $this->options['node_class'];
-    }
-}
diff --git a/lib/Twig/Template.php b/lib/Twig/Template.php
deleted file mode 100644
index a001ca03706be65f8d2fee8e5b8065c57563d3b5..0000000000000000000000000000000000000000
--- a/lib/Twig/Template.php
+++ /dev/null
@@ -1,455 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Default base class for compiled templates.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-abstract class Twig_Template implements Twig_TemplateInterface
-{
-    protected static $cache = array();
-
-    protected $parent;
-    protected $parents;
-    protected $env;
-    protected $blocks;
-    protected $traits;
-
-    /**
-     * Constructor.
-     *
-     * @param Twig_Environment $env A Twig_Environment instance
-     */
-    public function __construct(Twig_Environment $env)
-    {
-        $this->env = $env;
-        $this->blocks = array();
-        $this->traits = array();
-    }
-
-    /**
-     * Returns the template name.
-     *
-     * @return string The template name
-     */
-    abstract public function getTemplateName();
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getEnvironment()
-    {
-        return $this->env;
-    }
-
-    /**
-     * Returns the parent template.
-     *
-     * This method is for internal use only and should never be called
-     * directly.
-     *
-     * @return Twig_TemplateInterface|false The parent template or false if there is no parent
-     */
-    public function getParent(array $context)
-    {
-        if (null !== $this->parent) {
-            return $this->parent;
-        }
-
-        $parent = $this->doGetParent($context);
-        if (false === $parent) {
-            return false;
-        } elseif ($parent instanceof Twig_Template) {
-            $name = $parent->getTemplateName();
-            $this->parents[$name] = $parent;
-            $parent = $name;
-        } elseif (!isset($this->parents[$parent])) {
-            $this->parents[$parent] = $this->env->loadTemplate($parent);
-        }
-
-        return $this->parents[$parent];
-    }
-
-    protected function doGetParent(array $context)
-    {
-        return false;
-    }
-
-    public function isTraitable()
-    {
-        return true;
-    }
-
-    /**
-     * Displays a parent block.
-     *
-     * This method is for internal use only and should never be called
-     * directly.
-     *
-     * @param string $name    The block name to display from the parent
-     * @param array  $context The context
-     * @param array  $blocks  The current set of blocks
-     */
-    public function displayParentBlock($name, array $context, array $blocks = array())
-    {
-        $name = (string) $name;
-
-        if (isset($this->traits[$name])) {
-            $this->traits[$name][0]->displayBlock($name, $context, $blocks);
-        } elseif (false !== $parent = $this->getParent($context)) {
-            $parent->displayBlock($name, $context, $blocks);
-        } else {
-            throw new Twig_Error_Runtime(sprintf('The template has no parent and no traits defining the "%s" block', $name), -1, $this->getTemplateName());
-        }
-    }
-
-    /**
-     * Displays a block.
-     *
-     * This method is for internal use only and should never be called
-     * directly.
-     *
-     * @param string $name    The block name to display
-     * @param array  $context The context
-     * @param array  $blocks  The current set of blocks
-     */
-    public function displayBlock($name, array $context, array $blocks = array())
-    {
-        $name = (string) $name;
-
-        if (isset($blocks[$name])) {
-            $b = $blocks;
-            unset($b[$name]);
-            call_user_func($blocks[$name], $context, $b);
-        } elseif (isset($this->blocks[$name])) {
-            call_user_func($this->blocks[$name], $context, $blocks);
-        } elseif (false !== $parent = $this->getParent($context)) {
-            $parent->displayBlock($name, $context, array_merge($this->blocks, $blocks));
-        }
-    }
-
-    /**
-     * Renders a parent block.
-     *
-     * This method is for internal use only and should never be called
-     * directly.
-     *
-     * @param string $name    The block name to render from the parent
-     * @param array  $context The context
-     * @param array  $blocks  The current set of blocks
-     *
-     * @return string The rendered block
-     */
-    public function renderParentBlock($name, array $context, array $blocks = array())
-    {
-        ob_start();
-        $this->displayParentBlock($name, $context, $blocks);
-
-        return ob_get_clean();
-    }
-
-    /**
-     * Renders a block.
-     *
-     * This method is for internal use only and should never be called
-     * directly.
-     *
-     * @param string $name    The block name to render
-     * @param array  $context The context
-     * @param array  $blocks  The current set of blocks
-     *
-     * @return string The rendered block
-     */
-    public function renderBlock($name, array $context, array $blocks = array())
-    {
-        ob_start();
-        $this->displayBlock($name, $context, $blocks);
-
-        return ob_get_clean();
-    }
-
-    /**
-     * Returns whether a block exists or not.
-     *
-     * This method is for internal use only and should never be called
-     * directly.
-     *
-     * This method does only return blocks defined in the current template
-     * or defined in "used" traits.
-     *
-     * It does not return blocks from parent templates as the parent
-     * template name can be dynamic, which is only known based on the
-     * current context.
-     *
-     * @param string $name The block name
-     *
-     * @return Boolean true if the block exists, false otherwise
-     */
-    public function hasBlock($name)
-    {
-        return isset($this->blocks[(string) $name]);
-    }
-
-    /**
-     * Returns all block names.
-     *
-     * This method is for internal use only and should never be called
-     * directly.
-     *
-     * @return array An array of block names
-     *
-     * @see hasBlock
-     */
-    public function getBlockNames()
-    {
-        return array_keys($this->blocks);
-    }
-
-    /**
-     * Returns all blocks.
-     *
-     * This method is for internal use only and should never be called
-     * directly.
-     *
-     * @return array An array of blocks
-     *
-     * @see hasBlock
-     */
-    public function getBlocks()
-    {
-        return $this->blocks;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function display(array $context, array $blocks = array())
-    {
-        $this->displayWithErrorHandling($this->env->mergeGlobals($context), $blocks);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function render(array $context)
-    {
-        $level = ob_get_level();
-        ob_start();
-        try {
-            $this->display($context);
-        } catch (Exception $e) {
-            while (ob_get_level() > $level) {
-                ob_end_clean();
-            }
-
-            throw $e;
-        }
-
-        return ob_get_clean();
-    }
-
-    protected function displayWithErrorHandling(array $context, array $blocks = array())
-    {
-        try {
-            $this->doDisplay($context, $blocks);
-        } catch (Twig_Error $e) {
-            if (!$e->getTemplateFile()) {
-                $e->setTemplateFile($this->getTemplateName());
-            }
-
-            // this is mostly useful for Twig_Error_Loader exceptions
-            // see Twig_Error_Loader
-            if (false === $e->getTemplateLine()) {
-                $e->setTemplateLine(-1);
-                $e->guess();
-            }
-
-            throw $e;
-        } catch (Exception $e) {
-            throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, null, $e);
-        }
-    }
-
-    /**
-     * Auto-generated method to display the template with the given context.
-     *
-     * @param array $context An array of parameters to pass to the template
-     * @param array $blocks  An array of blocks to pass to the template
-     */
-    abstract protected function doDisplay(array $context, array $blocks = array());
-
-    /**
-     * Returns a variable from the context.
-     *
-     * This method is for internal use only and should never be called
-     * directly.
-     *
-     * This method should not be overridden in a sub-class as this is an
-     * implementation detail that has been introduced to optimize variable
-     * access for versions of PHP before 5.4. This is not a way to override
-     * the way to get a variable value.
-     *
-     * @param array   $context           The context
-     * @param string  $item              The variable to return from the context
-     * @param Boolean $ignoreStrictCheck Whether to ignore the strict variable check or not
-     *
-     * @return The content of the context variable
-     *
-     * @throws Twig_Error_Runtime if the variable does not exist and Twig is running in strict mode
-     */
-    final protected function getContext($context, $item, $ignoreStrictCheck = false)
-    {
-        if (!array_key_exists($item, $context)) {
-            if ($ignoreStrictCheck || !$this->env->isStrictVariables()) {
-                return null;
-            }
-
-            throw new Twig_Error_Runtime(sprintf('Variable "%s" does not exist', $item), -1, $this->getTemplateName());
-        }
-
-        return $context[$item];
-    }
-
-    /**
-     * Returns the attribute value for a given array/object.
-     *
-     * @param mixed   $object            The object or array from where to get the item
-     * @param mixed   $item              The item to get from the array or object
-     * @param array   $arguments         An array of arguments to pass if the item is an object method
-     * @param string  $type              The type of attribute (@see Twig_TemplateInterface)
-     * @param Boolean $isDefinedTest     Whether this is only a defined check
-     * @param Boolean $ignoreStrictCheck Whether to ignore the strict attribute check or not
-     *
-     * @return mixed The attribute value, or a Boolean when $isDefinedTest is true, or null when the attribute is not set and $ignoreStrictCheck is true
-     *
-     * @throws Twig_Error_Runtime if the attribute does not exist and Twig is running in strict mode and $isDefinedTest is false
-     */
-    protected function getAttribute($object, $item, array $arguments = array(), $type = Twig_TemplateInterface::ANY_CALL, $isDefinedTest = false, $ignoreStrictCheck = false)
-    {
-        // array
-        if (Twig_TemplateInterface::METHOD_CALL !== $type) {
-            $arrayItem = is_bool($item) || is_float($item) ? (int) $item : $item;
-
-            if ((is_array($object) && array_key_exists($arrayItem, $object))
-                || ($object instanceof ArrayAccess && isset($object[$arrayItem]))
-            ) {
-                if ($isDefinedTest) {
-                    return true;
-                }
-
-                return $object[$arrayItem];
-            }
-
-            if (Twig_TemplateInterface::ARRAY_CALL === $type || !is_object($object)) {
-                if ($isDefinedTest) {
-                    return false;
-                }
-
-                if ($ignoreStrictCheck || !$this->env->isStrictVariables()) {
-                    return null;
-                }
-
-                if (is_object($object)) {
-                    throw new Twig_Error_Runtime(sprintf('Key "%s" in object (with ArrayAccess) of type "%s" does not exist', $arrayItem, get_class($object)), -1, $this->getTemplateName());
-                } elseif (is_array($object)) {
-                    throw new Twig_Error_Runtime(sprintf('Key "%s" for array with keys "%s" does not exist', $arrayItem, implode(', ', array_keys($object))), -1, $this->getTemplateName());
-                } elseif (Twig_TemplateInterface::ARRAY_CALL === $type) {
-                    throw new Twig_Error_Runtime(sprintf('Impossible to access a key ("%s") on a %s variable ("%s")', $item, gettype($object), $object), -1, $this->getTemplateName());
-                } else {
-                    throw new Twig_Error_Runtime(sprintf('Impossible to access an attribute ("%s") on a %s variable ("%s")', $item, gettype($object), $object), -1, $this->getTemplateName());
-                }
-            }
-        }
-
-        if (!is_object($object)) {
-            if ($isDefinedTest) {
-                return false;
-            }
-
-            if ($ignoreStrictCheck || !$this->env->isStrictVariables()) {
-                return null;
-            }
-
-            throw new Twig_Error_Runtime(sprintf('Impossible to invoke a method ("%s") on a %s variable ("%s")', $item, gettype($object), $object), -1, $this->getTemplateName());
-        }
-
-        $class = get_class($object);
-
-        // object property
-        if (Twig_TemplateInterface::METHOD_CALL !== $type) {
-            if (isset($object->$item) || array_key_exists((string) $item, $object)) {
-                if ($isDefinedTest) {
-                    return true;
-                }
-
-                if ($this->env->hasExtension('sandbox')) {
-                    $this->env->getExtension('sandbox')->checkPropertyAllowed($object, $item);
-                }
-
-                return $object->$item;
-            }
-        }
-
-        // object method
-        if (!isset(self::$cache[$class]['methods'])) {
-            self::$cache[$class]['methods'] = array_change_key_case(array_flip(get_class_methods($object)));
-        }
-
-        $lcItem = strtolower($item);
-        if (isset(self::$cache[$class]['methods'][$lcItem])) {
-            $method = (string) $item;
-        } elseif (isset(self::$cache[$class]['methods']['get'.$lcItem])) {
-            $method = 'get'.$item;
-        } elseif (isset(self::$cache[$class]['methods']['is'.$lcItem])) {
-            $method = 'is'.$item;
-        } elseif (isset(self::$cache[$class]['methods']['__call'])) {
-            $method = (string) $item;
-        } else {
-            if ($isDefinedTest) {
-                return false;
-            }
-
-            if ($ignoreStrictCheck || !$this->env->isStrictVariables()) {
-                return null;
-            }
-
-            throw new Twig_Error_Runtime(sprintf('Method "%s" for object "%s" does not exist', $item, get_class($object)), -1, $this->getTemplateName());
-        }
-
-        if ($isDefinedTest) {
-            return true;
-        }
-
-        if ($this->env->hasExtension('sandbox')) {
-            $this->env->getExtension('sandbox')->checkMethodAllowed($object, $method);
-        }
-
-        $ret = call_user_func_array(array($object, $method), $arguments);
-
-        // useful when calling a template method from a template
-        // this is not supported but unfortunately heavily used in the Symfony profiler
-        if ($object instanceof Twig_TemplateInterface) {
-            return $ret === '' ? '' : new Twig_Markup($ret, $this->env->getCharset());
-        }
-
-        return $ret;
-    }
-
-    /**
-     * This method is only useful when testing Twig. Do not use it.
-     */
-    public static function clearCache()
-    {
-        self::$cache = array();
-    }
-}
diff --git a/lib/Twig/TemplateInterface.php b/lib/Twig/TemplateInterface.php
deleted file mode 100644
index 879f503ec1d39df57514415c7fa73d6e718d50d1..0000000000000000000000000000000000000000
--- a/lib/Twig/TemplateInterface.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface implemented by all compiled templates.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-interface Twig_TemplateInterface
-{
-    const ANY_CALL    = 'any';
-    const ARRAY_CALL  = 'array';
-    const METHOD_CALL = 'method';
-
-    /**
-     * Renders the template with the given context and returns it as string.
-     *
-     * @param array $context An array of parameters to pass to the template
-     *
-     * @return string The rendered template
-     */
-    public function render(array $context);
-
-    /**
-     * Displays the template with the given context.
-     *
-     * @param array $context An array of parameters to pass to the template
-     * @param array $blocks  An array of blocks to pass to the template
-     */
-    public function display(array $context, array $blocks = array());
-
-    /**
-     * Returns the bound environment for this template.
-     *
-     * @return Twig_Environment The current environment
-     */
-    public function getEnvironment();
-}
diff --git a/lib/Twig/Test.php b/lib/Twig/Test.php
deleted file mode 100644
index 3baff88560fe9b8c83a2a597c00c8f7b48bb8ea0..0000000000000000000000000000000000000000
--- a/lib/Twig/Test.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2012 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a template test.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-abstract class Twig_Test implements Twig_TestInterface, Twig_TestCallableInterface
-{
-    protected $options;
-    protected $arguments = array();
-
-    public function __construct(array $options = array())
-    {
-        $this->options = array_merge(array(
-            'callable' => null,
-        ), $options);
-    }
-
-    public function getCallable()
-    {
-        return $this->options['callable'];
-    }
-}
diff --git a/lib/Twig/Test/Function.php b/lib/Twig/Test/Function.php
deleted file mode 100644
index 4be6b9b924274420b785e36d34e0e7149b8e56b4..0000000000000000000000000000000000000000
--- a/lib/Twig/Test/Function.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a function template test.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-class Twig_Test_Function extends Twig_Test
-{
-    protected $function;
-
-    public function __construct($function, array $options = array())
-    {
-        $options['callable'] = $function;
-
-        parent::__construct($options);
-
-        $this->function = $function;
-    }
-
-    public function compile()
-    {
-        return $this->function;
-    }
-}
diff --git a/lib/Twig/Test/IntegrationTestCase.php b/lib/Twig/Test/IntegrationTestCase.php
deleted file mode 100644
index 724f09417801b361e164f0d8be7c1a156781bc77..0000000000000000000000000000000000000000
--- a/lib/Twig/Test/IntegrationTestCase.php
+++ /dev/null
@@ -1,154 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Integration test helper
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @author Karma Dordrak <drak@zikula.org>
- */
-abstract class Twig_Test_IntegrationTestCase extends PHPUnit_Framework_TestCase
-{
-    abstract protected function getExtensions();
-    abstract protected function getFixturesDir();
-
-    /**
-     * @dataProvider getTests
-     */
-    public function testIntegration($file, $message, $condition, $templates, $exception, $outputs)
-    {
-        $this->doIntegrationTest($file, $message, $condition, $templates, $exception, $outputs);
-    }
-
-    public function getTests()
-    {
-        $fixturesDir = realpath($this->getFixturesDir());
-        $tests = array();
-
-        foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($fixturesDir), RecursiveIteratorIterator::LEAVES_ONLY) as $file) {
-            if (!preg_match('/\.test$/', $file)) {
-                continue;
-            }
-
-            $test = file_get_contents($file->getRealpath());
-
-            if (preg_match('/
-                    --TEST--\s*(.*?)\s*(?:--CONDITION--\s*(.*))?\s*((?:--TEMPLATE(?:\(.*?\))?--(?:.*?))+)\s*(?:--DATA--\s*(.*))?\s*--EXCEPTION--\s*(.*)/sx', $test, $match)) {
-                $message = $match[1];
-                $condition = $match[2];
-                $templates = $this->parseTemplates($match[3]);
-                $exception = $match[5];
-                $outputs = array(array(null, $match[4], null, ''));
-            } elseif (preg_match('/--TEST--\s*(.*?)\s*(?:--CONDITION--\s*(.*))?\s*((?:--TEMPLATE(?:\(.*?\))?--(?:.*?))+)--DATA--.*?--EXPECT--.*/s', $test, $match)) {
-                $message = $match[1];
-                $condition = $match[2];
-                $templates = $this->parseTemplates($match[3]);
-                $exception = false;
-                preg_match_all('/--DATA--(.*?)(?:--CONFIG--(.*?))?--EXPECT--(.*?)(?=\-\-DATA\-\-|$)/s', $test, $outputs, PREG_SET_ORDER);
-            } else {
-                throw new InvalidArgumentException(sprintf('Test "%s" is not valid.', str_replace($fixturesDir.'/', '', $file)));
-            }
-
-            $tests[] = array(str_replace($fixturesDir.'/', '', $file), $message, $condition, $templates, $exception, $outputs);
-        }
-
-        return $tests;
-    }
-
-    protected function doIntegrationTest($file, $message, $condition, $templates, $exception, $outputs)
-    {
-        if ($condition) {
-            eval('$ret = '.$condition.';');
-            if (!$ret) {
-                $this->markTestSkipped($condition);
-            }
-        }
-
-        $loader = new Twig_Loader_Array($templates);
-
-        foreach ($outputs as $match) {
-            $config = array_merge(array(
-                'cache' => false,
-                'strict_variables' => true,
-            ), $match[2] ? eval($match[2].';') : array());
-            $twig = new Twig_Environment($loader, $config);
-            $twig->addGlobal('global', 'global');
-            foreach ($this->getExtensions() as $extension) {
-                $twig->addExtension($extension);
-            }
-
-            try {
-                $template = $twig->loadTemplate('index.twig');
-            } catch (Exception $e) {
-                if (false !== $exception) {
-                    $this->assertEquals(trim($exception), trim(sprintf('%s: %s', get_class($e), $e->getMessage())));
-
-                    return;
-                }
-
-                if ($e instanceof Twig_Error_Syntax) {
-                    $e->setTemplateFile($file);
-
-                    throw $e;
-                }
-
-                throw new Twig_Error(sprintf('%s: %s', get_class($e), $e->getMessage()), -1, $file, $e);
-            }
-
-            try {
-                $output = trim($template->render(eval($match[1].';')), "\n ");
-            } catch (Exception $e) {
-                if (false !== $exception) {
-                    $this->assertEquals(trim($exception), trim(sprintf('%s: %s', get_class($e), $e->getMessage())));
-
-                    return;
-                }
-
-                if ($e instanceof Twig_Error_Syntax) {
-                    $e->setTemplateFile($file);
-                } else {
-                    $e = new Twig_Error(sprintf('%s: %s', get_class($e), $e->getMessage()), -1, $file, $e);
-                }
-
-                $output = trim(sprintf('%s: %s', get_class($e), $e->getMessage()));
-            }
-
-            if (false !== $exception) {
-                list($class, ) = explode(':', $exception);
-                $this->assertThat(NULL, new PHPUnit_Framework_Constraint_Exception($class));
-            }
-
-            $expected = trim($match[3], "\n ");
-
-            if ($expected != $output) {
-                echo 'Compiled template that failed:';
-
-                foreach (array_keys($templates) as $name) {
-                    echo "Template: $name\n";
-                    $source = $loader->getSource($name);
-                    echo $twig->compile($twig->parse($twig->tokenize($source, $name)));
-                }
-            }
-            $this->assertEquals($expected, $output, $message.' (in '.$file.')');
-        }
-    }
-
-    protected static function parseTemplates($test)
-    {
-        $templates = array();
-        preg_match_all('/--TEMPLATE(?:\((.*?)\))?--(.*?)(?=\-\-TEMPLATE|$)/s', $test, $matches, PREG_SET_ORDER);
-        foreach ($matches as $match) {
-            $templates[($match[1] ? $match[1] : 'index.twig')] = $match[2];
-        }
-
-        return $templates;
-    }
-}
diff --git a/lib/Twig/Test/Method.php b/lib/Twig/Test/Method.php
deleted file mode 100644
index 17c6c041d6255b253c5516f16a2fa31aacea6c3f..0000000000000000000000000000000000000000
--- a/lib/Twig/Test/Method.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a method template test.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-class Twig_Test_Method extends Twig_Test
-{
-    protected $extension;
-    protected $method;
-
-    public function __construct(Twig_ExtensionInterface $extension, $method, array $options = array())
-    {
-        $options['callable'] = array($extension, $method);
-
-        parent::__construct($options);
-
-        $this->extension = $extension;
-        $this->method = $method;
-    }
-
-    public function compile()
-    {
-        return sprintf('$this->env->getExtension(\'%s\')->%s', $this->extension->getName(), $this->method);
-    }
-}
diff --git a/lib/Twig/Test/Node.php b/lib/Twig/Test/Node.php
deleted file mode 100644
index c832a57bf424e4f0b496fb456c43d999d01d58b9..0000000000000000000000000000000000000000
--- a/lib/Twig/Test/Node.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a template test as a Node.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-class Twig_Test_Node extends Twig_Test
-{
-    protected $class;
-
-    public function __construct($class, array $options = array())
-    {
-        parent::__construct($options);
-
-        $this->class = $class;
-    }
-
-    public function getClass()
-    {
-        return $this->class;
-    }
-
-    public function compile()
-    {
-    }
-}
diff --git a/lib/Twig/Test/NodeTestCase.php b/lib/Twig/Test/NodeTestCase.php
deleted file mode 100644
index b15c85ffd7d61f607ba87834f6023a41369f7415..0000000000000000000000000000000000000000
--- a/lib/Twig/Test/NodeTestCase.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-abstract class Twig_Test_NodeTestCase extends PHPUnit_Framework_TestCase
-{
-    abstract public function getTests();
-
-    /**
-     * @dataProvider getTests
-     */
-    public function testCompile($node, $source, $environment = null)
-    {
-        $this->assertNodeCompilation($source, $node, $environment);
-    }
-
-    public function assertNodeCompilation($source, Twig_Node $node, Twig_Environment $environment = null)
-    {
-        $compiler = $this->getCompiler($environment);
-        $compiler->compile($node);
-
-        $this->assertEquals($source, trim($compiler->getSource()));
-    }
-
-    protected function getCompiler(Twig_Environment $environment = null)
-    {
-        return new Twig_Compiler(null === $environment ? $this->getEnvironment() : $environment);
-    }
-
-    protected function getEnvironment()
-    {
-        return new Twig_Environment();
-    }
-
-    protected function getVariableGetter($name)
-    {
-        if (version_compare(phpversion(), '5.4.0RC1', '>=')) {
-            return sprintf('(isset($context["%s"]) ? $context["%s"] : null)', $name, $name);
-        }
-
-        return sprintf('$this->getContext($context, "%s")', $name);
-    }
-
-    protected function getAttributeGetter()
-    {
-        if (function_exists('twig_template_get_attributes')) {
-            return 'twig_template_get_attributes($this, ';
-        }
-
-        return '$this->getAttribute(';
-    }
-}
diff --git a/lib/Twig/TestCallableInterface.php b/lib/Twig/TestCallableInterface.php
deleted file mode 100644
index 0db43682d04209d8c5c731f39a04b4e29ea00f67..0000000000000000000000000000000000000000
--- a/lib/Twig/TestCallableInterface.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2012 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a callable template test.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-interface Twig_TestCallableInterface
-{
-    public function getCallable();
-}
diff --git a/lib/Twig/TestInterface.php b/lib/Twig/TestInterface.php
deleted file mode 100644
index 30d8a2c4f0a0f7c6630a056093c5e93a29acfe3e..0000000000000000000000000000000000000000
--- a/lib/Twig/TestInterface.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a template test.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-interface Twig_TestInterface
-{
-    /**
-     * Compiles a test.
-     *
-     * @return string The PHP code for the test
-     */
-    public function compile();
-}
diff --git a/lib/Twig/Token.php b/lib/Twig/Token.php
deleted file mode 100644
index bbca90dbbfdc8279886cb7a5d56104081c984e4e..0000000000000000000000000000000000000000
--- a/lib/Twig/Token.php
+++ /dev/null
@@ -1,218 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a Token.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Token
-{
-    protected $value;
-    protected $type;
-    protected $lineno;
-
-    const EOF_TYPE                  = -1;
-    const TEXT_TYPE                 = 0;
-    const BLOCK_START_TYPE          = 1;
-    const VAR_START_TYPE            = 2;
-    const BLOCK_END_TYPE            = 3;
-    const VAR_END_TYPE              = 4;
-    const NAME_TYPE                 = 5;
-    const NUMBER_TYPE               = 6;
-    const STRING_TYPE               = 7;
-    const OPERATOR_TYPE             = 8;
-    const PUNCTUATION_TYPE          = 9;
-    const INTERPOLATION_START_TYPE  = 10;
-    const INTERPOLATION_END_TYPE    = 11;
-
-    /**
-     * Constructor.
-     *
-     * @param integer $type   The type of the token
-     * @param string  $value  The token value
-     * @param integer $lineno The line position in the source
-     */
-    public function __construct($type, $value, $lineno)
-    {
-        $this->type   = $type;
-        $this->value  = $value;
-        $this->lineno = $lineno;
-    }
-
-    /**
-     * Returns a string representation of the token.
-     *
-     * @return string A string representation of the token
-     */
-    public function __toString()
-    {
-        return sprintf('%s(%s)', self::typeToString($this->type, true, $this->lineno), $this->value);
-    }
-
-    /**
-     * Tests the current token for a type and/or a value.
-     *
-     * Parameters may be:
-     * * just type
-     * * type and value (or array of possible values)
-     * * just value (or array of possible values) (NAME_TYPE is used as type)
-     *
-     * @param array|integer     $type   The type to test
-     * @param array|string|null $values The token value
-     *
-     * @return Boolean
-     */
-    public function test($type, $values = null)
-    {
-        if (null === $values && !is_int($type)) {
-            $values = $type;
-            $type = self::NAME_TYPE;
-        }
-
-        return ($this->type === $type) && (
-            null === $values ||
-            (is_array($values) && in_array($this->value, $values)) ||
-            $this->value == $values
-        );
-    }
-
-    /**
-     * Gets the line.
-     *
-     * @return integer The source line
-     */
-    public function getLine()
-    {
-        return $this->lineno;
-    }
-
-    /**
-     * Gets the token type.
-     *
-     * @return integer The token type
-     */
-    public function getType()
-    {
-        return $this->type;
-    }
-
-    /**
-     * Gets the token value.
-     *
-     * @return string The token value
-     */
-    public function getValue()
-    {
-        return $this->value;
-    }
-
-    /**
-     * Returns the constant representation (internal) of a given type.
-     *
-     * @param integer $type  The type as an integer
-     * @param Boolean $short Whether to return a short representation or not
-     * @param integer $line  The code line
-     *
-     * @return string The string representation
-     */
-    public static function typeToString($type, $short = false, $line = -1)
-    {
-        switch ($type) {
-            case self::EOF_TYPE:
-                $name = 'EOF_TYPE';
-                break;
-            case self::TEXT_TYPE:
-                $name = 'TEXT_TYPE';
-                break;
-            case self::BLOCK_START_TYPE:
-                $name = 'BLOCK_START_TYPE';
-                break;
-            case self::VAR_START_TYPE:
-                $name = 'VAR_START_TYPE';
-                break;
-            case self::BLOCK_END_TYPE:
-                $name = 'BLOCK_END_TYPE';
-                break;
-            case self::VAR_END_TYPE:
-                $name = 'VAR_END_TYPE';
-                break;
-            case self::NAME_TYPE:
-                $name = 'NAME_TYPE';
-                break;
-            case self::NUMBER_TYPE:
-                $name = 'NUMBER_TYPE';
-                break;
-            case self::STRING_TYPE:
-                $name = 'STRING_TYPE';
-                break;
-            case self::OPERATOR_TYPE:
-                $name = 'OPERATOR_TYPE';
-                break;
-            case self::PUNCTUATION_TYPE:
-                $name = 'PUNCTUATION_TYPE';
-                break;
-            case self::INTERPOLATION_START_TYPE:
-                $name = 'INTERPOLATION_START_TYPE';
-                break;
-            case self::INTERPOLATION_END_TYPE:
-                $name = 'INTERPOLATION_END_TYPE';
-                break;
-            default:
-                throw new LogicException(sprintf('Token of type "%s" does not exist.', $type));
-        }
-
-        return $short ? $name : 'Twig_Token::'.$name;
-    }
-
-    /**
-     * Returns the english representation of a given type.
-     *
-     * @param integer $type The type as an integer
-     * @param integer $line The code line
-     *
-     * @return string The string representation
-     */
-    public static function typeToEnglish($type, $line = -1)
-    {
-        switch ($type) {
-            case self::EOF_TYPE:
-                return 'end of template';
-            case self::TEXT_TYPE:
-                return 'text';
-            case self::BLOCK_START_TYPE:
-                return 'begin of statement block';
-            case self::VAR_START_TYPE:
-                return 'begin of print statement';
-            case self::BLOCK_END_TYPE:
-                return 'end of statement block';
-            case self::VAR_END_TYPE:
-                return 'end of print statement';
-            case self::NAME_TYPE:
-                return 'name';
-            case self::NUMBER_TYPE:
-                return 'number';
-            case self::STRING_TYPE:
-                return 'string';
-            case self::OPERATOR_TYPE:
-                return 'operator';
-            case self::PUNCTUATION_TYPE:
-                return 'punctuation';
-            case self::INTERPOLATION_START_TYPE:
-                return 'begin of string interpolation';
-            case self::INTERPOLATION_END_TYPE:
-                return 'end of string interpolation';
-            default:
-                throw new LogicException(sprintf('Token of type "%s" does not exist.', $type));
-        }
-    }
-}
diff --git a/lib/Twig/TokenParser.php b/lib/Twig/TokenParser.php
deleted file mode 100644
index decebd5eead68a9525b13c87910e456d6faa0ade..0000000000000000000000000000000000000000
--- a/lib/Twig/TokenParser.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Base class for all token parsers.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-abstract class Twig_TokenParser implements Twig_TokenParserInterface
-{
-    /**
-     * @var Twig_Parser
-     */
-    protected $parser;
-
-    /**
-     * Sets the parser associated with this token parser
-     *
-     * @param $parser A Twig_Parser instance
-     */
-    public function setParser(Twig_Parser $parser)
-    {
-        $this->parser = $parser;
-    }
-}
diff --git a/lib/Twig/TokenParser/AutoEscape.php b/lib/Twig/TokenParser/AutoEscape.php
deleted file mode 100644
index 27560288391dc218e3e70c37ab8da34dd7878bd2..0000000000000000000000000000000000000000
--- a/lib/Twig/TokenParser/AutoEscape.php
+++ /dev/null
@@ -1,89 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Marks a section of a template to be escaped or not.
- *
- * <pre>
- * {% autoescape true %}
- *   Everything will be automatically escaped in this block
- * {% endautoescape %}
- *
- * {% autoescape false %}
- *   Everything will be outputed as is in this block
- * {% endautoescape %}
- *
- * {% autoescape true js %}
- *   Everything will be automatically escaped in this block
- *   using the js escaping strategy
- * {% endautoescape %}
- * </pre>
- */
-class Twig_TokenParser_AutoEscape extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $lineno = $token->getLine();
-        $stream = $this->parser->getStream();
-
-        if ($stream->test(Twig_Token::BLOCK_END_TYPE)) {
-            $value = 'html';
-        } else {
-            $expr = $this->parser->getExpressionParser()->parseExpression();
-            if (!$expr instanceof Twig_Node_Expression_Constant) {
-                throw new Twig_Error_Syntax('An escaping strategy must be a string or a Boolean.', $stream->getCurrent()->getLine(), $stream->getFilename());
-            }
-            $value = $expr->getAttribute('value');
-
-            $compat = true === $value || false === $value;
-
-            if (true === $value) {
-                $value = 'html';
-            }
-
-            if ($compat && $stream->test(Twig_Token::NAME_TYPE)) {
-                if (false === $value) {
-                    throw new Twig_Error_Syntax('Unexpected escaping strategy as you set autoescaping to false.', $stream->getCurrent()->getLine(), $stream->getFilename());
-                }
-
-                $value = $stream->next()->getValue();
-            }
-        }
-
-        $stream->expect(Twig_Token::BLOCK_END_TYPE);
-        $body = $this->parser->subparse(array($this, 'decideBlockEnd'), true);
-        $stream->expect(Twig_Token::BLOCK_END_TYPE);
-
-        return new Twig_Node_AutoEscape($value, $body, $lineno, $this->getTag());
-    }
-
-    public function decideBlockEnd(Twig_Token $token)
-    {
-        return $token->test('endautoescape');
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'autoescape';
-    }
-}
diff --git a/lib/Twig/TokenParser/Block.php b/lib/Twig/TokenParser/Block.php
deleted file mode 100644
index a2e017f3e884f8f4d058110625e1ff22f8ca26fe..0000000000000000000000000000000000000000
--- a/lib/Twig/TokenParser/Block.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Marks a section of a template as being reusable.
- *
- * <pre>
- *  {% block head %}
- *    <link rel="stylesheet" href="style.css" />
- *    <title>{% block title %}{% endblock %} - My Webpage</title>
- *  {% endblock %}
- * </pre>
- */
-class Twig_TokenParser_Block extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $lineno = $token->getLine();
-        $stream = $this->parser->getStream();
-        $name = $stream->expect(Twig_Token::NAME_TYPE)->getValue();
-        if ($this->parser->hasBlock($name)) {
-            throw new Twig_Error_Syntax(sprintf("The block '$name' has already been defined line %d", $this->parser->getBlock($name)->getLine()), $stream->getCurrent()->getLine(), $stream->getFilename());
-        }
-        $this->parser->setBlock($name, $block = new Twig_Node_Block($name, new Twig_Node(array()), $lineno));
-        $this->parser->pushLocalScope();
-        $this->parser->pushBlockStack($name);
-
-        if ($stream->test(Twig_Token::BLOCK_END_TYPE)) {
-            $stream->next();
-
-            $body = $this->parser->subparse(array($this, 'decideBlockEnd'), true);
-            if ($stream->test(Twig_Token::NAME_TYPE)) {
-                $value = $stream->next()->getValue();
-
-                if ($value != $name) {
-                    throw new Twig_Error_Syntax(sprintf("Expected endblock for block '$name' (but %s given)", $value), $stream->getCurrent()->getLine(), $stream->getFilename());
-                }
-            }
-        } else {
-            $body = new Twig_Node(array(
-                new Twig_Node_Print($this->parser->getExpressionParser()->parseExpression(), $lineno),
-            ));
-        }
-        $stream->expect(Twig_Token::BLOCK_END_TYPE);
-
-        $block->setNode('body', $body);
-        $this->parser->popBlockStack();
-        $this->parser->popLocalScope();
-
-        return new Twig_Node_BlockReference($name, $lineno, $this->getTag());
-    }
-
-    public function decideBlockEnd(Twig_Token $token)
-    {
-        return $token->test('endblock');
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'block';
-    }
-}
diff --git a/lib/Twig/TokenParser/Do.php b/lib/Twig/TokenParser/Do.php
deleted file mode 100644
index f50939dd214e1d4239ec5a9814d47fe5c955c086..0000000000000000000000000000000000000000
--- a/lib/Twig/TokenParser/Do.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Evaluates an expression, discarding the returned value.
- */
-class Twig_TokenParser_Do extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $expr = $this->parser->getExpressionParser()->parseExpression();
-
-        $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
-
-        return new Twig_Node_Do($expr, $token->getLine(), $this->getTag());
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'do';
-    }
-}
diff --git a/lib/Twig/TokenParser/Embed.php b/lib/Twig/TokenParser/Embed.php
deleted file mode 100644
index 69cb5f35ff810a3e1caad6e0ef9b589ba2acdf7d..0000000000000000000000000000000000000000
--- a/lib/Twig/TokenParser/Embed.php
+++ /dev/null
@@ -1,66 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2012 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Embeds a template.
- */
-class Twig_TokenParser_Embed extends Twig_TokenParser_Include
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $stream = $this->parser->getStream();
-
-        $parent = $this->parser->getExpressionParser()->parseExpression();
-
-        list($variables, $only, $ignoreMissing) = $this->parseArguments();
-
-        // inject a fake parent to make the parent() function work
-        $stream->injectTokens(array(
-            new Twig_Token(Twig_Token::BLOCK_START_TYPE, '', $token->getLine()),
-            new Twig_Token(Twig_Token::NAME_TYPE, 'extends', $token->getLine()),
-            new Twig_Token(Twig_Token::STRING_TYPE, '__parent__', $token->getLine()),
-            new Twig_Token(Twig_Token::BLOCK_END_TYPE, '', $token->getLine()),
-        ));
-
-        $module = $this->parser->parse($stream, array($this, 'decideBlockEnd'), true);
-
-        // override the parent with the correct one
-        $module->setNode('parent', $parent);
-
-        $this->parser->embedTemplate($module);
-
-        $stream->expect(Twig_Token::BLOCK_END_TYPE);
-
-        return new Twig_Node_Embed($module->getAttribute('filename'), $module->getAttribute('index'), $variables, $only, $ignoreMissing, $token->getLine(), $this->getTag());
-    }
-
-    public function decideBlockEnd(Twig_Token $token)
-    {
-        return $token->test('endembed');
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'embed';
-    }
-}
diff --git a/lib/Twig/TokenParser/Extends.php b/lib/Twig/TokenParser/Extends.php
deleted file mode 100644
index 110bc8b458ef3c90c2472afbcfbafcca505e12e2..0000000000000000000000000000000000000000
--- a/lib/Twig/TokenParser/Extends.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Extends a template by another one.
- *
- * <pre>
- *  {% extends "base.html" %}
- * </pre>
- */
-class Twig_TokenParser_Extends extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        if (!$this->parser->isMainScope()) {
-            throw new Twig_Error_Syntax('Cannot extend from a block', $token->getLine(), $this->parser->getFilename());
-        }
-
-        if (null !== $this->parser->getParent()) {
-            throw new Twig_Error_Syntax('Multiple extends tags are forbidden', $token->getLine(), $this->parser->getFilename());
-        }
-        $this->parser->setParent($this->parser->getExpressionParser()->parseExpression());
-
-        $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
-
-        return null;
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'extends';
-    }
-}
diff --git a/lib/Twig/TokenParser/Filter.php b/lib/Twig/TokenParser/Filter.php
deleted file mode 100644
index 2b97475aea151f85d55a4eb28944b2aa7bdeab94..0000000000000000000000000000000000000000
--- a/lib/Twig/TokenParser/Filter.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Filters a section of a template by applying filters.
- *
- * <pre>
- * {% filter upper %}
- *  This text becomes uppercase
- * {% endfilter %}
- * </pre>
- */
-class Twig_TokenParser_Filter extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $name = $this->parser->getVarName();
-        $ref = new Twig_Node_Expression_BlockReference(new Twig_Node_Expression_Constant($name, $token->getLine()), true, $token->getLine(), $this->getTag());
-
-        $filter = $this->parser->getExpressionParser()->parseFilterExpressionRaw($ref, $this->getTag());
-        $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
-
-        $body = $this->parser->subparse(array($this, 'decideBlockEnd'), true);
-        $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
-
-        $block = new Twig_Node_Block($name, $body, $token->getLine());
-        $this->parser->setBlock($name, $block);
-
-        return new Twig_Node_Print($filter, $token->getLine(), $this->getTag());
-    }
-
-    public function decideBlockEnd(Twig_Token $token)
-    {
-        return $token->test('endfilter');
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'filter';
-    }
-}
diff --git a/lib/Twig/TokenParser/Flush.php b/lib/Twig/TokenParser/Flush.php
deleted file mode 100644
index 4e15e78538462f805ac08daf3678ad9f3abff86c..0000000000000000000000000000000000000000
--- a/lib/Twig/TokenParser/Flush.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Flushes the output to the client.
- *
- * @see flush()
- */
-class Twig_TokenParser_Flush extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
-
-        return new Twig_Node_Flush($token->getLine(), $this->getTag());
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'flush';
-    }
-}
diff --git a/lib/Twig/TokenParser/For.php b/lib/Twig/TokenParser/For.php
deleted file mode 100644
index 98a6d079d169cea605092f164a0a8b1bc1f9f245..0000000000000000000000000000000000000000
--- a/lib/Twig/TokenParser/For.php
+++ /dev/null
@@ -1,136 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Loops over each item of a sequence.
- *
- * <pre>
- * <ul>
- *  {% for user in users %}
- *    <li>{{ user.username|e }}</li>
- *  {% endfor %}
- * </ul>
- * </pre>
- */
-class Twig_TokenParser_For extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $lineno = $token->getLine();
-        $stream = $this->parser->getStream();
-        $targets = $this->parser->getExpressionParser()->parseAssignmentExpression();
-        $stream->expect(Twig_Token::OPERATOR_TYPE, 'in');
-        $seq = $this->parser->getExpressionParser()->parseExpression();
-
-        $ifexpr = null;
-        if ($stream->test(Twig_Token::NAME_TYPE, 'if')) {
-            $stream->next();
-            $ifexpr = $this->parser->getExpressionParser()->parseExpression();
-        }
-
-        $stream->expect(Twig_Token::BLOCK_END_TYPE);
-        $body = $this->parser->subparse(array($this, 'decideForFork'));
-        if ($stream->next()->getValue() == 'else') {
-            $stream->expect(Twig_Token::BLOCK_END_TYPE);
-            $else = $this->parser->subparse(array($this, 'decideForEnd'), true);
-        } else {
-            $else = null;
-        }
-        $stream->expect(Twig_Token::BLOCK_END_TYPE);
-
-        if (count($targets) > 1) {
-            $keyTarget = $targets->getNode(0);
-            $keyTarget = new Twig_Node_Expression_AssignName($keyTarget->getAttribute('name'), $keyTarget->getLine());
-            $valueTarget = $targets->getNode(1);
-            $valueTarget = new Twig_Node_Expression_AssignName($valueTarget->getAttribute('name'), $valueTarget->getLine());
-        } else {
-            $keyTarget = new Twig_Node_Expression_AssignName('_key', $lineno);
-            $valueTarget = $targets->getNode(0);
-            $valueTarget = new Twig_Node_Expression_AssignName($valueTarget->getAttribute('name'), $valueTarget->getLine());
-        }
-
-        if ($ifexpr) {
-            $this->checkLoopUsageCondition($stream, $ifexpr);
-            $this->checkLoopUsageBody($stream, $body);
-        }
-
-        return new Twig_Node_For($keyTarget, $valueTarget, $seq, $ifexpr, $body, $else, $lineno, $this->getTag());
-    }
-
-    public function decideForFork(Twig_Token $token)
-    {
-        return $token->test(array('else', 'endfor'));
-    }
-
-    public function decideForEnd(Twig_Token $token)
-    {
-        return $token->test('endfor');
-    }
-
-    // the loop variable cannot be used in the condition
-    protected function checkLoopUsageCondition(Twig_TokenStream $stream, Twig_NodeInterface $node)
-    {
-        if ($node instanceof Twig_Node_Expression_GetAttr && $node->getNode('node') instanceof Twig_Node_Expression_Name && 'loop' == $node->getNode('node')->getAttribute('name')) {
-            throw new Twig_Error_Syntax('The "loop" variable cannot be used in a looping condition', $node->getLine(), $stream->getFilename());
-        }
-
-        foreach ($node as $n) {
-            if (!$n) {
-                continue;
-            }
-
-            $this->checkLoopUsageCondition($stream, $n);
-        }
-    }
-
-    // check usage of non-defined loop-items
-    // it does not catch all problems (for instance when a for is included into another or when the variable is used in an include)
-    protected function checkLoopUsageBody(Twig_TokenStream $stream, Twig_NodeInterface $node)
-    {
-        if ($node instanceof Twig_Node_Expression_GetAttr && $node->getNode('node') instanceof Twig_Node_Expression_Name && 'loop' == $node->getNode('node')->getAttribute('name')) {
-            $attribute = $node->getNode('attribute');
-            if ($attribute instanceof Twig_Node_Expression_Constant && in_array($attribute->getAttribute('value'), array('length', 'revindex0', 'revindex', 'last'))) {
-                throw new Twig_Error_Syntax(sprintf('The "loop.%s" variable is not defined when looping with a condition', $attribute->getAttribute('value')), $node->getLine(), $stream->getFilename());
-            }
-        }
-
-        // should check for parent.loop.XXX usage
-        if ($node instanceof Twig_Node_For) {
-            return;
-        }
-
-        foreach ($node as $n) {
-            if (!$n) {
-                continue;
-            }
-
-            $this->checkLoopUsageBody($stream, $n);
-        }
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'for';
-    }
-}
diff --git a/lib/Twig/TokenParser/From.php b/lib/Twig/TokenParser/From.php
deleted file mode 100644
index a54054dbc942c10f015eb79fba3ff7d08ffd85ad..0000000000000000000000000000000000000000
--- a/lib/Twig/TokenParser/From.php
+++ /dev/null
@@ -1,74 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Imports macros.
- *
- * <pre>
- *   {% from 'forms.html' import forms %}
- * </pre>
- */
-class Twig_TokenParser_From extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $macro = $this->parser->getExpressionParser()->parseExpression();
-        $stream = $this->parser->getStream();
-        $stream->expect('import');
-
-        $targets = array();
-        do {
-            $name = $stream->expect(Twig_Token::NAME_TYPE)->getValue();
-
-            $alias = $name;
-            if ($stream->test('as')) {
-                $stream->next();
-
-                $alias = $stream->expect(Twig_Token::NAME_TYPE)->getValue();
-            }
-
-            $targets[$name] = $alias;
-
-            if (!$stream->test(Twig_Token::PUNCTUATION_TYPE, ',')) {
-                break;
-            }
-
-            $stream->next();
-        } while (true);
-
-        $stream->expect(Twig_Token::BLOCK_END_TYPE);
-
-        $node = new Twig_Node_Import($macro, new Twig_Node_Expression_AssignName($this->parser->getVarName(), $token->getLine()), $token->getLine(), $this->getTag());
-
-        foreach ($targets as $name => $alias) {
-            $this->parser->addImportedSymbol('function', $alias, 'get'.$name, $node->getNode('var'));
-        }
-
-        return $node;
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'from';
-    }
-}
diff --git a/lib/Twig/TokenParser/If.php b/lib/Twig/TokenParser/If.php
deleted file mode 100644
index 3d7d1f517f936027ac37dc48e9022636ebfce52c..0000000000000000000000000000000000000000
--- a/lib/Twig/TokenParser/If.php
+++ /dev/null
@@ -1,94 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Tests a condition.
- *
- * <pre>
- * {% if users %}
- *  <ul>
- *    {% for user in users %}
- *      <li>{{ user.username|e }}</li>
- *    {% endfor %}
- *  </ul>
- * {% endif %}
- * </pre>
- */
-class Twig_TokenParser_If extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $lineno = $token->getLine();
-        $expr = $this->parser->getExpressionParser()->parseExpression();
-        $stream = $this->parser->getStream();
-        $stream->expect(Twig_Token::BLOCK_END_TYPE);
-        $body = $this->parser->subparse(array($this, 'decideIfFork'));
-        $tests = array($expr, $body);
-        $else = null;
-
-        $end = false;
-        while (!$end) {
-            switch ($stream->next()->getValue()) {
-                case 'else':
-                    $stream->expect(Twig_Token::BLOCK_END_TYPE);
-                    $else = $this->parser->subparse(array($this, 'decideIfEnd'));
-                    break;
-
-                case 'elseif':
-                    $expr = $this->parser->getExpressionParser()->parseExpression();
-                    $stream->expect(Twig_Token::BLOCK_END_TYPE);
-                    $body = $this->parser->subparse(array($this, 'decideIfFork'));
-                    $tests[] = $expr;
-                    $tests[] = $body;
-                    break;
-
-                case 'endif':
-                    $end = true;
-                    break;
-
-                default:
-                    throw new Twig_Error_Syntax(sprintf('Unexpected end of template. Twig was looking for the following tags "else", "elseif", or "endif" to close the "if" block started at line %d)', $lineno), $stream->getCurrent()->getLine(), $stream->getFilename());
-            }
-        }
-
-        $stream->expect(Twig_Token::BLOCK_END_TYPE);
-
-        return new Twig_Node_If(new Twig_Node($tests), $else, $lineno, $this->getTag());
-    }
-
-    public function decideIfFork(Twig_Token $token)
-    {
-        return $token->test(array('elseif', 'else', 'endif'));
-    }
-
-    public function decideIfEnd(Twig_Token $token)
-    {
-        return $token->test(array('endif'));
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'if';
-    }
-}
diff --git a/lib/Twig/TokenParser/Import.php b/lib/Twig/TokenParser/Import.php
deleted file mode 100644
index e7050c70c6e81d1a70ea1d32d1e1be2d18e6153c..0000000000000000000000000000000000000000
--- a/lib/Twig/TokenParser/Import.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Imports macros.
- *
- * <pre>
- *   {% import 'forms.html' as forms %}
- * </pre>
- */
-class Twig_TokenParser_Import extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $macro = $this->parser->getExpressionParser()->parseExpression();
-        $this->parser->getStream()->expect('as');
-        $var = new Twig_Node_Expression_AssignName($this->parser->getStream()->expect(Twig_Token::NAME_TYPE)->getValue(), $token->getLine());
-        $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
-
-        $this->parser->addImportedSymbol('template', $var->getAttribute('name'));
-
-        return new Twig_Node_Import($macro, $var, $token->getLine(), $this->getTag());
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'import';
-    }
-}
diff --git a/lib/Twig/TokenParser/Include.php b/lib/Twig/TokenParser/Include.php
deleted file mode 100644
index 4a317868f3e3ad7ff526659b8d652b931fa38ae6..0000000000000000000000000000000000000000
--- a/lib/Twig/TokenParser/Include.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Includes a template.
- *
- * <pre>
- *   {% include 'header.html' %}
- *     Body
- *   {% include 'footer.html' %}
- * </pre>
- */
-class Twig_TokenParser_Include extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $expr = $this->parser->getExpressionParser()->parseExpression();
-
-        list($variables, $only, $ignoreMissing) = $this->parseArguments();
-
-        return new Twig_Node_Include($expr, $variables, $only, $ignoreMissing, $token->getLine(), $this->getTag());
-    }
-
-    protected function parseArguments()
-    {
-        $stream = $this->parser->getStream();
-
-        $ignoreMissing = false;
-        if ($stream->test(Twig_Token::NAME_TYPE, 'ignore')) {
-            $stream->next();
-            $stream->expect(Twig_Token::NAME_TYPE, 'missing');
-
-            $ignoreMissing = true;
-        }
-
-        $variables = null;
-        if ($stream->test(Twig_Token::NAME_TYPE, 'with')) {
-            $stream->next();
-
-            $variables = $this->parser->getExpressionParser()->parseExpression();
-        }
-
-        $only = false;
-        if ($stream->test(Twig_Token::NAME_TYPE, 'only')) {
-            $stream->next();
-
-            $only = true;
-        }
-
-        $stream->expect(Twig_Token::BLOCK_END_TYPE);
-
-        return array($variables, $only, $ignoreMissing);
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'include';
-    }
-}
diff --git a/lib/Twig/TokenParser/Macro.php b/lib/Twig/TokenParser/Macro.php
deleted file mode 100644
index c2a033608d32b614c0b4c4bf0c9e2796e31f7f6a..0000000000000000000000000000000000000000
--- a/lib/Twig/TokenParser/Macro.php
+++ /dev/null
@@ -1,70 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Defines a macro.
- *
- * <pre>
- * {% macro input(name, value, type, size) %}
- *    <input type="{{ type|default('text') }}" name="{{ name }}" value="{{ value|e }}" size="{{ size|default(20) }}" />
- * {% endmacro %}
- * </pre>
- */
-class Twig_TokenParser_Macro extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $lineno = $token->getLine();
-        $stream = $this->parser->getStream();
-        $name = $stream->expect(Twig_Token::NAME_TYPE)->getValue();
-
-        $arguments = $this->parser->getExpressionParser()->parseArguments(true, true);
-
-        $stream->expect(Twig_Token::BLOCK_END_TYPE);
-        $this->parser->pushLocalScope();
-        $body = $this->parser->subparse(array($this, 'decideBlockEnd'), true);
-        if ($stream->test(Twig_Token::NAME_TYPE)) {
-            $value = $stream->next()->getValue();
-
-            if ($value != $name) {
-                throw new Twig_Error_Syntax(sprintf("Expected endmacro for macro '$name' (but %s given)", $value), $stream->getCurrent()->getLine(), $stream->getFilename());
-            }
-        }
-        $this->parser->popLocalScope();
-        $stream->expect(Twig_Token::BLOCK_END_TYPE);
-
-        $this->parser->setMacro($name, new Twig_Node_Macro($name, new Twig_Node_Body(array($body)), $arguments, $lineno, $this->getTag()));
-
-        return null;
-    }
-
-    public function decideBlockEnd(Twig_Token $token)
-    {
-        return $token->test('endmacro');
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'macro';
-    }
-}
diff --git a/lib/Twig/TokenParser/Sandbox.php b/lib/Twig/TokenParser/Sandbox.php
deleted file mode 100644
index 9457325ab4556b0d59b22190dfca588c62e7f5a8..0000000000000000000000000000000000000000
--- a/lib/Twig/TokenParser/Sandbox.php
+++ /dev/null
@@ -1,68 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Marks a section of a template as untrusted code that must be evaluated in the sandbox mode.
- *
- * <pre>
- * {% sandbox %}
- *     {% include 'user.html' %}
- * {% endsandbox %}
- * </pre>
- *
- * @see http://www.twig-project.org/doc/api.html#sandbox-extension for details
- */
-class Twig_TokenParser_Sandbox extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
-        $body = $this->parser->subparse(array($this, 'decideBlockEnd'), true);
-        $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
-
-        // in a sandbox tag, only include tags are allowed
-        if (!$body instanceof Twig_Node_Include) {
-            foreach ($body as $node) {
-                if ($node instanceof Twig_Node_Text && ctype_space($node->getAttribute('data'))) {
-                    continue;
-                }
-
-                if (!$node instanceof Twig_Node_Include) {
-                    throw new Twig_Error_Syntax('Only "include" tags are allowed within a "sandbox" section', $node->getLine(), $this->parser->getFilename());
-                }
-            }
-        }
-
-        return new Twig_Node_Sandbox($body, $token->getLine(), $this->getTag());
-    }
-
-    public function decideBlockEnd(Twig_Token $token)
-    {
-        return $token->test('endsandbox');
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'sandbox';
-    }
-}
diff --git a/lib/Twig/TokenParser/Set.php b/lib/Twig/TokenParser/Set.php
deleted file mode 100644
index 70e0b41baeeef29344d7e382fdcea076cff1a97b..0000000000000000000000000000000000000000
--- a/lib/Twig/TokenParser/Set.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Defines a variable.
- *
- * <pre>
- *  {% set foo = 'foo' %}
- *
- *  {% set foo = [1, 2] %}
- *
- *  {% set foo = {'foo': 'bar'} %}
- *
- *  {% set foo = 'foo' ~ 'bar' %}
- *
- *  {% set foo, bar = 'foo', 'bar' %}
- *
- *  {% set foo %}Some content{% endset %}
- * </pre>
- */
-class Twig_TokenParser_Set extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $lineno = $token->getLine();
-        $stream = $this->parser->getStream();
-        $names = $this->parser->getExpressionParser()->parseAssignmentExpression();
-
-        $capture = false;
-        if ($stream->test(Twig_Token::OPERATOR_TYPE, '=')) {
-            $stream->next();
-            $values = $this->parser->getExpressionParser()->parseMultitargetExpression();
-
-            $stream->expect(Twig_Token::BLOCK_END_TYPE);
-
-            if (count($names) !== count($values)) {
-                throw new Twig_Error_Syntax("When using set, you must have the same number of variables and assignments.", $stream->getCurrent()->getLine(), $stream->getFilename());
-            }
-        } else {
-            $capture = true;
-
-            if (count($names) > 1) {
-                throw new Twig_Error_Syntax("When using set with a block, you cannot have a multi-target.", $stream->getCurrent()->getLine(), $stream->getFilename());
-            }
-
-            $stream->expect(Twig_Token::BLOCK_END_TYPE);
-
-            $values = $this->parser->subparse(array($this, 'decideBlockEnd'), true);
-            $stream->expect(Twig_Token::BLOCK_END_TYPE);
-        }
-
-        return new Twig_Node_Set($capture, $names, $values, $lineno, $this->getTag());
-    }
-
-    public function decideBlockEnd(Twig_Token $token)
-    {
-        return $token->test('endset');
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'set';
-    }
-}
diff --git a/lib/Twig/TokenParser/Spaceless.php b/lib/Twig/TokenParser/Spaceless.php
deleted file mode 100644
index 1e3fa8f3edd97f0726f2eef8d4154e480b7bbd2c..0000000000000000000000000000000000000000
--- a/lib/Twig/TokenParser/Spaceless.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Remove whitespaces between HTML tags.
- *
- * <pre>
- * {% spaceless %}
- *      <div>
- *          <strong>foo</strong>
- *      </div>
- * {% endspaceless %}
- *
- * {# output will be <div><strong>foo</strong></div> #}
- * </pre>
- */
-class Twig_TokenParser_Spaceless extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $lineno = $token->getLine();
-
-        $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
-        $body = $this->parser->subparse(array($this, 'decideSpacelessEnd'), true);
-        $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
-
-        return new Twig_Node_Spaceless($body, $lineno, $this->getTag());
-    }
-
-    public function decideSpacelessEnd(Twig_Token $token)
-    {
-        return $token->test('endspaceless');
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'spaceless';
-    }
-}
diff --git a/lib/Twig/TokenParser/Use.php b/lib/Twig/TokenParser/Use.php
deleted file mode 100644
index 85f084a52836320bc0ad9b98736b443b477345cd..0000000000000000000000000000000000000000
--- a/lib/Twig/TokenParser/Use.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2011 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Imports blocks defined in another template into the current template.
- *
- * <pre>
- * {% extends "base.html" %}
- *
- * {% use "blocks.html" %}
- *
- * {% block title %}{% endblock %}
- * {% block content %}{% endblock %}
- * </pre>
- *
- * @see http://www.twig-project.org/doc/templates.html#horizontal-reuse for details.
- */
-class Twig_TokenParser_Use extends Twig_TokenParser
-{
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token)
-    {
-        $template = $this->parser->getExpressionParser()->parseExpression();
-        $stream = $this->parser->getStream();
-
-        if (!$template instanceof Twig_Node_Expression_Constant) {
-            throw new Twig_Error_Syntax('The template references in a "use" statement must be a string.', $stream->getCurrent()->getLine(), $stream->getFilename());
-        }
-
-        $targets = array();
-        if ($stream->test('with')) {
-            $stream->next();
-
-            do {
-                $name = $stream->expect(Twig_Token::NAME_TYPE)->getValue();
-
-                $alias = $name;
-                if ($stream->test('as')) {
-                    $stream->next();
-
-                    $alias = $stream->expect(Twig_Token::NAME_TYPE)->getValue();
-                }
-
-                $targets[$name] = new Twig_Node_Expression_Constant($alias, -1);
-
-                if (!$stream->test(Twig_Token::PUNCTUATION_TYPE, ',')) {
-                    break;
-                }
-
-                $stream->next();
-            } while (true);
-        }
-
-        $stream->expect(Twig_Token::BLOCK_END_TYPE);
-
-        $this->parser->addTrait(new Twig_Node(array('template' => $template, 'targets' => new Twig_Node($targets))));
-
-        return null;
-    }
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag()
-    {
-        return 'use';
-    }
-}
diff --git a/lib/Twig/TokenParserBroker.php b/lib/Twig/TokenParserBroker.php
deleted file mode 100644
index 9518c7c8a2af82633f9bc096cde3319a9a1e45e7..0000000000000000000000000000000000000000
--- a/lib/Twig/TokenParserBroker.php
+++ /dev/null
@@ -1,138 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- * (c) 2010 Arnaud Le Blanc
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Default implementation of a token parser broker.
- *
- * @author Arnaud Le Blanc <arnaud.lb@gmail.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-class Twig_TokenParserBroker implements Twig_TokenParserBrokerInterface
-{
-    protected $parser;
-    protected $parsers = array();
-    protected $brokers = array();
-
-    /**
-     * Constructor.
-     *
-     * @param array|Traversable $parsers A Traversable of Twig_TokenParserInterface instances
-     * @param array|Traversable $brokers A Traversable of Twig_TokenParserBrokerInterface instances
-     */
-    public function __construct($parsers = array(), $brokers = array())
-    {
-        foreach ($parsers as $parser) {
-            if (!$parser instanceof Twig_TokenParserInterface) {
-                throw new LogicException('$parsers must a an array of Twig_TokenParserInterface');
-            }
-            $this->parsers[$parser->getTag()] = $parser;
-        }
-        foreach ($brokers as $broker) {
-            if (!$broker instanceof Twig_TokenParserBrokerInterface) {
-                throw new LogicException('$brokers must a an array of Twig_TokenParserBrokerInterface');
-            }
-            $this->brokers[] = $broker;
-        }
-    }
-
-    /**
-     * Adds a TokenParser.
-     *
-     * @param Twig_TokenParserInterface $parser A Twig_TokenParserInterface instance
-     */
-    public function addTokenParser(Twig_TokenParserInterface $parser)
-    {
-        $this->parsers[$parser->getTag()] = $parser;
-    }
-
-    /**
-     * Removes a TokenParser.
-     *
-     * @param Twig_TokenParserInterface $parser A Twig_TokenParserInterface instance
-     */
-    public function removeTokenParser(Twig_TokenParserInterface $parser)
-    {
-        $name = $parser->getTag();
-        if (isset($this->parsers[$name]) && $parser === $this->parsers[$name]) {
-            unset($this->parsers[$name]);
-        }
-    }
-
-    /**
-     * Adds a TokenParserBroker.
-     *
-     * @param Twig_TokenParserBroker $broker A Twig_TokenParserBroker instance
-     */
-    public function addTokenParserBroker(Twig_TokenParserBroker $broker)
-    {
-        $this->brokers[] = $broker;
-    }
-
-    /**
-     * Removes a TokenParserBroker.
-     *
-     * @param Twig_TokenParserBroker $broker A Twig_TokenParserBroker instance
-     */
-    public function removeTokenParserBroker(Twig_TokenParserBroker $broker)
-    {
-        if (false !== $pos = array_search($broker, $this->brokers)) {
-            unset($this->brokers[$pos]);
-        }
-    }
-
-    /**
-     * Gets a suitable TokenParser for a tag.
-     *
-     * First looks in parsers, then in brokers.
-     *
-     * @param string $tag A tag name
-     *
-     * @return null|Twig_TokenParserInterface A Twig_TokenParserInterface or null if no suitable TokenParser was found
-     */
-    public function getTokenParser($tag)
-    {
-        if (isset($this->parsers[$tag])) {
-            return $this->parsers[$tag];
-        }
-        $broker = end($this->brokers);
-        while (false !== $broker) {
-            $parser = $broker->getTokenParser($tag);
-            if (null !== $parser) {
-                return $parser;
-            }
-            $broker = prev($this->brokers);
-        }
-
-        return null;
-    }
-
-    public function getParsers()
-    {
-        return $this->parsers;
-    }
-
-    public function getParser()
-    {
-        return $this->parser;
-    }
-
-    public function setParser(Twig_ParserInterface $parser)
-    {
-        $this->parser = $parser;
-        foreach ($this->parsers as $tokenParser) {
-            $tokenParser->setParser($parser);
-        }
-        foreach ($this->brokers as $broker) {
-            $broker->setParser($parser);
-        }
-    }
-}
diff --git a/lib/Twig/TokenParserBrokerInterface.php b/lib/Twig/TokenParserBrokerInterface.php
deleted file mode 100644
index 3f006e339bf9224133edddc2612f3ce4d1d9bee7..0000000000000000000000000000000000000000
--- a/lib/Twig/TokenParserBrokerInterface.php
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- * (c) 2010 Arnaud Le Blanc
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface implemented by token parser brokers.
- *
- * Token parser brokers allows to implement custom logic in the process of resolving a token parser for a given tag name.
- *
- * @author Arnaud Le Blanc <arnaud.lb@gmail.com>
- * @deprecated since 1.12 (to be removed in 2.0)
- */
-interface Twig_TokenParserBrokerInterface
-{
-    /**
-     * Gets a TokenParser suitable for a tag.
-     *
-     * @param string $tag A tag name
-     *
-     * @return null|Twig_TokenParserInterface A Twig_TokenParserInterface or null if no suitable TokenParser was found
-     */
-    public function getTokenParser($tag);
-
-    /**
-     * Calls Twig_TokenParserInterface::setParser on all parsers the implementation knows of.
-     *
-     * @param Twig_ParserInterface $parser A Twig_ParserInterface interface
-     */
-    public function setParser(Twig_ParserInterface $parser);
-
-    /**
-     * Gets the Twig_ParserInterface.
-     *
-     * @return null|Twig_ParserInterface A Twig_ParserInterface instance or null
-     */
-    public function getParser();
-}
diff --git a/lib/Twig/TokenParserInterface.php b/lib/Twig/TokenParserInterface.php
deleted file mode 100644
index bbde771410306d90807f25c52325c3d49b99f0a9..0000000000000000000000000000000000000000
--- a/lib/Twig/TokenParserInterface.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2010 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface implemented by token parsers.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-interface Twig_TokenParserInterface
-{
-    /**
-     * Sets the parser associated with this token parser
-     *
-     * @param $parser A Twig_Parser instance
-     */
-    public function setParser(Twig_Parser $parser);
-
-    /**
-     * Parses a token and returns a node.
-     *
-     * @param Twig_Token $token A Twig_Token instance
-     *
-     * @return Twig_NodeInterface A Twig_NodeInterface instance
-     */
-    public function parse(Twig_Token $token);
-
-    /**
-     * Gets the tag name associated with this token parser.
-     *
-     * @return string The tag name
-     */
-    public function getTag();
-}
diff --git a/lib/Twig/TokenStream.php b/lib/Twig/TokenStream.php
deleted file mode 100644
index a78189f667a6045565e32eaad023e140e433b7ee..0000000000000000000000000000000000000000
--- a/lib/Twig/TokenStream.php
+++ /dev/null
@@ -1,144 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a token stream.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_TokenStream
-{
-    protected $tokens;
-    protected $current;
-    protected $filename;
-
-    /**
-     * Constructor.
-     *
-     * @param array  $tokens   An array of tokens
-     * @param string $filename The name of the filename which tokens are associated with
-     */
-    public function __construct(array $tokens, $filename = null)
-    {
-        $this->tokens     = $tokens;
-        $this->current    = 0;
-        $this->filename   = $filename;
-    }
-
-    /**
-     * Returns a string representation of the token stream.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return implode("\n", $this->tokens);
-    }
-
-    public function injectTokens(array $tokens)
-    {
-        $this->tokens = array_merge(array_slice($this->tokens, 0, $this->current), $tokens, array_slice($this->tokens, $this->current));
-    }
-
-    /**
-     * Sets the pointer to the next token and returns the old one.
-     *
-     * @return Twig_Token
-     */
-    public function next()
-    {
-        if (!isset($this->tokens[++$this->current])) {
-            throw new Twig_Error_Syntax('Unexpected end of template', $this->tokens[$this->current - 1]->getLine(), $this->filename);
-        }
-
-        return $this->tokens[$this->current - 1];
-    }
-
-    /**
-     * Tests a token and returns it or throws a syntax error.
-     *
-     * @return Twig_Token
-     */
-    public function expect($type, $value = null, $message = null)
-    {
-        $token = $this->tokens[$this->current];
-        if (!$token->test($type, $value)) {
-            $line = $token->getLine();
-            throw new Twig_Error_Syntax(sprintf('%sUnexpected token "%s" of value "%s" ("%s" expected%s)',
-                $message ? $message.'. ' : '',
-                Twig_Token::typeToEnglish($token->getType(), $line), $token->getValue(),
-                Twig_Token::typeToEnglish($type, $line), $value ? sprintf(' with value "%s"', $value) : ''),
-                $line,
-                $this->filename
-            );
-        }
-        $this->next();
-
-        return $token;
-    }
-
-    /**
-     * Looks at the next token.
-     *
-     * @param integer $number
-     *
-     * @return Twig_Token
-     */
-    public function look($number = 1)
-    {
-        if (!isset($this->tokens[$this->current + $number])) {
-            throw new Twig_Error_Syntax('Unexpected end of template', $this->tokens[$this->current + $number - 1]->getLine(), $this->filename);
-        }
-
-        return $this->tokens[$this->current + $number];
-    }
-
-    /**
-     * Tests the current token
-     *
-     * @return bool
-     */
-    public function test($primary, $secondary = null)
-    {
-        return $this->tokens[$this->current]->test($primary, $secondary);
-    }
-
-    /**
-     * Checks if end of stream was reached
-     *
-     * @return bool
-     */
-    public function isEOF()
-    {
-        return $this->tokens[$this->current]->getType() === Twig_Token::EOF_TYPE;
-    }
-
-    /**
-     * Gets the current token
-     *
-     * @return Twig_Token
-     */
-    public function getCurrent()
-    {
-        return $this->tokens[$this->current];
-    }
-
-    /**
-     * Gets the filename associated with this stream
-     *
-     * @return string
-     */
-    public function getFilename()
-    {
-        return $this->filename;
-    }
-}
diff --git a/pub/index.php b/pub/index.php
index 056fd41c018085d9f2570f5dd5b7f75ba9606bfc..459fa5dc8f6bf76cadb363f1762eabaf460b1b9c 100644
--- a/pub/index.php
+++ b/pub/index.php
@@ -26,7 +26,7 @@
 require __DIR__ . '/../app/bootstrap.php';
 \Magento\Profiler::start('magento');
 $params = $_SERVER;
-$params[\Magento\Core\Model\App::PARAM_APP_URIS][\Magento\Core\Model\Dir::PUB] = '';
+$params[\Magento\Core\Model\App::PARAM_APP_URIS][\Magento\App\Dir::PUB] = '';
 $entryPoint = new \Magento\Core\Model\EntryPoint\Http(new \Magento\Core\Model\Config\Primary(BP, $params));
 $entryPoint->processRequest();
 \Magento\Profiler::stop('magento');
diff --git a/pub/lib/mage/adminhtml/varienLoader.js b/pub/lib/mage/adminhtml/varienLoader.js
index 2da2621990226ddec438673546f9c51e5f71b313..f7385cbdd8b8379d56e2ca04b4215aad744b7b8f 100644
--- a/pub/lib/mage/adminhtml/varienLoader.js
+++ b/pub/lib/mage/adminhtml/varienLoader.js
@@ -197,10 +197,10 @@ varienLoaderHandler.handler = {
         request.options.loaderArea = $$('#html-body .wrapper')[0]; // Blocks all page
 
         if(request && request.options.loaderArea){
-            Element.clonePosition($('loading-mask'), $(request.options.loaderArea), {offsetLeft:-2})
+            //Element.clonePosition($('loading-mask'), $(request.options.loaderArea), {offsetLeft:-2});
             toggleSelectsUnderBlock($('loading-mask'), false);
             Element.show('loading-mask');
-            setLoaderPosition();
+            //setLoaderPosition();
             if(request.options.loaderArea=='html-body'){
                 //Element.show('loading-process');
             }
diff --git a/pub/lib/mage/calendar.js b/pub/lib/mage/calendar.js
index 35ed961d191bd5f05242ba05a3fe7cee96a3ee50..f0a0f06dfce8159bac3062c529f84fbc5722c6e7 100644
--- a/pub/lib/mage/calendar.js
+++ b/pub/lib/mage/calendar.js
@@ -196,10 +196,16 @@
                     to[this._picker()]('option', 'minDate', selectedDate);
                 }, this);
                 $.mage.calendar.prototype._initPicker.call(this, from);
+                from.on('change', $.proxy(function() {
+                    to[this._picker()]('option', 'minDate', from[this._picker()]('getDate'));
+                }, this));
                 this.options.onSelect = $.proxy(function(selectedDate) {
                     from[this._picker()]('option', 'maxDate', selectedDate);
                 }, this);
                 $.mage.calendar.prototype._initPicker.call(this, to);
+                to.on('change', $.proxy(function() {
+                    from[this._picker()]('option', 'maxDate', to[this._picker()]('getDate'));
+                }, this));
             }
         },
 
diff --git a/pub/lib/mage/loader.js b/pub/lib/mage/loader.js
index bec394ad7e627d3e83539eb1d57c3d8351af8d77..01a59b691415e9b9c219db08e206fc124fa32868 100644
--- a/pub/lib/mage/loader.js
+++ b/pub/lib/mage/loader.js
@@ -105,8 +105,7 @@
          */
         _render: function() {
             if (this.spinner.length === 0) {
-                this.spinner = $.tmpl(this.options.template, this.options)
-                    .css(this._getCssObj());
+                this.spinner = $.tmpl(this.options.template, this.options)/*.css(this._getCssObj())*/;
             }
             this.element.prepend(this.spinner);
         },